CSE 380: Operating Systems (Fall 2003)

Meeting Time and Place: Tues/Thurs 12:00-1:30, Levine 101
Schedule: Class Schedule (Check the schedule for class dates, notes, homeworks, etc.)
News: upenn.cis.cse380


Instructors Insup Lee (lee@central.cis.upenn.edu)
Levine 602
Office hours: Tues 4:15-5, Thurs 5-6

  Dianna Xu (xuy@seas.upenn.edu)
Moore 172
Office hours: By appointment

Teaching Assistants:    Marc Corliss (mcorliss@cis.upenn.edu)
Office hours: Mon/Wed 3:00-4:00 (Moore 459)

  Aaron Evans ( aarone at cis.upenn.edu)
Office hours: Tues/Thurs 11:00-12:00 (Moore 459)

  Bong Ho Kim (bhkim@lucent.com)
Office hours: By appointment

  Wonhong Nam (wnam@cis.upenn.edu)
Office hours: Fri 3:00-5:00 (Room M078)


CSE 240 or EE 300.

Course Description

CSE 380 is intended as a general introduction to operating systems. The subjects to be covered are as follows: historical development of operating systems, concurrency, synchronization, mutual exclusion, files, CPU scheduling, memory management, virtual memory, replacement strategy, 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 the course.


Required: Modern Operating Systems
A.S. Tanenbaum
Second Edition, Prentice Hall, 2001.

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

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

  The Design and Implementation of the 4.4 BSD Unix Operating System
M.K. McKusick, K. Bostic, M.J. Karels and J.S. Quarterman
Addison-Wesley, 1996.

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


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 grades will be based on three exams, and homework assignments and programming projects.


Midterm Exam 1: In class, Thursday, October 9
Midterm Exam 2: In class, Tuesday, November 18
Final Exam: 8:30am-10:30am, Wednesday, December 17 (Cumulative)


Final exam: 35-40%
Midterm exams: 40 (20 each)%
Homework: 15-25%
Participation, etc.: 0-5%