1CSE 120CSE 120Principles of Operating Principles of Operating SystemsSystemsFall 2004Fall 2004Final ReviewFinal ReviewGeoffrey M. VoelkerGeoffrey M. VoelkerDecember 2, 2004 CSE 120 – Final Review 2© 2004 Geoffrey M. VoelkerCourse PlugsCourse Plugsz If you like CSE 120 topics, you might find some other courses interestingz CSE 121: OS Architecture and Implementation Wi05 (Snoeren) OS Implementation using Unix as a case study System projects with experimentationz CSE 123A/B: Computer Networking 123A, Wi05 (Savage) – link layer up to internetworking (IP) 123B, Sp05 (Vahdat) – internetworking up to session/application2December 2, 2004 CSE 120 – Final Review 3© 2004 Geoffrey M. VoelkerCourse Plugs (2)Course Plugs (2)z CSE 125: Software System Design and Implementation Sp05 (Voelker) One project the entire quarter» Distributed, real-time, multiplayer 3D game» It might not seem like it, but it is not really a games course Groups of six, oriented towards graduating seniors See CSE 125 class page on my home page for detailsDecember 2, 2004 CSE 120 – Final Review 4© 2004 Geoffrey M. VoelkerOverviewOverviewz Final mechanics z Memory managementz Pagingz Page replacementz Disk I/Oz File systemsz Advanced topicsz The End3December 2, 2004 CSE 120 – Final Review 5© 2004 Geoffrey M. VoelkerFinal MechanicsFinal Mechanicsz Bulk of the final covers material after midterm Memory management, file systems, advanced topicsz Some material on concurrency, synchronization Synch primitives, synch problemsz Based upon lecture material, homeworks, and project I will use at least one question from this review on the examz Closed book, one 8.5”x11” sheet of notes Yes, just one Sample final on class web sitez Again, please, do not cheat Have had some problems, I would hate to see it on the finalDecember 2, 2004 CSE 120 – Final Review 6© 2004 Geoffrey M. VoelkerMemory ManagementMemory Managementz Why is memory management useful? Why do we have virtual memory if it is so complex?z What are the mechanisms for implementing MM? Physical and virtual addressing Partitioning, paging, and segmentation Page tables, TLBz What are the policies related to MM? Page replacementz What are the overheads related to providing memory management?4December 2, 2004 CSE 120 – Final Review 7© 2004 Geoffrey M. VoelkerVirtualizingVirtualizingMemoryMemoryz What is the difference between a physical and virtual address?z What is the difference between fixed and variable partitioning? How do base and limit registers work?z What is internal fragmentation?z What is external fragmentation?z What is a protection fault?December 2, 2004 CSE 120 – Final Review 8© 2004 Geoffrey M. VoelkerPagingPagingz How is paging different from partitioning?z What are the advantages/disadvantages of paging?z What are page tables?z What are page table entries (PTE)?z Know these terms Virtual page number (VPN), page frame number (PFN), offsetz Know how to break down virtual addresses into page numbers, offsetz How have you implemented paging in Nachos?5December 2, 2004 CSE 120 – Final Review 9© 2004 Geoffrey M. VoelkerPage Table EntriesPage Table Entriesz What is a page table entry? In Nachos?z What are all of the PTE bits used for? Modify Reference Valid ProtectionDecember 2, 2004 CSE 120 – Final Review 10© 2004 Geoffrey M. VoelkerSegmentationSegmentationz What is segmentation?z How does it compare/contrast with paging?z What are its advantages/disadvantages with respect to partitioning, paging?z What is a segment table?z How can paging and segmentation be combined?6December 2, 2004 CSE 120 – Final Review 11© 2004 Geoffrey M. VoelkerPage TablesPage Tablesz Page tables introduce overhead Space for storing them Time to use them for translationz What techniques can be used to reduce their overhead?z How do two-level (multi-level) page tables work?December 2, 2004 CSE 120 – Final Review 12© 2004 Geoffrey M. VoelkerTLBsTLBsz What problem does the TLB solve?z How do TLBs work?z Why are TLBs effective?z How are TLBs managed? What happens on a TLB miss fault?z What is the difference between a hardware and software managed TLB?7December 2, 2004 CSE 120 – Final Review 13© 2004 Geoffrey M. VoelkerPage FaultsPage Faultsz What is a page fault?z How is it used to implement demand paged virtual memory?z What is the complete sequence of steps, from a TLB miss to paging in from disk, for translating a virtual address to a physical address? What is done in hardware, what is done in software?December 2, 2004 CSE 120 – Final Review 14© 2004 Geoffrey M. VoelkerAdvanced Advanced MemMemManagementManagementz What is shared memory?z What is copy on write?z What are memory mapped files?8December 2, 2004 CSE 120 – Final Review 15© 2004 Geoffrey M. VoelkerPage ReplacementPage Replacementz What is the purpose of the page replacement algorithm?z What application behavior does page replacement try to exploit?z When is the page replacement algorithm used?z Understand Belady’s (optimal), FIFO, LRU, Approximate LRU, LRU Clock, Working Set, Page Fault Frequencyz What is thrashing? December 2, 2004 CSE 120 – Final Review 16© 2004 Geoffrey M. VoelkerDiskDiskz Understand the memory hierarchy concept, localityz Physical disk structure Platters, surfaces, tracks, sectors, cylinders, arms, headsz Disk interface How does the OS make requests to the disk?z Disk performance What steps determine disk request performance? What are seek, rotation, transfer?9December 2, 2004 CSE 120 – Final Review 17© 2004 Geoffrey M. VoelkerDisk SchedulingDisk Schedulingz How can disk scheduling improve performance?z What are the issues in disk scheduling? Response time, throughput, fairnessz Review FCFS, SSTF, SCAN, C-SCANDecember 2, 2004 CSE 120 – Final Review 18© 2004 Geoffrey M. VoelkerFile SystemsFile Systemsz Topics Files Directories Sharing Protection Layouts Buffer Cachez What is a file system?z Why are file systems useful (why do we have them)?10December 2, 2004 CSE 120 – Final Review 19© 2004 Geoffrey M. VoelkerFiles and DirectoriesFiles and Directoriesz What is a file? What operations are supported? What characteristics do they have? What are file access methods?z What is a directory? What are they used for? How are the implemented? What is a directory entry?z How are directories used to do path name
View Full Document