Operating Systems, Spring 2003

Instructor: Prof. Ying-Dar Lin

Email: ydlin@cis.nctu.edu.tw, URL: http://www.cis.nctu.edu.tw/~ydlin

Course Objective:

This course covers classic materials of modern operating systems which control computer hardware to provide services to application programs. After a brief overview of computer systems and operating systems, we review key operating system components, namely processes, memory, file systems, and I/O systems, along with algorithms to manage these components. The lectures are concluded with two case studies on Linux and Windows 2000. In addition to midterm and final exams, three quizzes are interleaved to guide your study schedule. For hands-on training, we assign two mini-projects which require written reports and your demonstration to the TAs.

Pre-requisite: C Programming, Data Structures

Textbook: Silberschatz, Galvin, Gagne, Operating System Concepts, Sixth Edition, Wiley, 2002.

Course homepage: http://speed.cis.nctu.edu.tw/~ydlin/course/cn/OS/os.html

Grade: Midterm 30% (ch1-8), Final 30% (ch9-14, ch20-21), Quiz x3 20% (ch1-3, ch4-6, ch9-11), Project (demo and report) x2 20% (system call, kernel module)

Lecture: ED102, 10:10AM-12:00NN Tuesday, 3:40-4:30PM Thursday

Table of Content                                                                    Assignment

Part I       Overview

        Chapter 1 Introduction

        Chapter 2 Computer-System Structures

        Chapter 3 Operating-System Structures                            Quiz #1 ch1-3

Part II     Process Management

        Chapter 4 Processes

        Chapter 5 Threads

        Chapter 6 CPU Scheduling                                               Quiz #2 ch4-6

        Chapter 7 Process Synchronization

        Chapter 8 Deadlocks                                                        Midterm ch1-8

Part III    Storage Management

        Chapter 9 Memory Management

        Chapter 10 Virtual Memory                                              Project #1 System Call

        Chapter 11 File-System Interface

        Chapter 12 File-System Implementation                    Quiz #3 ch9-11

Part IV    I/O Systems

        Chapter 13 I/O Systems

        Chapter 14 Mass-Storage Structure                          Project #2 Kernel Module

Part VII  Case Studies

        Chapter 20 The Linux System

        Chapter 21 Windows 2000                                              Final ch9-14&ch20-21