Operating Systems and Data Bases
94.301, Fall 2001
Instructor: Thomas Kunz
tkunz@sce.carleton.ca
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, database systems, database query languages.
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.
The previous version of the
textbook (3rd edition), on sale until summer 2000, is fine as well.
The book’s 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. Additional information is available from
the course homepage, http://kunz-pc.sce.carleton.ca/sce301/, where I will post
marks, assignments, and solutions, among other things.
Prerequisites: Engineering
94.202* or 94.210*, and 94.203*. Precludes additional credit for Engineering
94.401*.
Schedule: Room 5050 MC,
Mon 11:30 1 hour, Tue 13:30 1 hour, Thu 12:30 1 hour
Marking
Scheme: There will be four programming assignments, each worth 5% to 10% of
the final mark, a midterm exam worth 20% and a final exam worth 45%. To pass
the course (in addition to obtaining an appropriate overall mark), all
assignments must be completed, 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 (since this is not a 4th year course,
there are no supplemental exams, however). Note that the above formulation
leaves it up to the instructor whether the 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 September 11 and is due three weeks later. Since you
will have to learn to work with the programming environment, you have more time
and the assignment will count for less than the next three assignments.
Assignment 2 will be handed out on October 4, Assignment 3 will be handed out
October 30, and Assignment 4 will be handed out November 15, all three
assignments are due two 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 October 25, the final exam will be written during
the University's December exam period.
|
Handed Out |
Due |
Weight |
Assignment 1 |
September 11 |
October 2 |
5 % |
Assignment 2 |
October 4 |
October 18 |
10 % |
Assignment 3 |
October 30 |
November 13 |
10 % |
Assignment 4 |
November 15 |
November 29 |
10 % |
|
|
|
|
Midterm Exam |
October 25 |
|
20 % |
Final Exam |
December |
|
45 % |
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 and
the course webpage. Cheating includes submitting someone else’s assignment as
your own as well as allowing someone else to submit your solution as his/her
own.
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 November 2 for December exams.