CSS 430: Operating Systems
Winter 2004
MW
UW1-020
Kelvin Sung <ksung@u.washington.edu>
Room: UW1-339
Phone: 352-5420
Office hours: Monday:
Wednesday:
3-4:00pm
This course introduces the logical design of operating systems, especially focusing on the design in Java. Topics covered include processes, threads, CPU scheduling, synchronization, deadlocks, memory management, virtual memory, file systems, I/O systems, protection, and security used in the popular desktop and real-time operating systems.
CSS343.
Course Work |
Percentage |
|
|
Assignment 1 |
5% |
|
|
Assignment 2 |
8% |
|
|
Assignment 3 |
11% |
|
|
Assignment 4 |
11% |
|
|
Assignment 5 |
15% |
|
|
Midterm Exam |
25% |
|
|
Final Exam |
25% |
|
|
a.
(AOSC) Applied
Operating System Concepts, First edition, Abraham Silberschatz, Peter
Galvin, and Greg Gagne, Addison-Wesley, 2000.
Or
b.
(OSC) Operating
System Concepts, Windows XP Update, sixth edition, Abraham
Silberschatz, Peter Galvin, and Greg Gagne, Addison-Wesley, 2003.
All programs are to be done independently. Any collaboration
of work will result in severe penalty. You may discuss the problem statement
and any clarification with each other, but any actual work to be turned in,
must be done without collaboration. Once again, there should be no collaboration
on any of the programming assignments.
All assignments are due at the beginning of class on the due date, including both hard and soft copies. The submission may be postponed only in emergencies such as accidents, sickness, sudden business trips, and family emergencies, in which case you may turn in your homework late with a written proof. No make-up exams will be given except under exceptional circumstances. Barring emergencies, I must be informed before the exam.
To request academic accommodations due to a disability, please contact Disabled Student Services (DSS) in Bothell Library Annex Building, Room 106, (email: rlundborg@bothell.washington.edu, TDD: 425-352-5303, and FAX: 425-352-5444). If you have a documented disability on file with the DSS office, please have your DSS counselor contact me and we can discuss accommodations.
The overall goal of CSS 430 is to learn fundamental concepts involved in modern operating systems: (1) process management that schedules, executes, synchronizes with events, and terminates your application programs; (2) memory management that loads your programs into memory and dynamically allocates/deallocates memory space requested; and (3) file system management that provides the mechanism for on-line storage of and access to both data and programs residing on the disks. The course also covers protection and security (if time allows) which are vital to the modern operating systems connecting to the Internet computing world. Throughout the course, we will use examples based on Java to illustrate the concepts. Through programming assignments you will practice concepts involved in process management, memory management, and file systems. As with most technical courses, besides ability and motivation, it takes time to learn and master the subject. On average, you are expected to spend an additional 10 to 15 hours a week outside of class time.
ssh -l your_linux_account uw1-320-lab.bothell.washington.edu
g++ your_program1.cpp your_program2.cpp ...
If a given .cpp file includes only template definitions, don't compile it directly. Such file should be treated as a header file, thus included in another .cpp file that must be compiled using g++. Upon a successful compilation, you will get an a.out executable file.
tar -cvf - *.java > myFile.tar
Alternatively, you can do:
tar -cvf myFile.tar *.java
How/Why are the above commands different/same? The file name must be the concatenation of your first name initial, your last name and ".tar". For instance, if your name is Micky Mouse, the corresponding file name is "MMouse.tar".
chmod 644 myFile.tar
cp myFile.tar ~css430/f03/hw1/
If your name is Micky Mouse and you would like to submit your assignment 2, you should type:
chmod 644 MMouse.tar
cp MMouse.tar ~css430/f03/hw2/
Don't email your softcopy to me. You may overwrite your previous copy with a newer copy as many times as you want, however the corresponding directory such as hw1/, hw2/, hw3/, hw4/, and hw5/ will be closed exactly at the due time. These directories are read-protected, and thus you won't be able to read any files in there.
Criteria |
Percentage |
Documentation of your report including explanations, illustrations, discussions, and output considerations |
30% |
Correctness of your program (Syntax errors, run-time errors, and/or incorrect answers will result in significant points being deducted from your grade). In addition, please make sure that you have implemented the algorithms as specified in each assignment |
50% |
Organization of your program (modularization, coding style, and an appropriate amount of comments) |
20% |
Note that this is an approximate ordering of topics. Chapters will take about the allotted time and not all sections in all chapters are covered.
Week |
Date (MW) |
Topics |
Chapter |
|
Assignment |
1 |
Jan 5 |
Lab Orientation( |
1 - 2 |
AOSC p1-44 or OSC p1-54 |
|
|
Jan 7 |
3 |
AOSC p45-84 or OSC p 55-92 |
||
2 |
Jan 12 |
4 |
AOSC p87-114 or OSC p95-117 |
|
|
|
Jan 14 |
5 |
AOSC p115-133 or OSC p 129-148 |
|
|
3 |
Jan 19 |
Martin Luther King Day (no class) |
|
|
|
|
Jan 21 |
6 |
AOSC p135-171 or OSC p151-188 e-reserve: 6.7 of AOSC |
Program 1 due |
|
4 |
Jan 26 |
|
|
|
|
|
Jan 28 |
7 |
AOSC p173-225 or OSC p189-225 e-reserve: 7.8 of AOSC |
|
|
5 |
Feb 2 |
|
|
|
|
|
Feb 4 |
8 |
AOSC p227-251 or OSC p243-270 |
Program 2 due |
|
6 |
Feb 9 |
Midterm exam in class |
1 - 7 |
AOSC p1-225 or OSC p1-225 |
|
|
Feb 11 |
9 |
AOSC p255-296 or OSC p 273-316 |
|
|
7 |
Feb 16 |
Presidents Day
(no class) |
|
|
|
|
Feb 18 |
|
|
|
|
8 |
Feb 23 |
10 |
AOSC p297-344 or OSC p 317-369 |
Program 3 due |
|
|
Feb 25 |
|
|
|
|
9 |
Mar 1 |
11 (AOSC) or 11 + 12.4 + 12.5 (OSC) |
AOSC p345-400 or OSC p 371-409 + p421-437 |
|
|
|
Mar 3 |
Program 5 explanation |
|
|
Program 4 due |
10 |
Mar 8 |
22 |
OSC p.789-824 (Also on e-reserve) |
|
|
|
Mar 10 |
18 |
AOSC p567-590 or OSC p629-656 |
|
|
11 |
Mar 15 |
final exam in class |
ALL |
Everything we learned |
|
|
Mar 18 |
Program 5 Due |
|
|
Both hard and soft copy by 10am |
The materials (including lecture notes and assignments) used in this course are based mainly on the contents developed by Professor Munehiro Fukuda.