94.401 Operating Systems
Winter 2002
Instructor: Thomas Kunz
ME 4474, phone: x3573
e-mail: tkunz@sce.carleton.ca
Office Hours: Tuesdays 10-11 am, Fridays 1-2 pm
Operating systems exploit
the hardware resources of one or more processors to provide a set of services
to system users. The operating system also manages secondary memory and I/O
devices on behalf of its users. There is a tremendous range and variety of
computer systems for which operating systems are being designed: from embedded
devices (e.g., the on-board computers for the space shuttle or a luxury sedan)
and cellphones over PDAs and Laptops to PCs, workstations, and mainframes, to
supercomputers. The variety is not just in the capacity and speed of machines,
but in applications and system support requirements. Also, operating system
research has been characterized by a rapid rate of change, and there is no
indication that this will let up. Just think about such topics as the Java
Virtual Machine or Windows CE.
In spite of this variety and
pace of change, certain fundamental concepts apply consistently throughout. The
intent of this course is to provide a thorough discussion of the fundamentals
of operating system design, and to relate these to contemporary design issues
and current directions in the development of operating systems. The objective
is to provide you with a solid understanding of the key mechanisms of modern
operating systems, the types of design tradeoffs and decisions involved in OS design,
and the context within which the operating system functions (hardware, other
system programs, application programs, interactive users).
Topics to be discussed
include: Introduction to operating system, history, structure of an operating
system; processes, threads, and concurrency; memory management; CPU scheduling;
file management.
Resources: A number of
operating systems textbooks exist, covering most or all of these topics.
However, the terminology and approaches differ slightly, and to do justice, we
need to use a relatively recent textbook. Therefore, the following textbook is
mandatory (that is, I expect students to have access to one):
·
William Stallings, Operating
Systems: Internals and Design Principles, 4th edition, Prentice Hall 2001,
ISBN 0-13-031999-6.
We will not cover all
chapters in this textbook, but will focus on chapters 2-12. The book won the
1998 Texty Award for the best Computer Science and Engineering textbook,
awarded by the Text and Academic Authors Association, Inc. Its particular
strength is the in-depth discussion of the various topics by making explicit
reference to the implementation of the basic concepts in popular operating
systems: Windows 2000, Unix SVR4, Solaris, and Linux. I will also make
available the transparencies I will be using in class, based on the slides
available from the support webpage for the textbook at
http://www.shore.net/~ws/OS4e.html. Carleton University also provides for a
course newsgroup, carleton.courses.94401a,
which the TA and I may use to post announcements throughout the term.
Additional information is available from the course homepage,
http://kunz-pc.sce.carleton.ca/sce401/, where I will post marks, assignments,
and solutions, among other things.
Prerequisites: Engineering
94.202* or 94.302*, and 94.203* or 94.303*
Schedule: Room RC 214,
Tue 14:30 1 hour, Wed 16:30 1 hour, Fri 15:30 1 hour
Marking
Scheme: There will be three assignments, each worth 10% of the final mark, a
midterm exam worth 20% and a final exam worth 50%. To pass the course (in
addition to obtaining an appropriate overall mark), all assignments must be
completed on time, and the final exam must be passed. Students who do not
write the final exam have the option to write an exam at a later point in time.
This rule, aimed at students who are sick during exam periods, apparently led
to some abuse by students who strategically choose which exam to write when. In
an effort to be fair to students who cannot write the exam for a legitimate
reason, while at the same time discouraging the abuse of this rule, the
following policy is being adopted in the Engineering Faculty:
Students taking supplemental or deferred
examinations have several more months to study than their colleagues. Also they
have a less-crowded examination schedule. Thus it is only fair to the majority
of students to expect a substantially better performance on these examinations
than on the final.
This is the policy that will
also apply to this course. Note that the above formulation leaves it up to the
instructor whether the supplemental or deferred examination will be harder or
the marking scheme will be more rigorous.
Due
Dates: Right now, I plan to schedule the assignments as follows. Assignment
1 will be handed out on January 18th and is due two weeks later (before the beginning of class).
Assignment 2 will be handed out on February 5th and is due two weeks
later. Assignment 3 will be handed out March 8th and is due three
weeks later. No late deadlines will be given. If you foresee any problem with
an assignment deadline, please come and talk to me early, in particular before
the deadline is passed. The midterm will be in class, on March 5th,
the final exam will be written during the University's April exam period.
|
Handed Out |
Due |
Weight |
Assignment 1 |
January 18 |
February 1 |
10 % |
Assignment 2 |
February 5 |
February 26 |
10 % |
Assignment 3 |
March 8 |
March 29 |
10 % |
|
|
|
|
Midterm Exam |
March 5 |
|
20 % |
Final Exam |
April 11-29 |
|
50 % |
Cheating: Collaboration
on assignments is not permitted. Suspected collaboration will be investigated
and will be reported to the Associate Dean, see also General Regulation 14.
Students
with Disabilities: Students with a disability, who require academic
accommodations, please feel free to discuss this with me. Students must also
contact the Paul Menton Centre to complete the required forms at last two weeks
prior to the midterm, and no later than March 8 for April exams.