Modern Operating Systems

"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie

* indicates chapter will be covered in Spring 2017 CS-6233

1. Introduction *

Chapter details

What Is an Operating System?

History of Operating Systems

Computer Hardware Review

The Operating Systems Zoo

Operating Systems Concepts

System Calls

Operating System Structure

The World According to C

2. Processes and Threads *

Chapter details



Interprocess Communication


Classic IPC Problems

Research on Processes and Threads

3. Memory Management *

Chapter details

No Memory Abstraction

Address Spaces

Virtual Memory

Page Replacement Algorithms

Design Issues for Paging Systems
Not covered Spring 2017!

Implementation Issues
Not covered Spring 2017!


4. File Systems *

Chapter details



File-System Implementation

File-System Management and Optimization

Example File Systems
Not covered Spring 2017!

5. Input/Output *

Chapter details

Principles of I/O Hardware

Principles of I/O Software

I/O Software Layers

Not covered Spring 2017!

Not covered Spring 2017!

User Interfaces: Keyboard
Not covered Spring 2017!

Thin Clients
Not covered Spring 2017!

Power Management
Not covered Spring 2017!

6. Deadlocks

Chapter details


Introduction to Deadlocks

The Ostrich Algorithm

Deadlock Detection and Recovery

Deadlock Avoidance

Deadlock Prevention

Other Issues

7. Virtualization and the Cloud *

Chapter details


Requirements for Virtualization

Type I and Type II Hypervisors

Techniques for Efficient Virtualization

Are Hypervisors Microkernels Done Right?

Memory Virtualization

I/O Virtualization

Virtual Appliances

Virtual Machines on Multicore CPUs
Not covered Spring 2017!

Licensing Issues
Not covered Spring 2017!


Case Study: VMWare

8. Multiple Processor Systems

Chapter details



Distributed Systems

9. Security

Chapter details

The Security Environment

Operating Systems Security

Controlling Access to Resources

Formal Models of Secure Systems

Basics of Cryptography


Exploiting Software

Insider Attacks



10. Case Study I: UNIX, Linux, and Android

Chapter details

History of UNIX and Linux

Overview of Linux

Processes in Linux

Memory Management in Linux

Input/Output in Linux

The Linux File System

Security in Linux


11. Case Study II: Windows 8

Chapter details

History of Windows Through 8.1

Programming Windows

System Structure

Processes and Threads in Windows

Memory Management

Caching in Windows

Input/Output in Windows

The Windows NT File System

Windows Power Management

Security in Windows 8

12. Operating System Design

Chapter details

The Nature of the Design Problem

Interface Design



Project Management

Trends in Operating System Design


  1. Assignment 1: due 1/31/17
  2. Assignment 2: due 2/15/17
  3. Assignment 3: due 2/22/17

Other Material