CISC 3320    Test 1 Review Sheet


1.  CPU protection, memory protection, I/O protection.


2. Interrupts: Know what an interrupt is and know about interrupt processing, especially as implemented on the PC, including IRQ, interrupt vector, how the OS accomplishes transfer to and from the interrupt handler, what the interrupt handler does. Also: interrupt priorities, how and why interrupts may be disabled/enabled, what happens with multiple interrupts.


3. Processes and Threads: Know what a process is. Process control block. Process states, and how and when a process moves from one state to another.  I/O bound vs CPU bound jobs. Long term scheduling. Threads: what a thread js and how it is different from a heavyweight process. Kernel level vs. user-level threads, advantages and disadvantages.


4. CPU Scheduling (short‑term scheduling): Scheduling criteria (CPU utilization, throughput, turnaround time, waiting time, dilation, response time). Be able to calculate turnaround time, waiting time, and dilation for a sequence of jobs. CPU burst‑I/O burst. Scheduling algorithms: FCFS, SJN (SJF), Round Robin, Shortest remaining time next, priority queues, multi-level queues, multi-level feedback queues. Be able to draw a Gantt diagram for a series of jobs. Be able to explain the difference between preemptive and non‑preemptive scheduling algorithms, and–given a scenario of jobs–explain which would run next. Time quantum and how to choose. Problems with various scheduling algorithms. When each algorithm is best.


5. Memory Management: swapping, "uniprogramming", fence register, MFP, MVP, simple paging, segmentation. Contiguous vs non-contiguous allocation. Implementation of each system: what is necessary to keep track of each job (tables, etc.), memory protection.

              MFP: how jobs are assigned to partitions.

              MVP: implementation of free space tables for First Fit, Best Fit, Worst Fit algorithms under MVP. How jobs are assigned to partitions. What happens to Free Space table when a job finishes. Fragmentation (external and internal, how much, where). Coälescing holes.

              Paging: Page Map Table, PMTAR (PTBR), dynamic address translation. Access time. TLB. Associative memory. Hit ratio. Effective access time. Shared pages, reentrant code.

              Segmentation: implementation with tables and with segment registers (PC). Protection. Problems with segmentation (space allocation, fragmentation). Paged segmentation as a solution: implementation.