CS444 OPERATING SYSTEMS
Fall 2006
Instructor: Betty O'Neil,
eoneil@cs.umb.edu
Lectures: TuTh 5:30-6:45pm in M2-417
Syllabus
Note that cs341 is a strong prerequisite for this course. Graduate
students are recommended to take cs644, grad OS, offered in the spring,
instead of this course. CS644 does not
require cs341, but does require more advanced UNIX programming
experience.
First week: get an account for cs444 by running apply, add
module ulab to your .cshrc. Visit www.cs.umb.edu/ulab
and its linked documents, review cs341, for example by reading Prof.
Wilson’s CS341
lecture slides or the older slides from Prof. Eckhouse listed below,
run $pcex/test.c on an SAPC with help of microprocessor lab info linked
below.
Lecture Notes, assignments
hw1 Due Sunday, Sept. 24 by midnight in your hw1 directory (and its queue subdirectory), include README with authorship statement
hw1 solution (see hw2 directory for i/o package solution)
hw2 Due Sunday, Oct. 15 by midnight in your hw2 directory (and its queue subdirectory), include README with authorship statement
hw2 solution
hw3 intro Due Tuesday, Nov. 7 by midnight in your hw3 directory (and its queue subdirectory), include README with authorship statement
hw3 solution
hw4 Due Tuesday, Nov. 28 in class, on paper, or
in cs444/hw4/hw4soln.txt by midnight. Experimenting with paging
on the SAPC. No late days because no programming.
hw4 solution
hw5 Due Monday, Dec. 11 in your hw5 directory, include README with authorship statement
hw5 solution hw5 scripts
Sept. 5:
Intro, Virtual Machine concept
Sept. 7:
UNIX and SAPC programming environments
Sept. 12:
Intro to hw1
Sept. 14:
Review of programmed i/o, intro to interrupts
Sept. 19:
The x86 interrupt system
Sept. 21:
Interrupt programming
Sept. 26:
UNIX and Win32 system calls (finish Chap. 1)
Sept. 28:
Processes (Chap. 2)
Oct. 3:
Intro to hw2, system call implementation.
Oct. 5:
Processes and Threads
Oct. 10:
Threads, Thread safe libraries
Oct. 12:
Mutex, intro to semaphores
Oct. 17:
Semaphores, monitors
Oct. 19:
Message passing, intro to hw3
Oct. 24:
Intro to hw3, cont.
Oct. 26:
Scheduling, including hw3 sched.c
Oct. 31:
Midterm review
Nov. 2: Midterm exam.
Practice midterm Practice midterm solution
Nov. 7
Deadlock
Nov. 9
Memory Management
Nov. 14
x86 Paging
Nov. 16
Demand Paging
Nov. 21:
vmstat, hw3 execution, page replacement algorithms
Nov. 28:
Intro to hw5, more on memory management
Nov. 30:
hw5 kernel programming
Dec. 5:
Debugging, back to I/O Systems, Chap. 5
Dec. 7:
I/O Systems, disks, filesystems
Dec. 12:
Final Review
practice final practice final solution
Final Exam: Thurs. Dec. 21, 6:30-9:30 (hopefully can start at 6:20), in M-1-206. See hw5 solutions, scripts, linked above.
Register for the new cs444 forum
here, listing your cs.umb.edu email address (even if you don't actively use it.) You don't need to register if you
already have a cs forum account from another class or activity.
Resources: Please email eoneil to correct or improve
these!
Lecture
Notes from Fall ‘05
Microprocessor
lab info: How to use SAPCs for programming assignments.
CS341
course home page, with more links to hardware resources
From the GNU project: www.gnu.org: manuals
From RedHat Linux:
gdb manual
Directories useful for programming assignments
$pcinc
– header
$pcex
– C example
$pclibsrc
– sources for the SAPC support library
Prof. Eckhouse's slides
(as ppt) for cs241/341,
by topic, most important parts for cs444:
- Intro, slides 2-8
- C programming on the SAPC and mp1, 9-14
- Registers and i/o ports, 15-17
- LPT1 parallel port, 18-22
- COM1 and COM2 serial ports, 23-25
- Bytes and strings in memory, 26-27
- Assembler, 28-65 (only a bit needed for cs444)
- Serial Communication and RS232, 66-75
- Logic Gates, 76-94 (not needed for cs444)
- Timer device, 95-103
- Interrupts, 104-122
- Exceptions 123-124
- plus much more, but not needed for cs444