100 likes | 246 Views
Final Exam. Dec 10. Monday. 4-7pm. Phelp 1160 Similar to midterm The exam is closed book. You can bring 2 page of notes (double sided) Nachos source code. Study: Focus on slides. Read text book. Practice exercises. Chapters 1 and 2: OS Structures. Chapter 1: Introduction
E N D
Final Exam • Dec 10. Monday. 4-7pm. Phelp 1160 • Similar to midterm • The exam is closed book. You can bring • 2 page of notes (double sided) • Nachos source code. • Study: • Focus on slides. Read text book. • Practice exercises.
Chapters 1 and 2: OS Structures • Chapter 1: Introduction • speed and capacity ranges of CPU register, cache, memory, disk hard drive, and solid state drive • Multiprogramming, time sharing • Role of operating systems in CPU/process, memory, storage management. Security. • Chapter 2: OS structure • Layers of OS • Role and types of system calls. Kernel vs. user mode • OS design principles • Monolithic OS vs. microkernel • Virtual machine architecture
Process/Threads • Chapter 3: Processes • Components of process • Process states, Process control block, and context switch. • Process communication: basic methods • System calls in Unix: fork/wait/exec. • Chapter 4: Threads • Benefits of threads. Difference between processes and threads • Typical functionality in a thread package (Nachos, Pthreads) • Kernel threads vs. user-level threads
Chapter 5: CPU Scheduling • Algorithms of CPU scheduling, which maximizes CPU utilization obtained with multiprogramming • FCFS, SJF, RR, Priority, Multi-queue scheduling. • Performance evaluation criteria
Chapter 6: Synchronization • Race conditions and critical sections • Property of critical section solution: mutual exclusion, progress, bounded waiting • Locks, semaphores, and condition variables. • Implementation with atomic instructions • Applications: Producer/consumer, Laundromat, malloc, barrier, readers/writers
Chapter 7: Memory Management for Program Execution • Logical address vs. physical address • Approaches • Contiguous memory allocation: concept/methods • Paging management and TLB with performance analysis • Internal and external fragmentation. • Implementation of paging: • hierarchical paging methods • Others: hash-based
Chapter 8: Virtual Memory • How to do • demand paging • page-replacement. FIFO, second-chance. • Performance • Copy-on-write. Memory mapped files
Chapter 9/10: File Systems • File system interface • File Access Methods: Sequential/random • System Calls: Open/Read/write etc • Directory Structure • File-System implementation • File-system structure • Directory/i-node: Linked, Indexed. • Allocation of Disk Space
Chapter 11: Mass Storage Systems • Concepts • Hard Disk Drive • SSD • Hybrid Disk • Performance characteristics • Disk Scheduling: FCFS, SSTF, SCAN, C-SCAN etc. • RAID 0, 1, and 5.
Final problems (Tentative) • Process/threads. 2. CPU scheduling algorithms. 3. Virtual memory and paging. Page fault handling, performance. Nachos. 4. File system implementation and index structure. Nachos. 5. Mass-storage performance, disk scheduling. RAID 6. Synchronization implementation and application