Operating Systems

CSC 262, Spring 1997

Ileana Streinu

Course Description & Syllabus


Introduction

Without its software, a computer is useless. The most fundamental piece of software is the operating system. Every computer nowadays has an operating system, which runs the application programs and assists in the correct and efficient management of different user processes and computer resources: memory, disk space, processor time.

This course will show you the theory and practice behind the major components of an operating system, will give you a hands-on experience with writing code that might be part of an operating system and will enhance your understanding of Unix as our main case study.


Syllabus

1. Introduction. The components of a time sharing multi user operating system.

2. File systems and file system implementation.

3. Memory management. Virtual memory. Segmentation and Paging.

4. Protection and Security.

5. Processes. Interprocess Communication.

6. Process synchronization. Critical Region. Semaphores. Monitors.

7. Deadlocks.

8. CPU Scheduling.

9. (if time allows) Introduction to networks.



Class Times

Lecture: Tuesdays 10:30-11:50, Seelye 212

Lecture: Thursdays 10:30-11:50, Seelye 212

Lab: Tuesdays 1:00-2:50, McConnell 104 (location may change and will be announced in class)


Textbook

Andrew Tannenbaum and Albert Woodhull, Operating Systems, Design and Implementation, Second Edition, Prentice Hall, 1997

Will be available at the Grecourt Bookshop in about one week from the beginning of the semester.

Additional readings will be placed on reserve during the semester in the Science Library. I also expect you to have a reference book for Unix.


Course Structure

The class will meet twice a week for lectures, on Tuesday and Thursday mornings, and once a week for a lab (on Tueday). Lectures will be held in Seelye 212, the labs (usually) in McConnell 104, but this is not a rigid schedule. Occasionally I will lecture during the lab time, and might use a whole week (lecture and lab time) for working on a project. Changes will be announced in class.

The labs and programming projects are to be done with a partner, but for the homeworks I expect individual work. Throughout the semester several small projects will be assigned, some involving reading and understanding of a particular topic or source code, some programming. I may use the lab time for the student presentation of the projects.


Expected Work

One of my goals in this class is to provide you with an understanding of the complexity of a real operating system, through programming and code reading projects dealing with such components of an operating syustem as virtual memory or the scheduler. Another goal is to get you more hands on experience with more advanced features of Unix. Accordingly, there will be several projects (general OS readings, code reading and programming) and several theoretical homework assignments. Each project is followed by a class presentation.


Lateness Policy

Except for illness or very special circumstances, no late days will be granted for homeworks and projects.


Grading

Homework and Projects (50%), Midterm (20%), Final (30%).

Class attendence is required and will count towards the final grade.


Grading Policy

Grade
Meaning
A Exceptional: highly creative, perfect technical skills in all hwk and lab work.
A- Outstanding: perfect technical skills, creative.
B+ Very good: good technical skills, but makes occasional mistakes; shows creativity.
B Good: good technical skills with occasional mistakes; average quality of work.
B- Good, but frequent mistakes, average quality of work.
C+ Modest technical skills, average quality of work.
C Modest technical skills, modest quality of work.
C- Low technical skills, modest quality, but did the work and attended the classes.
F Fail: missed many classes/homeworks/labs/exams, didn't show any interest in the class.


Professor

Ileana Streinu

Office: McConnell 210

Phone: x3827

Email: 262b@grendel.smith.edu, streinu@cs.smith.edu

WWW: http://cs.smith.edu/~streinu

Office hours: to be announced.


Teaching Assistant

Elizabeth Lovance


Tentative schedule


Last updated on January 28, 1997.