OS Support Flashcards
Week 2.8 (27 cards)
7 key functions of an OS
- program creation
- program execution
- I/O device management
- file system control
- system access
- error handling
- performance monitoring
what is an OS
fundamental software that manages a computer’s hardware and software resources, allowing users to interact with their devices and applications
what is program creation with OS
utilities like editors and debuggers to assist in software development
what is program execution with OS
manages loading programs into memory, initialising I/O, and allocating resources
what is I/O device management with OS
simplifies interactions by abstracting device-specific commands
what is file system control with OS
handles file organisation, storage and access permissions
what is system access with OS
protects resources from unauthorised access and manages user permissions
what is error handling with OS
detects and responds to hardware/software failures to minimise system disruptions
what is performance monitoring with OS
tracks resource usage and system efficiency for optimisation
what are the 4 types of OS
- early computers
- batch OS
- multiprogrammed batch systems
- time-sharing systems
describe OS in early computers
- no OS
- loaded using toggle switches or card readers
- manual debugging
- issues: setup & scheduling
describe a batch OS
- users submit jobs
- computer operator collects multiple jobs & batches them
- monitor loads & runs jobs 1-by-1 automatically
- processor executes each job sequentially
- job control language tells monitor what program to execute
what were the new hardware features needed in batch OS
- memory protection - preventing user programs from modifying the OS
- timer - ensuring no job monopolises the system
- privileged instructions - certain commands can only be executed by the OS
- interrupts - allow OS to regain control from user programs
describe multiprogrammed batch systems
- allows multiple programs in memory
- when one program waits for I/O, the CPU switches to another
- ^ CPU utilisation
- no multiprogramming = idle resources
- uses I/O interrupts & DMA
- requires memory management
- needs scheduling algorithms
describe time-sharing systems
- allows multiple users to interact with the system simultaneously
- OS rapidly switches between user programs, giving each as short time slice
- users experience fast response times
difference between multiprogrammed batch systems & time-sharing systems
- multiprogrammed batch: CPU switches between jobs only when one is waiting for I/O
- time-sharing: CPU switches ar regular intervals to fairly share time among users
why is scheduling needed
essential for efficient multiprogramming, ensuring resource utilisation
4 types of scheduling
- long-term
- medium-term
- short-term
- I/O scheduling
describe long-term scheduling
- decides which jobs are admitted into the system
- controls the degree of multiprogramming
- BATCH = jobs were queued and prioritised before being admitted to execution
- TIME-SHARING = OS accepts all users until the system reaches saturation
- job becomes a process and moves to the short-term scheduler’s queue
describe medium-term scheduling
- helps control degree of multiprogramming by ensuring efficient memory use
- swapping-out: RAM to disk when memory is full
- swapping-In: brings processes back to RAM when memory becomes available
- important in systems without virtual memory to optimise resource use
describe short-term scheduling
makes frequent decisions on which job to execute next
what are the 5 process states during its lifetime
- new: admitted but not yet ready for execution
- ready: waiting for processor access
- running: actively being executed
- waiting: suspended, waiting for system resource
- halted: process has completed execution
what is a process control block (PCB)
- OS maintains a PCB for each process, storing its state & essential execution info
- new job = OS creates a blank PCB & initialises it before moving the process to the ready state
what three queues does the OS maintain in scheduling
- long-term - jobs waiting to enter the system
- short-term - ready processes competing for CPU time
- I/O - processes waiting for specific output devices