This course serves as the introduction to operating systems concepts, such as process management, synchronization, system calls, memory management, file systems, kernels, and drivers.
This website is subject to change as more content is added. Check it often!
zyBook Readings - ZyBook "participation" activities and readings are due one week after they are assigned. There are roughly 20 subsections of readings to complete. If you don’t finish by the time they are due, I will give you half credit for late completed sections before the final. End of section exercises are not required.
Topics/Notes - Any class notes will be linked here. If you miss a class, screencasts are provided through eLearning. (Note - screencasts are only meant as note suppliments. You may miss things written on the board or in-class activities/bonus points.)
Suggested Exercises - Homework over lecture materials will consist of short-answer questions, essays, or problems. The purpose of these exercises is to prepare you for exams. They will not be graded, but you can and should treat them as part of your study guide for the exams. You are strongly encouraged to write out answers to the homework after the corresponding lecture, and we will review the answers to the questions before each exam.
Date | zyBook Readings | Session Links and Announcements | Exercises and Projects |
1/13 |
Section 1.1 (due in one week) Get textbook (instructions) |
Session One - Introduction and History | Watch short video 1, video 2, video 3 before next time. (Video ppt notes) |
1/15 | Lab 0 Work Day | Lab 0 (do this first) -- due in class on 1/22, can be done in partners Project 0 (do this second) -- due on 1/23 at 11:59pm on eLearning, must be done individually - Solution walkthrough |
|
1/17 | Lab 0 Work Day | Extra Credit - Want more of a challenge? | |
1/20 | No Class | No Class | |
1/22 | Section 2.1 (due in one week) |
Session Two - Boot Process | Suggested Exercise #1 [Sessions 1-2] (Be sure you can do these for the exam!) |
1/24 | Section 3.1 (due in one week) |
Session Three - Basics of Processes and Threads | |
1/27 | Session Four [programming] - Shell Parsing and Exec example shell - copy this executable to the Linux server and run it to see how the shell should work (Note: issue the command 'chmod a+x shell' on the file before trying to run it.) |
Project 1 Specification Project 1 Partners must be picked by next class period - send me an email with both your names (or just your name if you intend to work alone) |
|
1/29 | Work Day: Bring questions about Project 1 | Suggested Exercise #2 [Sessions 3-5] (Be sure you can do these for the exam!) |
|
1/31 | Sections 4.1-4.2 (due in one week) |
Session Five - CPU Scheduling | |
2/3 | Section 5.1 (due in one week) |
Session Six - Cooperating Threads and Synchronization Too Much Milk presentation |
|
2/5 | Session Seven [programming] - cd command and shell variables | Project 1 First Half Due (submit on eLearning by 11:59:59pm) | |
2/7 | Session Eight - Implementing Mutual Exclusion | Suggested Exercise #3 [Session 6-10] |
|
2/10 | Sections 5.2-5.3 (due in one week) |
Session Nine - Semaphores and Bounded Buffer | |
2/12 | Session Ten - More on Semaphores Work Day and Answer Project Questions |
||
2/14 |
Suggested Exercise Review #1 Suggested Exercise Review #2 |
Project 1 due at 11:59:59pm | |
2/17 | Suggested Exercise Review #3 |
||
2/19 | Exam 1 | Exam 1 | |
2/21 | Section 5.4 (due in one week) |
Session Ten - Monitors, Condition Variables, Readers-Writers | Suggested Exercise #4 [Session 10-11] |
2/24 | Session Eleven - Deadlocks | ||
2/26 | Session Twelve [configuration] - Virtual machine setup and Intro to Linux Kernels | ||
2/28 | Continue Session 12 (VM Setup and Linux Kernels) | Project 2 Specification (due 3/6 at 11:59pm on eLearning) | |
3/2 | Project 2 Workday Get help using the virtual machine and configuring your kernel |
||
3/4 | Session Fourteen [programming] - Intro to Kernel Modules and /proc | ||
3/6 | No class | ||
3/9 | Session Fifteen [programming] - Project 3 | Project 3 Specification (due 3/27 at 11:59pm on eLearning) Project3-README.docx |
|
3/11 | No class meeting today | Watch this video and get started on Project 3 Send me questions |
|
3/13 | Project 3 Work Day | ||
3/23 | Common Questions about Project 3 and new online format | Tune into the Panopto Screencast as I anticipate common problems you may have with the project and give you hints to move forward. Watch Video Here |
|
3/25 | Sections 8.1-8.2 (due in one week) |
Session Twenty Three - File Systems Watch Video Part 1 Here Watch Video Part 2 Here |
|
3/27 | Work Day | ||
3/30 | Session Twenty Four - Naming and Directories Watch video here |
Suggested Exercise #5 [Kernel Programming and Sessions 23-24] |
|
4/1 | Suggested Exercise #4 - Slides Watch video here |
||
4/3 | Suggested Exercise #5 - Slides Watch video here |
||
4/6 | Interactive Zoom session to answer questions 2pm-2:30pm (will be recorded)
Note: check elearning for Zoom password Watch video summary here |
Exam 2 is available for until Friday (4/10) at 11:59pm on elearning | |
4/8 | Project 4 lecture Session Twenty Five - Getting Started Watch video here |
Can take P4 Quiz 1 unlimited times before 4/15 at midnight for 30 project4 pts. | |
4/10 | Project 4 lecture Session Twenty Six - More about Project 4 Watch video here |
Can take P4 Quiz 2a and/or 2b once each before 4/17 at 11:59pm on elearning. Will use highest of scores for 30 project4 pts. | |
4/13 | Session Twenty Nine - Transactions and Reliability Watch class video here Supplimental - Parity XOR demo video |
Suggested Exercise #6 [Session 29-30] |
|
4/15 | Work day for Project 4 Email me for questions. If I get enough good questions, I may post a summary video. Don't forget about my Zoom office hours today from noon-2pm. |
||
4/17 | Sections 10.1-10.2 (due in one week) |
Session Thirty - Protection and Security Watch video here |
Note: Dr. Fienup will be taking over the class until the end of the semester. (Dr. Diesburg will be going on medical leave.) Please watch your email and eLearning for announcements from Dr. Fienup concerning the rest of the class and the class final. Please continue doing the readings and watching the class videos below.
Date | zyBook Readings | Session Links and Announcements | Exercises and Projects |
4/20 | Section 7.1 (due in one week) |
Session Seventeen - Memory Protection Watch video here |
Suggested Exercise #7 [Sessions 17,19,21,22] |
4/22 | Sections 7.2-7.3 (due in one week) |
Session Nineteen - Caching and TLBs Watch video here |
|
4/24 | Sections 7.4-7.5 (due in one week) |
Session Twenty One - Virtual Memory Watch video here |
|
4/27 | Sections 9.1-9.2 (due in one week) |
Session Twenty Two - Device Management and Disk Management Watch Part 1 video here Watch Part 2 video here |
|
4/29 | Video answers - Suggested Exercises #6 Video answers - Suggested Exercises #7 Problem 2 Video answers - Suggested Exercises #7 Problems 3-5 Final Review - Slides |
||
5/1 |
|||
5/4 |
Final Exam |