Course Overview
This course explores the design and implementation of modern operating systems, including processes, memory management, file systems, I/O, and concurrency. Students will gain hands-on experience through programming labs using a Linux-based environment.
Meeting Times: Lecture: Tue/Thur 7:00 PM – 8:15 PM | Lab: Wed 7:00 PM – 9:30 PM
Textbook: Operating System: Internals and Design Principles, 9th Edition, William Stallings.
Recommended Textbook(s):
The C Programming Language (ANSI C), 2nd Edition, Brian Kernighan and Dennis Ritchie.
The Linux Programming Interface A Linux and UNIX System Programming Handbook, Michael Kerrisk.
Syllabus & Schedule
Week | Topics | Assignments | Misc |
---|---|---|---|
1 | Introduction to Operating Systems | HW1: Chapter 1 | |
2 | Processes | HW2: Chapter 2 | Fork() |
3 | Process Description and Control | Hw3: Chapter 3 | |
4 | Process Description and Control Continued and Chapter 4 | To Be Announced |
Homework
Homework List
Quizzes
- Quiz 1: Week 1 Review - Sept 4
- Quiz 2: Covering Lab 2 and Chapter 2 Material - Sept 16
Labs
Lab List
- Lab 0: Intro to Odin & Unix Basics
- Lab 1: File I/O & X11 Basics
- Lab 2: Forks() - Due Sept 16 @ 11:59 PM PST
- Lab 3:Coming Soon...
Exams
Midterm: Week 8 (TBD)
Final Exam: Per University Schedule
Course Policies
- Attendance: Regular attendance expected for lectures and labs.
- Late Work: Late submissions penalized unless arranged in advance.
- Academic Integrity: All work must be original. Code sharing prohibited unless specified.