CPSC 313 -- Introduction to Computer Systems: Slides

CPSC 313 -- Introduction to Computer Systems: Slides


Slides

This page gives you access to copies of the slides used in class.

This table lists all the slides used in class. Check the homework and the projects pages for additional handouts.

Week/Topic Slides
Introduction to Operating Systems
slides
What is an OS?
Architecture Support for OS
System Calls
OS Structures
Programs, Processes, Threads
slides
Programs and Processes
Processes in UNIX
Intro to Threads and Light-weight Processes
Intro to Scheduling
slides
Schedulers in the OS
Structures of Schedulers
FIFO/SPF/SRTF/Priority Schedulers
POSIX Threads
slides
Why Threads?
Pthread Management
Pthread Safety
Pthread Attributes
Synchronization
slides
Mutual Exclusion
Semaphores
Producer/Consumer and other classical Problems
Monitors
Synchronization in Java
Synchronization in POSIX Threads
  • Mutex Locks
  • Condition Variables
  • Read-Write Locks
  • Interlude: priority inheritance
UNIX I/O
slides
File Representation
Basic File Operations
Caching: File Open/Close
Multiplexing: select()
File Descriptors
Files and Directories
slides
File Systems and Directories
UNIX inodes
Accessing Directories
Understanding Links in Directories
UNIX Special Files
slides
Pipes
Named Pipes
Special Files and Devices
POSIX IPC
slides
It's all about naming!
Message Queues
Shared Memory
Semaphore Sets
Asynchronous Events: Signals
slides
Signal Concepts
Generating and Catching Signals
Waiting for Signals
Signals and Program Start-up
Signal Handling and Threads
Time and Timers
slides
The 'Epoch'
The Current Time
Sleeping and Waiting
Timers
Network Programming:
slides
Network Programming as Programming across Machine Boundaries
The Sockets API
Server Design
Security
slides
Security Goals
Authentication
Authorization
Confidentiality
Case Studies
Passwords slides
System Programming in Windows
slides
Naming
Processes, Jobs, Threads
User-Level Synchronization
Kernel-Level Synchronization


Riccardo Bettati