SI411 Operating Systems
Course Syllabus
Fall AY07

 

Wk

Date

Topics/Events

Webouts

1

21 Aug

Course Policy. Course overview. Silber Chap1: Systems overview, introduction to operating systems, batch systems time-sharing systems, PC systems, parallel systems, real-time systems, distributed systems. Silber Chap2: Computer-systems structures, I/O structure, storage structure/hierarchy. Protection: hardware, I/O, memory, and CPU. General systems architecture. Silber Chap3: Operating systems structures, system components, operating-system services, systems calls, systems programs, system structures, virtual machines, Java: programming language, API, Java Virtual Machine, systems design and implementation, systems generation.  Ethics: Privacy (surveillance & monitoring) and Security.

·        Course Policy

·        Silber Chap1

·        Silber Chap2

·        Silber Chap3

·        Online Java Resources:

o       A Java Tutorial

o       java.sun.com

o       The Java Language Specification

2

28 Aug

Silber Chap4: Process Management. Process concept, threads, process scheduling, context switching, operations on processes, process creation/termination, cooperating processes, interprocess communication, message passing, buffering, producer-consumers. UNIX fork() system call for process creation

·        Silber Chap4

·        Lab 1 UNIX Fork()

o       Lab Assignment

o       Lab 1 Partners

 

3

4 Sep

 

Prereg 8-15 Sep

** Monday Holiday, Labor Day, 6 Sep **             | Java example of producer consumer problem. Silber Chap5: Concurrent processing/threads. Lightweight threads, heavyweight threads. User and kernel threads, multithreading models, Java threads. Java focus: threads. Deitel Chap 15: Multithreading. Life cycle of a Java thread, thread priorities and scheduling.

·        Homework1 (Due start of class on 18 Sept)

·        Silber Chap5

4

11 Sep

Thread synchronization, Producer-Consumer problem using threads.  Thread creation, thread-based memory management.  Communication between threads. Lab2: Java Threads. 

·        Lab 2:  ProducerConsumer.java (includes lab instructions).

·        Bounded Buffer.java,

·        Consumer.java,

·        Producer.java,

·        demoRun.txt.

·        Lab 2 Partners

5

18 Sep

Silber Chap 6: CPU scheduling. Scheduling criteria. Scheduling algorithms: First-come first-served (FCFS). Exam Review,  6 Week Exam => In class on Friday, 22 Sept. 

 

·        Silber Chap6

·        6 Week Exam Objectives

·        How to Zip a UNIX folder

6

25 Sep

ICSM. Exam Debrief. Convoy effect of FCFS, inherent FCFS favoritism based on burst duration. Shortest job first (SJF).  Preemptive SJF (aka shortest-remaining-time-first),

·        Team Programming Project1 Assigned (Threaded Time Quantum Optimization)

·        Project1 Team Assignments.

7

2 Oct

Proof of SJF optimality, approximations of SJF for implementation. priority scheduling, round-robin scheduling.  

 

8

9 Oct

ABET PEV || Multilevel queue scheduling, multilevel feedback queue scheduling.  Multiple processor scheduling, thread scheduling, Java thread scheduling.   Scheduling Algorithm Evaluation: Deterministic Modeling, Simulation, Implementation Evaluation. 

·        Homework2

9

16 Oct

Silber Chap7: Process synchronization, the critical-section problem, criteria for a valid solution to the critical section problem,  Proving validity of a critical section problem solution, two-tasks solution to the critical section problem, synchronization hardware

·        Silber Chap7

·        Project 1 due COB Friday, 20 Oct

·        Team Presentations

·        Team Presentation Grading Sheet

 

·        Java I/O Example

o       input.txt

o       output.txt

10

23 Oct

Semaphores, semaphore-based solutions to the critical section problem.  Classical synchronization problem: Dining Philosophers (DPs). Analyzing DP solution attempts. Dijkstra's synchronization problem goals: safety/liveliness. 

·        Homework 2 due COB Wednesday, 25 Oct

11

30 Oct

Exam Review. 12-Week Exam => In class on Wednesday, 1 Nov. Exam Debrief.

·        Exam Review

·        12-Week Exam Objectives.

12

6 Nov

Monitors, condition variables, Classical synchronization problem: Reader/Writer problem.  Monitor-like solution to the Reader/Writer Problem.  OS synchronization. 

Lab3 Java monitor solution to Reader/Writer problem.

 

 

·        Team Programming Project 2 Java Monitors and Thread Agents.

 

·        Lab3: Java Monitors

·        Lab Partners.

·        Driver.java (includes lab instructions)

·        ReadWriteController.java

·        SummerThread.java

·        WriteRandom83Thread.java

13

13 Nov

Reg 15-3 Dec

Silber Chap 8. Deadlock. Resource allocation, sharable, consumable, and serially reusable resources, conditions necessary for deadlock.

Deadlock characterization, handling deadlock Deadlock prevention, deadlock avoidance.  Dijkstra’s Bankers Algorithm.   Deadlock detection, recovery from deadlock 

Chap9: Memory Management, swapping, contiguous memory allocation, non-contiguous memory allocation, paging, segmentation, segmentation with paging. Protection: memory protection in a paged environment.

·        Silber Chap 8

·        Silber Chap9

·        Homework3 (Required)

·        Homework4 (Extra Credit)

14

20 Nov

non-contiguous memory allocation, paging, Team Presentations. Early Schedule=> Wednesday, 22 Nov.  No class Friday, Happy Thanksgiving.

 

15

27 Dec

segmentation, segmentation with paging. Protection: memory protection in a paged environment. ABQ (1) Team Presentations. Army – Navy Game, Saturday 2 Dec.

·        Homework 3. Due: COB, Monday, 27 Nov. No late submissions accepted for credit

·        .

·        Project 2 Due: COB, Thursday, 30 Nov

16

4 Dec

Exam Review. SOFs, Last Day of SI411, Wednesday, 6 Dec (virtual Friday).

 

Final exam:

·        Time: 0755, Tuesday, 12 Dec 2006,

·        Location: MI300

·        Slides with Flyins

·        Final Exam Objectives

·        Homework 4 Due: Start of Class, Monday, 4 Dec.No late submissions accepted

Notes:

·         Final Exam:  Time: 0755, Tuesday, 12 Dec 2006, Location: MI300