COMS W4118: OPERATING SYSTEMS I
Spring 2008


HOME

ANNOUNCEMENTS

SYLLABUS

HOMEWORKS

POLICIES

GRADES

DISCUSSION

RESOURCES

C Programming

Linux

VMWare


Course Description

Design and implementation of operating systems. Topics include process management, process synchronization and interprocess communication, memory management, virtual memory, interrupt handling, processor scheduling, device management, I/O, and file systems. Case study of the Linux operating system.

Prerequisites

CSEE W3827 (Fundamentals of Computer Systems) and knowledge of C and programming tools as covered in W3157 (Advanced Programming) or W3101 (Programming Languages).

Class Time and Place

Tuesday-Thursday 9:10 -- 10:25 Mudd 535 CSB

Personnel


Role
Who
Mail
Office
Hours

Instructor
Erich Nahum
nahum at cs
CSB 464
Thu 3:00-5:00

Teaching Assistant
Taek Joo Kim
tk2312 at columbia
CS Lounge
Tue 10:30-12:30

Teaching Assistant
Srinivas Satish
ssn2111 at columbia
Mudd 112
Mon 1:30-3:30, Wed 10:30-12:30

Textbooks

  1. Operating System Concepts with Java (7th Edition), Avi Silberschatz, Peter Galvin, Greg Gagne, John Wiley and Sons, New York, NY, 2007 (available from Amazon.com and Columbia University Bookstore). See also Errata.
  2. Understanding the Linux Kernel (3rd Edition), Daniel P. Bovet, Marco Cesati, O'Reilly & Associates, Sebastopol, CA, 2005 (available from Amazon.com and Columbia University Bookstore). See also Errata

Grading

50%: Homework assignments consisting of both written and programming assignments
20%: Midterm: The midterm is one class period the week before spring break
30%: Final: The final is during exam week and is cumulative.

Computer Accounts

You're welcome to use any development environment you want, but all programming assignments must run on the CLIC machines. Programs that don't compile or kernels that do not boot under VMware will receive zero credit.

In order to use the CLIC machines, you need a CS account. You are responsible for obtaining this account. Please obtain it immediately, since you probably cannot do the programming assignments without an account.