Lecture: 3 hours
Discussion: 1 hour
Prerequisites: Course ECS 40; course ECS 154A or EEC 70; course ECS 154B or EEC 170 strongly recommended
Grading: Letter; homework (15%), laboratory (15%), midterm (30%), final (40%)
Catalog Description:
Basic concepts of operating systems and system programming. Processes
and interprocess communication/synchronization. Virtual memory, program
loading and linking. File and I/O subsystems. Utility programs. Study of
a real operating system.
Expanded Course Description:
Textbook:
McKusick and Nevile-Neil, Design and Implementation of the FreeBSD
Operating System, Addison Wesley, 2005
Computer Usage:
Students must make changes to the MINIX operating system, which
runs standalone on PCs or Sun SPARC stations.
Laboratory Projects:
The four laboratory projects involve modification of the MINIX operating
system, which is a smaller and more tractable version of UNIX. The students
will gain experience in operating system design and implementation through
these assignments. Projects involve design and creation of modified schedulers,
addition of I/O drivers, memory allocation, and other projects requiring
extensive design and modification of MINIX source code. Design, testing
and performance evaluation of completed projects are important components
in grading these projects.
Engineering Design Statement:
The laboratory projects are open-ended design problems giving
students opportunities to consider important design decisions in a modern
operating system. Students are graded on the quality of the design and
how it is validated through sample test programs. Examinations also include
an important component of design questions.
ABET Category Content:
Engineering Science: 2 units
Engineering Design: 2 units
Goals:
Students will:
Student Outcomes:
Instructors: F. Wu
Prepared by: K. Levitt, R. Olsson (Nov. 1996)
Overlap Statement:
This course does not duplicate any existing course.