taught by Dr. Ken Williams
This course centers on operating systems for multi-processing environments: concurrent processes, mutual exclusion, job scheduling, memory, storage hierarchy, file systems, security, and distributed processing. Students will implement and modify a simple Unix operating system.
Notes
Overview of Operating Systems
PDF format
Historical Development of Operating Systems
PDF format
Overview of Computer Hardware
PDF format
Operating System Structure
PDF format
Processes
PDF format
Threads
PDF format
Deadlock
PDF format
Mutual Exclusion
PDF format
Concurrent Programming Constructs
PDF format
Concurrent Programming Solutions
PDF format
Shell
PDF format
Scheduling
PDF format
System Performance
PDF format
Slides on System Performance
PDF format
Queuing Theory
PDF format
Slides on Queuing Theory
PDF format
Virtual Memory
PDF format
More on Virtual Memory
PDF format
Virtual Memory Address Translation
Nice explanation
of Virtual Memory More on Virtual Memory
File Systems
PDF format
I/O Hardware
PDF format
I/O Management
PDF format
Distributed File systems
PDF format
Slides on Security
PDF format
Object Security
PDF format
Security overview
System Tuning
Performance Analysis Example
Network Layers
Examples of concurrent programming
Producer/Consumer using POSIX threads Producer/Consumer using Java threads
Java implementation of semaphores
makemem source simple semaphore source simple semaphore.h
random number generator source random number.h
Utilities for Minix
Instructions for installing Minix.
mtools allows you to read and write DOS formatted diskettes from Minix. Documentation is available for installing mtools.
Sun Documentation on Java classes
last updated November 16, 2004