EECE.4810/EECE.5730: Operating Systems

Instructor: Dr. Michael Geiger

Spring 2018

 

Course Schedule

This schedule contains a tentative schedule of topics we will cover throughout the term; this schedule is subject to change. As the semester progresses, I will update the schedule to show the actual dates on which we cover material, as well as provide links to the lecture slides and assignments. I will also provide sections from the recommended textbooks related to each lecture.

 

Please note that the exam dates are fixed--the first exam will be held on Wednesday, February 21 in class, the second exam will be held on Wednesday, March 28 in class and the third exam will be held Friday, May 11, from 8-11 AM in Ball 314.

 

Lecture Recordings: Echo360 recordings are available from https://echo360.org/. Enter your UML e-mail address on the Echo360 home page, then enter that e-mail address and password in the pop-up that appears. You will then be able to view lecture recordings from all courses in which you are enrolled, including this one.

 

The following link should allow everyone direct access to the lecture recordings after logging on: OS Echo360 recordings

 

Reading: Unless otherwise noted, textbook sections listed correspond to the Silberschatz text listed in the syllabus.

 

Week Date (Mon.) Lecture Topics Handouts Reading Assignments

1

1/22

 1. Course introduction, OS overview

 2. Processes and process management

 Syllabus

 Lec. 2 questions

 M: None

 W: 3.1-3.3

2

1/29

 3. Process management examples

 4. Inter-process communication

 Lec. 3 questions

 Lec. 3 examples:

 fork/wait | exec

 Lec. 4 questions

 Lec. 4 examples:

 Producer | Consumer

 M: 3.1-3.3

 W: 3.4-3.6

 Program 1

 (due 2/12)

 Test programs:

 test1.c, test2.c

 test3.c, test4.c

 test5.c

3 2/5

 5. Multithreading intro

 No Wednesday lecture--university closed due to snow

 Lec. 5 questions

 M: 4.1-4.2

4 2/12

 6. Multithreading examples; synchronization intro

 7. Synchronization: locks and condition variables

 Lec. 6 questions

 Lec. 6 examples:

 Pthread create/end

 Pthread arguments

 Pthread joining

 Lec. 7 questions

 M: 5.2-5.4

 W: None

 
5 2/19

 No Monday lecture--Presidents Day

 8. Exam 1 Preview (Tuesday, 2/20)

 Wednesday, 2/21: EXAM 1

 

 

 

6 2/26

 9. Synchronization: monitors and semaphores

 10. Deadlock

 Lec. 9 questions

 Lec. 10 questions

 Program 2

 (due 3/21)

7 3/5

 11. CPU scheduling

 12. Exam 1 Review

 Lec. 11/13 questions

 

 

8 3/12

 No classes--Spring Break

 

 

9 3/19

 13. CPU scheduling examples

 14. Memory management: address translation

 Lec. 14 questions

 
10 3/26

 15. Exam 2 Preview

 Wednesday, 3/28: EXAM 2

 

11 4/2

 16. Memory management: segmentation and paging

 17. Segmentation and paging review; Exam 2 Review

 Lec. 16 questions

 Program 3

 (due 4/18)

 Program 3 hints

 Test files:

 testin1.dat | testin2.dat

 out1.txt | out2.txt

 out2_interval1.txt

12 4/9

 Monday, 4/9--last day to withdraw (UG)

 18. Memory management: page table organization

 19. Memory management: virtual memory example

 Lec. 18 questions

 Lec. 19 questions

 

 

13 4/16

 No Monday lecture--Patriots' Day

 20. File systems: file operations, directories

 

14 4/23

 21. File systems: example file systems

 22. File systems: reliability

 Thursday, 4/26--last day to withdraw (Grad)

 

 Extra credit HW

 (due 5/4)

 HW solution

15 4/30

 23. Protection and security

 24. Final Exam Preview

 Classes end Thursday, 5/3

 
  5/11

 FINAL EXAM: Friday, May 11, 8-11 AM in Ball 314

 Course evaluation form--must be completed before exam

 


Last updated 05/07/2018 0:25 AM