CECS 326
Operating Systems

Course Outline and Semester Schedule


  Back to Joel's Home Page


                     Engineering Science - 50%, Engineering Design - 50%


Class Schedule and Assignments

Week Assignment/Instruction
1 Assignment: Install XINU, Get the first four labs working
Reading:
Article on XINU, Handouts
Instruction: Course logistics;  Background: O/S modules, concurrent programming.
2 Assignment: Write a program in which 4 concurrent processes increment a global variable.
Reading:
First 3 chapters of Deitel, Chapter 1 and 2 of XINU.
Instruction: Differences between sequential and concurrent processing. Concurrency examples.
3 Assignment: Menu program with shell. Version 1 (VC++) Due Week 4
Reading: Look over C programming topics discussed in class (Foster, C by Discovery is an excellent reference).
Instruction: C vs. C++;  I/O, problems inherent in maintaining the integrity of shared variables in a multi-programmed environment.
4 Assignment: Menu program with shell. Version 2 (UNIX). Run in-class multi-file example under UNIX Due Week 5
Reading: Look over C programming topics discussed in class (Foster, C by Discovery is an excellent reference.)  Chapter 4 of Deitel.
Instruction: Function parameter modes,  arrays and pointers, multi-file C programs, function pointers
5 Assignment: Linked list of queues (Borland or Microsoft). Due Thursday of Week 6
Reading: Chapter 4 of Deitel.
Instruction: More on pointers, process synchronization primitives: wait() and signal().
6 Assignment: Linked list due Thursday of this week.
Reading: Continue Chapter 4 of Deitel.
Instruction: Producer-Consumer, Readers-Writers and Dining Philosopher examples.
7 Assignment: Tuesday of this week is last day to turn in 'linked list of linked lists' assignment.
Reading: Chapters 3 and 4 of the XINU book.
Instruction: More mutual exclusion and process synchronization examples. O/S Process Control Blocks (proctab[ ] in XINU).
8 Assignment: Three process producer-consumer program due next Tuesday (3/24).
Reading: Continue Chapters 3 and 4 of the XINU book.
Instruction: Process Lists, Process Table and Semaphore Table in XINU.
9 Assignment: First Midterm, Thursday - 3/26. Coverage will include the first 4 Chapters of Deitel and the first two Chapters of XINU. NOTE: You will also be given the states of several processes in the XINU system, and be asked to  fill in the values in the O/S tables.
Reading: Chapter 5 of XINU.
Instruction: More on XINU tables. Midterm questions on Tuesday.
10 Assignment: Modify the O/S so that processes may have more than one outstanding message.
Reading: Chapters 6 and 7 of XINU.
Instruction: System calls - We will examine the C code for create, resume and suspend, the system scheduler and the implementation of context switching.
11 Spring Break: 4/6 - 4/10
12 Assignment: Continue working on the modifications to the system calls, send and receive.
Reading: Deitel, Chapters 5 and 6 and 10.
Instruction: System calls - We will examine the C code for wait, signal, send and receive. In addition, we will look critically at the problem of deadlock.
13 Assignment: Demo send and receive, Tuesday, 4/21.
Reading: Deitel, Chapters 10 and  7.
Instruction: Mullti-programming preformance as a function of process wait time. Storage management. Partitioning, paging and segmentation.
14 Assignment: Begin looking at how to run the O/S under the debugger.
Reading: Deitel, Chapter 8, 9.
Instruction: Virtual Storage Management. Locality, working sets, demand paging.
15 Assignment: Second Midterm, Tuesday, 5/5. Deitel, Ch's 5, 6, 7, 8, 10; XINU, Ch's 4, 5, 6, 7
Reading: XINU, Chapter 9.
Instruction: Interrupt vectors, interrupt service routines.
16 Assignment: Use the debugger to trace the life of a process, from creation to destruction.
Reading:
Deitel, Ch. 9, XINU, Ch's 8, 9, 10 and 13.
Instruction:
More on interrupts, clock  processing, system initialization. Discussion of final exam topics.
The Final is on Thursday, 5/21, from 12:30 to 2:30.

Back to Joel's Home Page


This document was last updated on:
Friday, 8-May-98 11:41:30 PST