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:
- Processes and threads
- Interrupts and events
- Synchronization
- Processor scheduling
- Memory management
- File systems and storage management
- I/O communication
- Device management
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.
Instructor
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)
TAs
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.
Feedback
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.