CS 4411 - Practicum in Operating Systems

General Information

The practicum associated with CS 4410 - Operating Systems. You implement various low-level utilities associated with operating systems, including a threads package, a networking layer, and a file system. All coding is done in C.

Prerequisites

Corequisite of CS 4410 - Operating Systems

Topics Covered

  • Non-Preemptive Multitasking
  • Preemptive Multitasking
  • Unreliable Datagram Networking
  • Reliable Streams
  • Ad-Hoc Networking
  • File System

Workload

Six projects, all of which are quite heavy. For many people, the last project is over 2000 lines, and relatively tricky to debug.

General Advice

Get a good partner for this course. Probably the most time consuming course in Cornell CS (or Compilers Prac). So be forewarned.

Start on the assignments as early as possible, since they often take a while. This is especially true for projects 3,4,5, which require multiple computers to test. The CSUG lab provides a nice environment for this, and consequently, everyone is using this lab near the deadline.

Testimonials

I enjoyed labs 1-3, as well as 6. Lab 4 was a pain, due to all the small details you had to deal with. Lab 5 was just tedious and uninteresting. Lab 6 was huge, but was fun and interesting. I learnt a LOT about C and OS in this class. I believe that if you don’t take this practicum, you probably can’t say you know how a computer works. Zhiyuan Teo is the best TA you will ever meet.

“I believe that if you don’t take this practicum, you probably can’t say you know how a computer works.” Lol wut, Sirer didn’t take the prac and if anyone knows how a computer works he does… unless you’re making the clearly true statement that an average person probably does not know how a computer works

Best class taken at Cornell. Also the hardest. You really know how a computer works after taking this course.

Past Offerings

Semester Time Professor Median Grade Course Page
Fall 2011 - Emin Gun Sirer A- http://www.cs.cornell.edu/courses/cs4410/2011fa/CS4411/index.html
Fall 2012 - Emin Gun Sirer B+ http://www.cs.cornell.edu/courses/cs4410/2011fa/CS4411/index.html

Resources

Edit this page on Github: classes/CS4411.md

Edit me on GitHub