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.
Corequisite of CS 4410 - Operating Systems
- Non-Preemptive Multitasking
- Preemptive Multitasking
- Unreliable Datagram Networking
- Reliable Streams
- Ad-Hoc Networking
- File System
Six projects, all of which are quite heavy. For many people, the last project is over 2000 lines, and relatively tricky to debug.
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.
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.
|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|