Tuesday, 9:00 to 10:00; Thursday, 10:00 to 11:00, EL 128
Text Books:
You are required to have at least one OS theory book and one
system programming textbook from the lists below.
OS Theory:
Operating Systems: A Modern Perspective, Third
Edition, Gary Nutt, 2004, Addison-Wesley. (ISBN 0-201-77344-9)
The author has thoughtfully provided errata pages which are
available on his
site for the book.
Operating Systems: Internals and Design Principles,
Fifth Edition, William Stallings, 2005, Pearson: Prentice Hall.
(ISBN 0-13-147954-7)
Operating Systems Principles, Lubomir F. Bic and Alan
C. Shaw, 2003, Pearson: Prentice Hall. (ISBN 0-13-026611-6)
System Programming:
UNIX System Programming, Second Edition, Keith
Haviland, Dina Gray, and Ben Salama, 1999, Addison-Wesley.
(ISBN 0-201-87758-9)
Advanced UNIX Programming, Second Edition, Marc J.
Rochkind, 2004, Pearson: Addison-Wesley. (ISBN
0-13-141154-3)
Advanced Programming in the UNIX Environment, Second
Edition, W. Richard Stevens and Stephen A. Rago, 2005, Pearson:
Addison-Wesley. (ISBN 0-201-43307-9)
Students should read ahead the chapters that are expected to be
covered in the class period (see the class
schedule). Students should always bring
their textbook with them to class, including lectures and exams.
Communication:
The primary means of transmitting class information to the
students will be through announcements during class time,
announcements in the Message of the Day, and web pages.
The best way for students to communicate with the teaching staff is
to come to scheduled office hours. If you cannot attend office hours
in person, phone calls can be accepted but students present in the
office will get priority. Email can also be used but a quick or
detailed personal response is unlikely as we get a lot of
email and responding to email can be very time consuming.
The best way for students to communicate with one another is through
the Desire2Learn web site for the class. (Note that this is the
only way that we will use Desire2Learn site for this class.)
Details of all of the communication methods follow.
WWW:
Information about this class will be found on the class website.
The URL is
This page will contain links to the directory of class materials and
announcements, the message of the day, and other important
information.
Email:
Students should use the email addresses listed above. Note
that we get a lot of email. Do not expect a reply in
minutes; one or two days is more likely in most cases. If you have
not heard back within five days, please resend your message, if it
is still relevant.
MOTD:
A message of the day will be placed in the class file
directory. To automatically view this file on login, students
should add the command
The prerequisites for this course are CS 2413 - Data Structures
and CS 2613 - Computer Organization (or ECE 3223). (If you have not
taken these courses, you will need instructor permission to take
3113.) You are expected to have a working knowledge of C, including
a familiarity with its basic data types and control structures, and
an understanding of basic computer organization. This course will
introduce students to operating systems theory and cover the
principles of systems programming. For topics covered, see the schedule.
Computer Accounts and Software:
All students in this class should have a CS account. This will
be used for writing programs and sending and receiving materials
electronically. All code written for this course MUST run
using the compilers or interpreters that will be specified for the
assignments. You may do your development work on whatever system you
choose but it is your responsibility to ensure that your code runs on
the school systems.
Requirements:
The graded assignments and their contribution to a student's
grade are given in the table below. (Subject to change.)
I/O and Devices
Processes
File System
IPC
First 1/3
Second 1/3
Last 1/3
10%
15%
15%
15%
15%
15%
15%
All exams in this course are to be done ALONE; the work
submitted by a student MUST be the student's own. Group work
is REQUIRED for the projects. Students may work in groups of
two or more. The more people in the group, the harsher the grading
will be.
You are responsible for the material covered during the lectures
sessions, whether or not it is also found in your textbooks or other
assigned reading materials. Similarly, you are responsible for the
material found in your textbooks and other assigned reading
materials, whether or not it is also covered during the lectures
sessions. In other words, you are responsible for the UNION
of these sources of knowledge, as depicted by the shaded region of
the Venn diagram below, not merely their intersection.
All work in projects must properly cite sources. For example,
if you quote a source in your project, you must include the
quotation in quotation marks and clearly indicate the source of the
quotation.
Assignments are due at the beginning of lecture (at 9:00) on the due
date. Late assignments will be penalized 20% per day late. (All
parts of days will be rounded up.) After five days, you will not be
able to turn in that assignment for credit. If you are worried about
turning in the assignment late and loosing points, turn in the
assignment ahead of time. You will be turning in electronic and
paper copies of all assignments. It is the electronic copy that must
be turned in by class time on the day that it is due. The paper copy
is due twenty four hours after the electronic copy. The paper copy
may be submitted in class or turned in during office hours or by
slipping it under my office door.
All exams will be open book/open notes. NO electronic devices
will be permitted in the testing area.
Copying another's work, or possession of electronic computing or
communication devices in the testing area, is cheating and grounds
for penalties in accordance with school policies.
Accommodations:
Any student with a disability should contact the instructor so
that reasonable accommodations may be made for that student.
Attendance:
Students who do not attend the first week of class may be dropped
from the course to make room for additional students to enroll.