Operating Systems, Spring 2018

Part of the CS:3620 Operating Systems Collection
by Douglas W. Jones
THE UNIVERSITY OF IOWA Department of Computer Science

11:30 Monday, Wednesday and Friday, 118 MLH

Wed Jan 17 Overview
Fri Jan 19 C for experienced programmers (skim a Manual of C Style)
Mon Jan 22 A brief history [last add, last free drop]
Wed Jan 24 The Unix shell A C-Shell Tutorial
Fri Jan 26 An example shell: mush, a minimally usable shell
Mon Jan 29 A bare-bones system [last undergrad add, last refund for drop]
Wed Jan 31 Object code, loaders and linkers
Fri Feb 2 Unix loading and linking (read about makefiles in the Manual of C Style)
Mon Feb 5 Files, open files, and devices
Wed Feb 7 Interrupts and FIFO queues
Fri Feb 9 Interrupts and critical sections
Mon Feb 12 Interrupts and critical sections [Clean Monday (Orthodox Christian)]
Wed Feb 14 A complete device driver [Ash Wednesday (Western Christian)]
Fri Feb 16 Disk drivers and scheduling [Chinese New Year]
Mon Feb 19 Disk scheduling policies
Wed Feb 21 Virtual disks vs disk files
Fri Feb 23 File systems and directories [degree applications due]
Mon Feb 26 the CAP ... garbage collector / The CAP filing system
Wed Feb 28 Review
Fri Mar 2 Midterm Exam [midterm day]
Mon Mar 5 Virtual memory [summer preregistration]
Wed Mar 7 Page fault service
Fri Mar 9 More paging [spring break starts]
Mon Mar 19 Paged-segmented memory
Wed Mar 21 The Unix memory model [Vernal Equinox]
Fri Mar 23 Dynamic storage allocation
Mon Mar 26 The buddy system
Wed Mar 28 Fragmentation, boundary tags
Fri Mar 30 Garbage Collection [Good Friday (Western Christian)]
Mon Apr 2 Processes and threads [last undergrad drop] [Passover III (Jewish)]
Wed Apr 4 Thread and Process States [Passover V (Jewish)]
Fri Apr 6 Implementing scheduling [Passover VII, Good Friday (Orthodox Christian)]
Mon Apr 9 More Implementation [fall preregistration]
Wed Apr 11 Heavyweight processes, Lightweight threads
Fri Apr 13 Concurrent programming [bad luck (Christian?)]
Mon Apr 16 Dekker's Algorithm
Wed Apr 18 Monitors, the Ada Rendezvous, and client-server systems
Fri Apr 20 Clients and servers: Task Communication in Demos
Mon Apr 23 Amoeba
Wed Apr 25 Amoeba Message Delivery
Fri Apr 27 Networks The ISO OSI model
Mon Apr 30 Unix Setuid and Rights amplification
Wed May 2 Minimum boot ROM on a modern system
Fri May 4 Review [last day of class]
Wed May 9 FINAL EXAM, 7:30-9:30 AM, 110 MLH