EECE.4810/EECE.5730: Operating Systems

Instructor: Dr. Michael Geiger

Spring 2019

 

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.

 

Exams: The first exam will be held Monday, February 25 from 3-5 PM in Ball 214, and the second exam will be held Monday, April 1 from 3-5 PM in Ball 214. The third exam will be held Saturday, May 11, from 8-11 AM in Kitson 305.


Lecture Recordings: Echo360 recordings are available from https://echo360.org/. Select "Log in via Institution," choose "University of Massachusetts-Lowell" from the drop-down list, then log in with your UML e-mail address and password. You will then be able to view lecture recordings from all courses in which you are enrolled, including this one. Recordings are also available on the course Blackboard site.

 

Week Date (Mon.) Lecture Topics Handouts Reading Assignments

1

1/21

 No Monday lecture--Martin Luther King, Jr. Day

 1. Course introduction/overview

 2. Process management: overview; process basics

 Syllabus

 Lec. 2-4 questions

2

1/28

 3. Process management: fork()/wait()

 4. Process management: exec(), process termination

 5. Inter-process communication (IPC)

 Lec. 3/4 examples:

 fork/wait | exec

 Lec. 5-7 questions

 Lec. 5/6 examples:

 Producer | Consumer

 Project 1

 (due 2/11)

 Test programs:

 test1.c, test2.c

 test3.c, test4.c

 test5.c

3 2/4

 6. IPC (continue Lec. 5 slides)

 7. IPC (finish Lec. 5 slides)

 8. Multithreading basics

 Lec. 8/9 questions

4 2/11

 9. Multithreading examples

 10. Synchronization: mutual exclusion; critical sections

 11. Synchronization: critical sections (cont.), locks (finish Lec. 10 slides)

 Lec. 9 examples:

 Pthread create/end

 Pthread arguments

 Pthread joining

5 2/18

 No lecture M (Presidents Day) or T (cancelled)

 12. Synchronization: condition variables, monitors

 13. Exam 1 Preview

6 2/25

 EXAM 1: Monday 2/25, 3-5 PM, Ball 214

 14. Synchronization: semaphores

 15. Synchronization: semaphores (continued) (finish Lec. 14 slides)

 Project 2

 (due 3/20)

7 3/4

 No Monday lecture--university closed

 16. Deadlock

 17. Exam 1 Review

8 3/11

 No classes--Spring Break

9 3/18

 18. CPU scheduling: metrics, FCFS, SJF

 19. CPU scheduling: STCF, priority, round robin (continue Lec. 18 slides)

 20. CPU scheduling: examples (continue Lec. 18 slides)

 Lec. 18-21 questions

10 3/25

 21. Real-time scheduling (finish Lec. 18 slides), P3 overview

 22. Memory management intro

 23. Exam 2 Preview

 Project 3

 (due 4/22)

 Test files:

 testin1.dat | testin2.dat

 out1.txt | out2.txt

 out2_interval1.txt

11 4/1

 EXAM 2: Monday, 4/1, 3-5 PM, Ball 214

 24 & 25. Memory management: address translation basics; base & bounds

 Lec. 24-30 questions

12 4/8

 26. Exam 2 Review

 Tuesday, 4/9--last day to withdraw

 27 & 28. Memory management: segmentation & paging

13 4/15

 No Monday lecture--Patriots' Day

 29 & 30. Memory management: page table organzation; virtual memory

14 4/22

 31. File systems intro (see Lec. 32 slides)

 No lecture Wednesday, Friday

15 4/29

 32-33. File systems

 34. Exam 3 Preview

 Classes end Friday, 5/3

 HW 1

 (extra credit; due 5/6)

 HW 1 Solution

  5/8

 EXAM 3: Saturday, 5/11, 8-11 AM, Kitson 305

 Course evaluation form--must be completed before exam

 


Last updated 07/08/2019 10:34 AM