Review of materials after the midterm: Virtual Memory Management (major topic) . Chapter 8, section 8.1, 8.2, 8.3, 8.5, 8.6 (particularly 8.6.1 and 8.6.2); . Chapter 9, all sections except section 9.9; . For review purposes, perhaps it is best to go through the notes for Lecture 17 "Page Faults: Putting It Together" and Lecture 18 "Details on Page Fault Processing", and make sure you understand all the steps involved and the design choices for each step; . Important concepts: - virtual memory address, demand paging, page translation, TLB; - page tables, multi-level page tables; - page replacement algorithms; - thrashing; - working-set; - swap space on disk; - segments; . Page replacement mechanics: - approximation to the LRU page replacement algorithm --- using reference bits; the CLOCK algorithm; - three lists of physical pages: page list (also called active page list), free list (also called free pool), and dirty list (also called swap-out list). - page replacement is triggered when the number of pages on the free list drops below certain threshold. The page replacement daemon selects a page from the page list, and puts it to the free list if it is clean, and puts it to the dirty list if it is dirty; There is another process that continuously write out pages on the dirty list. Once a dirty page has been written back to disk, it is put to the free list; - "reclaiming" pages from the free list; . Thrashing and Multi-program load control: - what is thrashing; what causes it; - what can be done about thrashing; - working set; the working-set algorithm for multi-program load control; File System (major topic) . Chapter 10 (all sections), Chapter 11 (all sections); Chapter 13, section 13.1, 13.2, 13.3. Section 13.4 through 13.6 are not required, but you should read them anyhow. . Chapter 12, except section 12.5, 12.6. . File attributes; in particular, usage of last-modifed time and ACL; . MS-DOS FAT file system implementation; . Disk access characteristics and disk scheduling; . UNIX file system implementation, I-node organizations; - implementation of all file system calls, learnt from Project5; . Impact of disk access characteristics on file system design (see lecture 23); . I/O devices: chapter 12. - the polling approach and the interrupt approach of dealing with I/O devices; - DMA: what it is, how it works, why it is used, and what hardware are involved; . Chapter 14 is NOT required; Distributed Systems (minor topic) . Chapter 16, section 15.5.1 and 15.6 of Chapter 15, Chapter 17 except section 17.4, 17.5 and 17.6. . Rest of Chapter 15 and the whole Chapter 18 are not required; . Main concepts: - inter-process message passing on the same machine; using message passing to implement synchronization; - RPC (remote procedure call); - message passing in a distributed system: . four layers of network protocols (link layer, IP, TCP/UDP, application layer); . Internet address (IP address) and port numbers; . DNS (Domain Name Servers); . the socket interface: creat, listen, bind, connect, read and write; - distributed file systems: . file servers; . the interaction between clients and file servers; . caching in distributed file systems; . cache consistency in distributed file systems; Protection and Security (minor topic) . Chapter 19, except 19.6 and 19.7. Chapter 20, except 20.6, 20.7, 20.8 and 20.9. . Main concepts: - protection domain; examples of protection domains; - access permission matrix; - different implementations of access permission matrix: ACL and capability list;