1/21
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Why do we need an Operating System?
Acts as an interface between the user and hardware, manages resources, and allows software to run efficiently and securely
Six main function categories of an OS
Resource management, file management, interrupt handling, security, user interface, and system utilities
OS memory management for multitasking
Allocates RAM to programs, schedules CPU time, and manages data transfer to and from storage
Interrupt Handling
OS process that pauses a running program to respond to urgent events such as hardware faults or user input
OS security features
User accounts and passwords, access permissions, firewalls, antivirus software, and file encryption
Memory Management
Allocates and deallocates RAM, enables multitasking, and prevents programs accessing each other’s memory
Paging vs Segmentation
Paging uses fixed-size blocks causing internal fragmentation, while segmentation uses variable-size blocks causing external fragmentation
Virtual Memory
Uses secondary storage as extra RAM, allowing more programs to run but with slower performance than physical RAM
Round Robin scheduling
Preemptive scheduling using time slices where processes cycle through a queue fairly without priority
First-Come-First-Served scheduling
Non-preemptive scheduling where processes run in arrival order, risking the convoy effect
Multi-Level Feedback Queue
Preemptive scheduling with multiple priority queues where long-running processes move to lower priorities
SJF vs SRTF
SJF is non-preemptive and selects the shortest job, while SRTF is preemptive and selects the shortest remaining time
BIOS
Firmware that performs POST and loads the operating system during boot
Device Driver
Software that allows the OS to communicate with hardware using device-specific instructions
Virtual Machine
Software emulation of a computer system allowing multiple operating systems to run on one physical machine
Application vs Utility Software
Application software performs user tasks, while utility software maintains and manages the system
Open Source vs Closed Source
Open source code is publicly available and modifiable, while closed source code is private
Types of Translators
Interpreters execute line by line, compilers translate whole programs, and assemblers convert assembly to machine code
Interpreter vs Compiler
Interpreters are slower but easier to debug, while compilers are faster and produce standalone executables
Stages of Compilation
Lexical analysis, syntax analysis, code generation, and optimisation
Static vs Dynamic Linking
Static linking combines libraries at compile time, while dynamic linking links libraries at runtime
Linker vs Loader
The linker creates the executable, while the loader loads it into RAM for execution