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.