CSE-513: Introduction to Operating Systems - Syllabus



Instructor: Harry Porter

Home Phone: 503-224-0014
E-Mail: harry@cs.pdx.edu
Office space at OGI: Room 146, CSE Central
Office hours: directly after class meetings and by arrangement

Teaching Assistants:

Alex Preoteasa
Office: Room 254E, Compton Building
Phone (office): (503) 748-1267
Phone (home): (503) 466-9306
Email: alexp@cse.ogi.edu

Shawn Bowers
Email: shawn@cse.ogi.edu

Course Description:

A study of the design and implementation of modern operating systems. The course concentrates on operating system kernel design, and includes the following topics: concurrent processes, interprocess communication, synchronization, scheduling, resource allocation, memory management, the concept of virtual memory and the required underlying hardware support, secondary storage management, file systems, and security. Many concepts are illustrated with examples from real operating systems. 3 credits

When and Where:

Monday & Wednesday, 4:00PM - 5:20PM

MOVED TO: Administration Building, Room AB401, (Bldg 2 on the map), Map of OGI Campus

OLD LOCATION: 1600 Building (Bldg 17 on the map), room 120, Map of OGI Campus
This building is on Amberglen Pkwy, where Walker intersects. The classroom door is an exterior building door around the side of the building.

First Class: Monday, September 25, 2000
No class on: November 22 (Wed) and November 27 (Mon)
OGI Closure Hotline: 748-1551

Textbook:

Operating System Concepts (Fifth Edition), by A. Silberschatz and P. B. Galvin. Published by John Wiley and Sons. (This book was formerly published by Addison-Wesley.)
The textbook is required and is available through FollettExpress ( ogi.follettexpress.com ).

Exams:

Final Exam: Wednesday, December 6, 4:00PM - 5:20PM
The final will be comprehensive. It will be closed book and closed notes.

Prerequisites:

There are no official prerequisites. However, students will be working on an operating system project written in C++ under UNIX; as such, they will ideally have previous experience in C++ and the UNIX environment. If you know C, but not C++, you should be able to manage, since we will only use a subset of the full C++ language. A tutorial paper and some small example C++ programs are provided.

Programming Projects:

In this course, students will modify an existing operating system called Nachos. They will be given a large body of code, written primarily in C++, and they will modify it by adding functionality.

There will be 4 or 5 programming assignments during the term, taking about 2 weeks each. Students will work in groups of 2 or 3 and all members of a group will receive the same grade for each assignment. The grading will not take team size into account on the assumption that the reduction in workload in a larger group is offset by the overhead of group management.

The projects will build on each other, in the sense that later projects will use the functionality created in earlier projects. It is therefore important not to fall behind in the programming assignments. All assignments must be handed in on time unless prior approval is obtained. Late programming submissions will not be accepted without prior approval.

Students are encouraged to discuss the programming project among groups as well as within groups. However, the actual coding must be done solely by members of the group. In other words, you are encouraged to share ideas, to talk specifics, and even to look directly at code when discussing code specifics with someone in another group, but you are forbidden from sharing or copying code between different groups.

Each member of a group is responsible for all the code submitted by that group. The actual amount of code to be written will be fairly small. Much of your energy should go into understanding the existing code and creating a well-thought-out design before you actually start coding.

Each group will be responsible for testing its code.

Attendance:

Attendance in class is mandatory. Successful students will arrive on-time, relaxed and full of curiosity.

Grading:

The final exam may test on material covered only in class and on material covered only in the reading assignments. Your grade will be based approximately, as follows. These percentages are tentative; I may change them.

Programming 50%
Final 50%

Mailing List:

There is an email mailing list called cse513-list, which you should subscribe to. To ad yourself to the list, send an email to majordomo@cse.ogi.edu with no subject and a single line in the message body:

subscribe cse513-list

You may submit short messages to this mailing list by emailing to cse513-list.