CENG 521

Advanced Operating Systems

Students will study advanced operating system topics and be exposed to recent developments in operating systems research. This course involves readings and lectures on classic and recent papers. Topics: virtual memory management, synchronization and communication, file systems, protection and security, operating system structure and extension techniques, fault tolerance, and history and experience of systems programming.

Course Objectives

To teach the fundamentals topics and theorems of computer science. To teach the research, analyze, compare and modeling techniques of computer science. To teach the hot topic concepts, research areas and problems of computer science.

Recommended or Required Reading

Yee, Sehr, Dardyk, Chen, Muth, Ormandy, Okasaka, Narula, Fullagar / Ben Hawkes, Native Client: A Sandbox for Portable, Untrusted x86 Native Code Exploiting Native Client ,Dersin belirlenmiş bir kitabı yoktur. Öğrencilerin verilen sırada makale/bildirileri okuyarak derse gelmeleri beklenir. ,Richard Gabriel, The Rise of “Worse is Better” ,Savage, Burrows, Nelson, Sobalvarro, and Anderson, Eraser: A Dynamic Data Race Detector for Multithreaded Programs ,Butler Lampson,Experience with Processes and Monitors in Mesa ,Hans-J. Boehm,Threads cannot be implemented as a library ,Ousterhout, von Behren, and Adya, Cooperative Task Management without Manual Stack Management, Why Threads Are A Bad Idea, Why Events Are A Bad Idea ,Navarro, Iyer, Druschel, and Cox, Practical, Transparent, Operating System Support for Superpages ,Waldspurger,Memory Resource Management in VMware ESX Server ,Rinard, Cadar, Dumitran, Roy, Leu, Beebee, Enhancing Server Availability and Security Through Failure-Oblivious Computing ,Adams and Agesen, A Comparison of Software and Hardware Techniques for x86 Virtualization ,Rosenblum and Ousterhout, The Design and Implementation of a Log-Structured File System ,Nightingale, Veeraraghavan, Chen, Flinn, Rethink the Sync (slides) ,Mogul and Ramakrishnan, Eliminating Receive Livelock in an Interrupt-Driven Kernel ,Sandberg et al. / Gray and Cheriton, Design and Implementation of the SUN Network Filesystem Leases: An Efficient Fault-Tolerant Mechanism for Distributed File Cache Consistency ,Muthitacharoen, Chen, and Mazieres, A Low-Bandwidth Network File System ,Dean and Ghemawat / DeWitt and Stonebraker, MapReduce: Simplified Data Processing on Large Clusters MapReduce: A major step backwards ,Bessey, Block, Chelf, Chou, Fulton, Hallem, Henri-Gros, Kamsky, McPeak, A Few Billion Lines of Code Later: Using Static Analysis to Find Bugs in the Real World.

Learning Outcomes

1. The analyzing and modelling capability of the changing and the new requirments of the operating systems which are coming with technological improvements.

2. Defining and modelling capability of computer science hot topic research problems.

3. To have the estimate and plan capability for the future studies and research areas on computer science.

4. To be able to analyze and compare the architectural design of new operating systems.

Topics
The Rise of “Worse is Better”
Eraser: A Dynamic Data Race Detector for Multithreaded Programs
Experience with Processes and Monitors in Mesa
Threads cannot be implemented as a library
Cooperative Task Management without Manual Stack Management
Practical, Transparent, Operating System Support for Superpages
Memory Resource Management in VMware ESX Server
Enhancing Server Availability and Security Through Failure-Oblivious Computing
A Comparison of Software and Hardware Techniques for x86 Virtualization
The Design and Implementation of a Log-Structured File System
Rethink the Sync (slides)
Eliminating Receive Livelock in an Interrupt-Driven Kernel
An Efficient Fault-Tolerant Mechanism for Distributed File Cache Consistency
A Low-Bandwidth Network File System

Grading

Midterm: 30%

Application: 40%

Final: 30%