System Software
How the operating system shares one processor between many programs, and manages memory.
Match each job to the part of the operating system that does it.
PICK ONE, THEN PICK ITS GROUP
- empty
- empty
- empty
- empty
- empty
- Click the stages below in the order they happen.
//Process states
A process is RUNNING (using the CPU), READY (able to run, waiting its turn) or BLOCKED (waiting for something such as input). It moves running → ready when its time slice expires, running → blocked when it asks for I/O, and blocked → ready when the I/O finishes.
//Scheduling algorithms
Round robin: each process gets a fixed time slice in turn — fair, simple, and nothing starves. First come first served: run in arrival order — simple but a long job blocks everyone. Shortest job first: best average waiting time, but long jobs may never run. Shortest remaining time: pre-emptive version of the same idea.
//Paging, segmentation and thrashing
Paging splits memory into equal fixed-size pages; segmentation splits it into variable-size logical parts such as a whole procedure. Virtual memory moves pages between RAM and disk so more can run than fits. If too little RAM is available, the OS spends most of its time swapping pages in and out rather than doing work — that is disk thrashing, and the machine slows to a crawl.
CHECK YOURSELF
1.A process asks to read from disk. Which state does it move to?
2.Which scheduling algorithm guarantees that no process is starved?
3.What is disk thrashing?