COMS W4118: Operating Systems I

Dept. of Computer Science, Columbia University

Spring 2013 — Kaustubh Joshi

2/11/2013: Instructions on how to set up an Android environment and work with the kernel are available here.

1/21/2013: All further announcements will be through Piazza.

1/21/2013: Reminder: Obtain a CS account here if you don't already have one.

1/21/2013: First class on January 23, 2013.

Course Description

Time: MW 2:40-3:55pm.
Place: 833 Mudd

Operating Systems are some of the most fundamental pieces of software on almost all electronic devices that we use today. But, why do we need an OS? What functions does it provide and how? What are the basic principles on which all OSes are built? And, what can we make them do if we're willing to get our hands dirty? In this class, students will study these questions and study the following core Operating Systems concepts:

Students will then learn how these concepts are implemented in a modern mobile Operating System, Android, through a series of programming assignments that involve modifying parts of the Linux kernel and implementing new functionality. The structure and content of the class will borrow from previous editions of W4118 here, here, and here.

Prerequisites for taking this course include a strong working knowledge of C (not C++), familiarity with the command line Unix dev toolchain (make, gcc), and the apetite to work with a lot of code written by someone else. You must also have taken a class on data structures and computer architecture or have equivalent experience.


Dr. Kaustubh R. Joshi

AT&T Shannon Labs
180 Park Ave
Florham Park, NJ 07932
Phone: +1-973-360-8951

Office hours: Mondays 4-5pm
Location: 457 CS Building (Adjunct office)


Angela Wei

Office hours: Thu 4-5pm, Fri 11am-12pm
Location: CS TA Office

Jiao Li

Office hours: Tue 10am-12pm
Location: CS TA Office

Yiting Li

Office hours: Wed 10am-12pm
Location: CS TA Office

Qiuzi Shangguan

Office hours: Thu 6-8pm
Location: CS TA Office

Required Textbooks

Main text: Operating System Concepts, 9th Edition by Abraham Silberschatz, Peter B. Galvin, Greg Gagne. ISBN 978-1-1180-6333-0. December 2012. Available in hardcover and Kindle editions or as a rental from Amazon and as a binder-ready version from Wiley. Make sure you use the right edition.

Linux reference: Linux Kernel Development, 3rd Edition by Robert Love. ISBN: 978-0672329463. July 2010. Available in paperback and Kindle editions or as a rental from Amazon.


If you are taking the course and have any complaints, suggestions, or feedback, we would like to hear from you as soon as possible via the class forum (privately if you prefer) or the W4118 staff mailing list at . The same goes for any corrections regarding this website.