This is the archived Fall 2013 version of the course. For the most recent version, see http://rust-class.org.

Class 0: Introduction

Action Items

You should do at least these four things before the 11:59pm on 28 August:
  1. Read the Course Syllabus.
  2. Submit a cs4414 student survey.
  3. Visit http://whenisgood.net/cs4414 to indicate times when you could make office hours.
  4. Visit https://piazza.com/virginia/fall2013/cs4414 and enroll in the course discussion site. If you are feeling social (and/or want to get a feel for how Piazza works), feel free to post a followup to the "Welcome to cs4414!" post or create your own post if you have questions about the class.
  5. Set up your student github account, following these directions.

Due to medical issues, I regret needing to cancel class today. I'm really sorry for the inconvenience, and hope to get everything back on track soon. I will be reading email and the Piazza discussion, so feel free to contact me by email.


Class 1: What is an Operating System?

Action Items

You should do at least these four things before the 11:59pm on 28 August:
  1. Read the Course Syllabus.
  2. Submit a cs4414 student survey.
  3. Visit http://whenisgood.net/cs4414 to indicate times when you could make office hours.
  4. Visit https://piazza.com/virginia/fall2013/cs4414 and enroll in the course discussion site. If you are feeling social (and/or want to get a feel for how Piazza works), feel free to post a followup to the "Welcome to cs4414!" post or create your own post if you have questions about the class.
  5. Set up your student github account, following these directions.

I'm really sorry for missing the first two classes. I hope to be fully recovered next week and get everything back on track. Thanks to Yuchen Zhou for covering the class today.

If you have not already, please make sure to complete the action items from Class 0. I understand there have been some problems in downloading the VirtualBox image (which is 1.5GB, so takes some time to download). If you were not able to download it using the original link, please try again with this link: cs4414-ubuntu-12.04.2-32bit-vdi.zip.

At Tuesday's class, I will talk about Rust and go through things you will need to know for PS1. Please look through the problem set before class Tuesday, and at least attempt the exercises and look at the zhttpo.rs code.


Class 10: Scheduling


Class 11: Smarter Scheduling


Class 12: Synchronization


Class 13: Reflections on Rusting Rust?


Class 14: Web Server Scheduling


Class 15: Benchmarking


Class 16: AppleFanning


Class 17: Trick-or-Treat Protocols


Class 18: SIM Card Exploitation


Class 19: Making a Process


Class 2: Getting Started with Rust


Class 20: Crossing into Kernel Space


Class 21: Virtual Memory


Class 22: Putting a Fork in Fork


Class 24: Storage


Class 25: Tom Pinckney


Class 26: Invent the Future


Class 3: Zero to a Billion in 4.86 Years


Class 7: What the &~#@? (Pointers in Rust)


Class 8: Git Yer Pointers Here


Class 9: Multi-Tasking Map


Class 4: Once Upon a Process


Class 5: She Sells C Shells (by the Rust Shore)


Concluding Fall 2013


In-Depth Crypto Attacks


Pages

  • Challenges
  • Course Wrapup
  • Final Projects
  • Final Survey
  • Getting Started with Github
  • IRC
  • Problem Set 3 - Zhtta Server - Benchmarking
  • Project
  • Project Ideas
  • Problem Set 1 - zhttpto Web Server
  • Comments on PS1 Comments
  • Problem Set 1 Reference Solution
  • Problem Set 2 - The Good Auld Shell
  • Problem Set 3 - Zhtta Server
  • Page Removed
  • Schedule
  • Enrolling for Spring 2014
  • Syllabus
  • Using Materials
  • Using Rust for an Undergraduate OS Course
  • VirtualBox
  • Working on Github in cs4414