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 Suggested Exercises and Projects
1/11
Chapter 1.1 -1.9 Session One - Introduction and History  
1/13 Section 15.1 Session Two - Class Projects and Environment Project 0 (due on 1/22 at 11:00am)
Example project0 binary: strings

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/25. Email me the name of your partner.
1/15   Session Three - Concurrency Suggested Exercise #1 (due 1/22)
Answers
1/18 No Class    
1/20 Chapter 2.1 and 2.10 Discussion over C and pointers
Answer questions about Project 0
 
1/22   Session Four - From Raw Hardware to Processes Suggested Exercise #2 (due 2/1)
Answers
1/25   Project 0 Quiz
Discuss Suggested Exercise #1
Review Project 0
 
1/27 Session Six [programming] - Shell Parsing and Exec Project 1 Specification
Project 1 Partners must be picked by today
1/29 Chapter 6.1 - 6.3 Session Seven - CPU Scheduling

 

2/1  

Session Eight - Cooperating Threads and Synchronization

Suggested Exercise #3 (due with Suggested Exercise #4)
Answers

2/3 No class Snow day

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

 

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

Too Much Milk presentation

Suggested Exercise #4 (due 2/12)
Answers

2/8 Session Ten - Implementing Mutual Exclusion  
2/10 Sections 5.3-5.4

Session Eleven - Semaphores and Bounded Buffer

 
2/12 Sections 5.5-5.9

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

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

2/15  

Session Thirteen - Exam 1 Review
Project Quiz

 
2/17   Exam 1 Exam 1
2/19   Test review  
2/22 Section 18.3

Session Fourteen - Monitors, Condition Variables, Readers-Writers

Suggested Exercise #5 (due 3/2)
Answers

2/24  

Session Fifteen [programming] - Intro to Linux Kernels

 

2/26   Continuation of previous session

Project 2 Partners must be picked by today
Project 2A Specification (due 3/9)
Project 2 Grading Rubric

2/29 Chapter 7 Session Sixteen - Deadlocks
Suggested Exercise #6 (due 3/9)
Answers
3/2 Session Seventeen [programming] - Intro to Kernel Modules and /proc Project 2B Specification (due 3/25)
3/4 Sections 8.1-8.6 Session Eighteen - Concurrency Conclusion, Memory Protection
3/7   Session Nineteen [programming] - Locking and kthreads

 

3/9

 

Finish Session Eighteen Memory Protection
Go over Exercsie #6
Project Questions
Project 2 First Half Due
Suggested Exercise #7(due 3/25)
Answers
3/11

 

Class Period will answer Project 2 Questions  
3/21   Session Twenty - Address Translation
3/23   Session Twenty One - Caching and TLBs
3/25 Sections 9.1-9.6

Session Twenty Two - Virtual Memory
Review of Suggested Exercise 7

Suggested Exercise #8(due 3/30)
Answers
Project 2 Due
3/28 Sections 10.1-10.4, 13.1-13.3.2 Session Twenty Three - Device Management and Disk Management  
3/30  

Session Twenty Four - Exam 2 Review
Project 2 Quiz and Review of Suggested Exercise 8

 
4/1   Exam 2 Exam 2
4/4   Session Twenty Five - File Systems  
4/6 Chapter 10

Session Twenty Six - Naming and Directories

Suggested Exercise #9 (due 4/13)
Answers

 

4/8   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 Session Twenty Nine - File Systems, FAT32, Endianness  
4/15   Session Thirty - Transactions and Reliability

 

4/18  

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

Suggested Exercise #10 (due 4/29)
Answers
4/22   Finish previous session, project 3 questions
4/25  

Session Thirty Three - Networks and Distributed Systems

 
4/27   Session Thirty Four - Distributed File Systems Final Project 3 Due
4/29  

Project 3 Quiz and Final Review
Review of Homework 10

 
5/4 Final Exam 10:00-11:50am