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.