CMPT 300: Operating Systems Review THIS REIVEW SHOULD NOT BE USED AS PREDICTORS OF THE ACTUAL QUESTIONS APPEARING ON THE FINAL EXAM.
2 What Will Be in The Final Exam? Concepts & Definitions E.g., working set, aging Conditions & Assumptions E.g., conditions of deadlocks? Pros & Cons E.g., contiguous allocation Vs. linked list Events E.g., interrupt, page fault Algorithms E.g., Peterson’s solution, scheduling algorithms Data structures E.g., page table, process table
3 How to Go Over the Materials? Read text book and lecture notes Reading lecture notes only may not be enough Understand the concepts and definitions Keep thinking Relation between concepts E.g., DMA Vs. paging Why does an algorithm work here? Extensions and implications of principles E.g., strict alternation, Peterson’s solution
4 Ch01: Overview of OS OS structures Hardware CPU, memory, disk, bus, DMA Basic concepts Process (thread), deadlock, I/O, file system Sections not covered in the final exam 1.2. History of operating systems 1.3. The operating system zoo
5 Ch02: Processes And Threads Processes Differences with programs? States and transitions Process table Fork() Threads Differences with processes? Pros & Cons? Kernel space Vs. user space implementation Typical applications ( I/O and CPU mixed task)
6 Ch02 (Cont.) Inter-process communication Race condition Critical region & Mutual exclusion Busy waiting Disable interrupts, lock variables, strict alternation, Peterson’s solution Sleep & wakeup calls, mutexes, semaphores, monitors, message passing Classical IPC problems How to apply mechanisms to solve problems?
7 Ch02 (Cont.) Scheduling Preemptive Vs. non-preemptive Benchmarks: turnaround time, throughput, response time FCFS, SJF, RR, MQ, etc Three-level scheduling Sections not covered in exam 2.5.4: real-time scheduling policy Vs. mechanism
8 Ch03: Deadlocks Conditions for deadlock Solutions for deadlock problem Ostrich algorithm Detection and recovery Avoidance Prevention Other issues Two-phase locking Starvation
9 Ch04: Memory Management Basic management Fixed partitions (single queue Vs. multiple queues) Degree of multi-programming Relocation and protection (base & limit registers) Bitmaps Vs. linked list Swapping Scenario: memory not enough External fragmentation (memory compaction) Virtual memory Paging: pages Vs. page frames, page faults MMU, TLB, page table, page table entry
10 Ch04 (Cont.) Page replacement algorithms NRU, FIFO, second chance, clock, LRU, NFU, aging Working set, WSClock algorithm Assumptions, relations Modeling Belady’s anomaly Stack algorithm Design issues Global Vs. local, page sizes, shared pages, copy- on-write
11 Ch04 (Cont.) Implementation Page fault handling, backing stores Segmentation Advantages Pure segmentation Vs. segmentation with paging Sections not covered in final exam 4.6.7, 4.7.3, 4.7.6, 4.8.3
12 Ch05: I/O Principles of I/O hardware Device controllers Memory-mapped I/O Vs. I/O port number DMA Vs. Interrupt Principles of I/O software Goals Three approaches I/O software layers Four layers Functions and relationship
13 Ch05 (Cont.) Disks Structure, format, layout Disk arm scheduling algorithms RAID Stable storage Clocks Basic work principle Sections not covered in the final exam In 5.4, CD-ROM, CD-R, DVD, , 5.5.3,
14 Ch06: File Systems Files Attributes, operations Memory-mapped files Directories Hierarchical directory Path name
15 Ch06 (Cont.) Implementations Files: contiguous Vs. linked list, i-nodes Directories: directory entry, long file name Shared files Disk space management Free list Vs. bitmap Reliability Backup: full dump Vs. incremental dump Consistency check: block Vs. directory check
16 Ch06 (Cont.) Performance Caching, block read ahead, reducing disk arm motion Sections not covered in final exam 6.3.8: log-structured file systems