CS 416 Documents

This page contains links to lecture note, in-class lecture slides, and related reading material. Most of the lecture slides are in Adobe PDF format. If you don't have a pdf reader for your platform, you can get one for free for Windows, Android, Symbian, and Linux. You don't need one for the Mac since Preview can render pdf files.

Many of these notes were written in the early morning hours and are likely to contain an occasional error or unclear phrasing. Any corrections will be most appreciated.

Lecture notes

Week Title
Week 1. A history of computing and operating systems: lecture notes
  Intro lecture slides (6 per page)
  How operating systems boot: lecture notes
  Boot: lecture slides (6 per page)
  Concepts of Operating Systems: lecture notes
  Concepts lecture slides (6 per page)
Week 2. Processes: lecture notes
  Processes: lecture slides (6 per page)
  Threads: lecture notes
  Threads: lecture slides (6 per page)
Week 3. Synchronization: lecture notes
  Synchronization lecture slides (6 per page)
Week 4. Scheduling: lecture notes
  Scheduling: lecture slides (6 per page)
  Real-time scheduling: lecture notes
  Real-time scheduling: lecture slides (6 per page)
Week 5. Memory management: lecture notes
  Memory management lecture slides (6 per page)
Week 6. Paging: lecture notes
  Paging: lecture slides (6 per page)
Week 7. Device drivers: lecture notes
  Devices: lecture slides (6 per page)
Week 9. File systems: lecture notes
  File systems: lecture slides (6 per page)
  File systems case studies: lecture notes
  File system implementation: lecture slides (6 per page)
  Special devices and file systems: lecture notes
  Special devices and file systems: lecture slides (6 per page)
Week 10 Client-server networking: lecture notes
  Client-server networking: lecture slides (6 per page)
Week 11 Sockets: lecture notes
  Sockets: lecture slides (6 per page)
Week 12 Remote Procedure Calls: lecture notes
  Remote Procedure Calls: lecture slides (6 per page)
Week 12 Network file systems: lecture notes
  Network file systems: lecture slides (6 per page)
Week 12 Protection: lecture slides (6 per page)
Week 12, 13 Security: lecture notes
  Security: lecture slides (6 per page)
Week 13 Cryptography: lecture slides (6 per page)
  Authentication: lecture slides (6 per page)
Week 14 Virtualization: lecture slides (6 per page)
Week 15 Windowing: lecture slides (6 per page)
Week 15 Power management: lecture slides (6 per page)

Recitation notes

Title
C/UNIX programming HOWTOs

Study guides

Title
Exam 1 study guide
Exam 2 study guide
Exam 3 study guide

Supplemental notes

Title
Linux kernel coding style, Linux Kernel Documentation
Notes on Programming in C, Rob Pike:
This discusses style and is somewhat applicable to java programmers as well — food for thought more than concrete rules.
C Programming Style, Paul Krzyzanowski
Internetworking Basics (from Cisco)
PDF version of Cisco's Internetworking Basics
RFC 1498: naming and binding of network destinations
MEC Super-UX User's Guide: chapter 6: RPCGEN
Fundamentals fo RMI: Short Course by JGuru
RMI tutorials and info from Sun
Securing JAVA, G. McGraw, E. Felton, Wiley & Sons, pub