Basic Information

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!

Date Readings and pre-class assignments Session Links and Announcements Exercises and Projects
1/8
Chapter 1.1 -1.9 Session One - Introduction and History  
1/10 Section 15.1 Session Two - Class Projects and Environment Project 0 (due on 1/21 at 11:59:59pm, submitted on eLearning)

Go through the short C language tutorial and this webpage

Watch the videos on the Resources page if you are not familiar with using a Linux server

Choose a partner for future projects by 1/24. Email me the name of your partner.
1/12   Session Three - Concurrency Exercise #1 (due 1/19)
Answers
1/15 No Class    
1/17 Chapter 2.1 and 2.10 Discussion over C and pointers
Answer questions about Project 0
 
1/19   Session Four - From Raw Hardware to Processes Exercise #2 (due 1/31)
Answers
1/22   Project 0 Quiz
Discuss Suggested Exercise #1
Review Project 0
 
1/24 Session Six [programming] - Shell Parsing and Exec Project 1 Specification
Project 1 Partners must be picked by today
1/26 Chapter 6.1 - 6.3 Session Seven - CPU Scheduling

 

1/29  

(Finish Session Seven)
Session Eight - Cooperating Threads and Synchronization

Exercise #3 (due with Exercise #4)
Answers

1/31   (Finish Session Eight)
Answer Project 1 Questions

Project 1 First Half Due on 2/1 (submit on eLearning by 11:59:59pm)

 

2/2 Sections 5.1-5.2 Session Nine [programming] - cd command and shell variables

Too Much Milk presentation

Exercise #4 (due 2/9)
Answers

2/5 Session Ten - Implementing Mutual Exclusion  
2/7 Sections 5.3-5.4

Session Eleven - Semaphores and Bounded Buffer

 
2/9 Sections 5.5-5.9

Session Twelve - More on Semaphores
Discuss Suggested Exercises 3-4

Project 1 due at 11:59:59pm on 2/9

2/12  

Session Thirteen - Exam 1 Review
Project Quiz

 
2/14   Exam 1 Exam 1
2/16   Test review  
2/19 Section 18.3

Session Fourteen - Monitors, Condition Variables, Readers-Writers

Exercise #5 (due 3/2 in class)
Answers

2/21 Gone to SIGCSE - watch class video

Session Fifteen [programming] - Intro to Linux Kernels

 

2/23 Gone to SIGCSE - watch class video Continuation of previous session

Project 2 Partners must be picked by today
Project 2A Specification (due 3/9 at 11am)

2/26 Answer questions about Project 2 setup
2/28 Chapter 7 Session Sixteen - Deadlocks
Exercise #6 (due 3/7 in class)
Answers
3/2 Session Seventeen [programming] - Intro to Kernel Modules and /proc
3/5 Sections 8.1-8.6 Session Eighteen - Concurrency Conclusion, Memory Protection

 

3/7

 

Part 2B [programming] - Penguin Printer Project 2B Specification (due 3/26)
Project 2 Grading Rubric
3/9

 

Session Nineteen [programming] - Locking and kthreads Project 2 First Half Due
3/19   Session Twenty - Address Translation Exercise #7 (due 3/28)
Answers
3/21   Finish previous session, go over exercise 5 and 6
3/23 Gone to WiCSyS - watch video

Session Twenty One - Caching and TLBs

 
3/26 Sections 9.1-9.6 Session Twenty Two - Virtual Memory
Project 2 Due 11:59:59pm
Exercise #8 (due 3/30)
Answers
3/28 Sections 10.1-10.4, 13.1-13.3.2

Session Twenty Three - Device Management and Disk Management

Review of Suggested Exercise 7

 
3/30   Session Twenty Four - Exam 2 Review
Project 2 Quiz and Review of Suggested Exercise 8
 
4/2   Exam 2 Exam 2
4/4  

Session Twenty Five - File Systems


 

4/6 Chapter 10 Session Twenty Six - Naming and Directories Exercise #9 (due 4/13)
Answers
4/9  

Session Twenty Seven - Boot Sectors, Files and Directories, File I/O

Project 3 Specification

4/11   Session Twenty Eight - More about Project 3 Project 3 partners must be picked by today
4/13 Section 9.7
Today's video
Session Twenty Nine - File Systems, FAT32, Endianness

 

4/16  

Session Thirty - Transactions and Reliability

 
4/18 Today's video

Session Thirty One - FAT32 Directory Entries, Project Operations

Project 3 First Half Due
4/20 Chapter 14, Sections 13.4-13.7 Session Thirty Two - Protection and Security Exercise #10 (due 4/27)
Answers
4/23  

Continue session Thirty Two, go over homework 9 answers

 
4/25   Session Thirty Four - Distributed File Systems  
4/27  

Project 3 Quiz and Final Review
Review of Homework 10

Final Project 3 Due
5/1 Final Exam: 10am -- noon