This note mainly covers writing multi-threaded programs and implementing synchronization primitives with low-level hardware.

These topics are covered in the first half of the course.

Lecture 1

Role of OS

OS is a software layer between application programs and the hardware:

OS allows:

OS provides abstractions:

In reality, OS is the main program that calls applications as subroutines. Applications run until it returns control back to the OS.

History of OS

Single operator at console

image.png

It is interactive but utilizes hardware very poorly.

Batch processing