Post on 15-May-2017
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, adamou@gradient.cis
Himyanshu Anand, hanand@saul.cis
Bong Ho Kim, kimbong@gradient.cis
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
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
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