380

3

Click here to load reader

Transcript of 380

Page 1: 380

1

CSE 380: Introduction to Operating Systems

Fall 2000

Instructor

Professor Insup Lee

262 Moore; lee@central; 898-3532

O�ce hours: 4:15-5 Tuesday, 2-3 Thursday

Teaching Assistants

Maria Adamou, [email protected]

Himyanshu Anand, [email protected]

Bong Ho Kim, [email protected]

Robert Spier, rspier@seas (for CSE381)

Course Description

CSE 380 is to study the principles and fundamentals of operating systems. The subjects

to be covered include: historical development of operating systems, concurrency, synchronization,

mutual exclusion, �les, CPU scheduling, memory management, virtual memory, replacement strat-

egy, resource allocation and deadlock, real-time systems, interprocess communication, distributed

programming, protection and capability, security, distributed systems, and distributed algorithms.

The importance of concurrent and distributed programming will be emphasized throughout thecourse.

Assignments, Exams and Grading

There will be a few simple programming assignments as well written homework, quizzes and

exams. The major programming project will done in CSE 381: Operating Systems Lab.

No late assignments or projects will be accepted unless prior arrangements are made. This

should be done only when there are exceptional circumstances to warrant it. Final grade will be

based on the exams, assignments, and quizzes. Grading for CSE 380 will be independent of CSE381; that is, there will two separate grades, one for CSE 380 and another for CSE 381.

Textbook

� Gary Nutt, Operating Systems: A Modern Perspective, Second Edition, Prentice Hall, 2000

Page 2: 380

CSE 380 Handout 1 2

Recommended Supplementary Books

� A.S. Tanenbaum, Modern Operating Systems, Prentice Hall, 1992.

� A. Silberschatz and P.B. Galvin, Operating System Concepts, Fifth Edition, Addison-Wesley,

1998.

� M.K. McKusick, K. Bostic, M.J. Karels and J.S. Quarterman, The Design and Implementation

of the 4.4 BSD Unix Operating System, Addison-Wesley, 1996.

� B.W. Kernighan and D.M. Ritchie, The C Programming Language, Prentice-Hall, 1978.

Prerequisites

� CSE 240

Important Dates:

� Sep 18: Assignment 1 due

� Oct 2: Assignment 2 due

� Oct 12: Exam 1

� Oct 23: Assignment 3 due

� Nov 16: Exam 2

� Nov 30: Assignment 4 due

� Dec 20: Final Exam, 8:30 am

Page 3: 380

CSE 380 Handout 1 3

Tentative Syllabus as of September 7

Sep 7 Introduction to Operating Systems

Sep 12 Processes, Interrupts

Sep 14 PCB, Unix Processes

Sep 19 Mutual Exclusion, Synchronization

Sep 21 Semaphores, Monitors

Sep 26 Concurrent Programming, Threads

Sep 28 CPU Scheduling

Oct 3 CPU Scheduling, Real-Time Scheduling

Oct 5 Memory Management, Virtual Memory

Oct 10 Paging, Page Replacement Algorithms

Oct 12 Exam 1

Oct 16 Working Set

Oct 19 File Systems

Oct 24 FAT, Unix File System

Oct 26 Input/Output

Oct 31 Deadlock Detection

Nov 2 Deadlock Recovery and Prevention

Nov 7 Distributed Systems

Nov 9 Communication

Nov 14 Distributed Synchronization

Nov 16 Exam 2

Nov 21 Distributed Algorithms

Nov 23 THANKSGIVING DAY

Nov 28 Security, Protection

Nov 30 TBD

Dec 5 Security, Privacy

Dec 7 TBD

Dec 20 Final Exam, 8:30 am