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

Processes

Threads

Interprocess Communication

Scheduling

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!

Segmentation


4. File Systems *

Chapter details

Files

Directories

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

Disks
Not covered Spring 2017!

Clocks
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

Resources

Introduction to Deadlocks

The Ostrich Algorithm

Deadlock Detection and Recovery

Deadlock Avoidance

Deadlock Prevention

Other Issues


7. Virtualization and the Cloud *

Chapter details

History

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!

Clouds

Case Study: VMWare


8. Multiple Processor Systems

Chapter details

Multiprocessors

Multicomputers

Distributed Systems


9. Security

Chapter details

The Security Environment

Operating Systems Security

Controlling Access to Resources

Formal Models of Secure Systems

Basics of Cryptography

Authentication

Exploiting Software

Insider Attacks

Malware

Defenses


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

Android


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

Implementation

Performance

Project Management

Trends in Operating System Design


Assignments

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

Other Material