Back to Joel's Home Page
- Prerequisites: CECS 274, 325, and consent of instructor. The structure and functions of operating systems. Interrupt handling, processes and interprocess communication, memory management, resource scheduling, information sharing and protection. Project implementation in C/C++. (Lecture 3 hours, laboratory 3 hours.) Traditional grading only.
Engineering Science - 50%, Engineering Design - 50%
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. |