General Information

Course description

The main objective of this course is to teach you the internals and design of modern operating systems. You will learn fundamental concepts of operating systems by building one from scratch. The assignments are based on Jos, an educational OS project and includes:

  1. Booting an OS [Lab 1]

  2. Virtual Memory [Lab2]

  3. Processes and Process Management [Lab3]

  4. Multi-tasking [Lab 4]

The course will also delve into concurrency issues and discuss topics such as lock and other synchronization mechanisms and how to resolve deadlocks.

This course borrows lots of materials from OS courses at MIT (6.828), the original course that developed JOS, Georgia Tech (CS3210) and the University of Washington (CSE 451).

Prerequisites

  • Computer Architecture and Assembly Language (CS 271 at OSU) or ECE 375

  • Operating Systems I (CS 344 at OSU)

  • Linux System Administration (CS 312 at OSU, not required but recommended)

Course Staff

  1. Instructor: Prof. Sibin Mohan(@sibin)

  2. TA: Sultan Alanazi (@sultan)

  3. TA: Peiyuan Chen (@peiyuan)

  4. TA: Jacob Eckroth (@jacob)

  5. TA: Christian Herinckx(@christian)

  6. TA: Avery Stauber (@avery)

  • Feel free to contact us via Discord / E-mail.

Class meetings

  • When: Tuesdays and Thursdays, 16:00-17:20 [4:00pm-5:20pm]

  • Where: LINC 210

(Older) lecture videos will be posted online on YouTube and the links will be posted and announced here as well as Canvas.

Lab meetings

We have in-person lab/recitation meetings this term. It will be led by the TAs.

The schedule and locations:

Textbook

Operating Systems: Three Easy Pieces” by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau.

Other readings/resources:

  1. John Lion’s “A commentary on the Sixth Edition UNIX Operating System”.

  2. “How to Make An Operating System” by Samy Pesse.

Office hours

  • Sibin: Mondays, 2:00 – 4:00 PM, 3049 KEC [could be changed, so check the Discord Server for latest updates]

  • TA Office Hours

Note: Jacob Eckroth and Christian Herinckx will hold their office hours in the KEC Atrium. Other TAs will post their locations on the Discord Channel each time.

Grading policy

  • 70% JOS Lab (10%, 15%, 20% and 25% per each of lab1, lab2, lab3 and lab4, respectively).

  • 30% Quizzes (Quiz1, Quiz2, Quiz3)

  • Some extra credits in JOS Labs (1% or 2% each)

Online and In-Person Discussions

Discussions among students is strongly encouraged and it will help you a lot in solving lab problems and also learning the course content better.

NOTE: We will use Discord for a lot of the discussions so please sign up for it. We will try to respond in a reasonably quick manner. In the worst case, please allow 24 hours before you ping about the same issue again.

Of course, also feel free to post your questions, ideas and thoughts on Canvas via the Discussion menu.

Policies [Late Submissions, Plagiarism and Misc]

CS 444/544 has strict due dates for lab assignments but allows late submissions with penalty. Details:

  1. Submission by due date: 100% of the points

  2. 1 week late submission: 75% of the points

  3. Beyond 1 week delay: 50% of the points [must be submitted before Friday, June 10, 2022, 11:59 PM]

  4. Submissions beyond June 10, 2022: 0 points

Plagiarism

We strictly follow the OSU policy outlined in the OSU’s Code of Student Conduct.

Warning

If the instructor detects plagiarism in assignment submissions such as copied code from the web, other student’s submission, etc., then,

  1. either the assignment grade will be reduced to 0 points OR

  2. the student who submitted the plagiarised assignment will be given a failing grade

Note: There will also be consequences (point reduction, lowered grades) to students who enable plagiarism or allow others to copy their code.

Please do not copy other’s code. Write your code for the assignments.

Important

Cheating vs. collaboration

Collaboration is a very good thing. On the other hand, cheating is considered a very serious offense and is vigorously prosecuted. Vigorous prosecution requires that you be advised of the cheating policy of the course before the offending act.

For this semester, the policy is simple: don’t cheat:
  • Never share code or text on the project.

  • Never use someone else’s code or text in your solutions.

  • Never consult potential solutions on the Internet.

On the other hand, for this class, you are strongly encouraged to:
  • Share ideas.

  • Explain your code to someone to see if they know why it doesn’t work.

  • Help someone else debug if they’ve run into a wall.

If you obtain help of any kind, always write the name(s) of your sources.

(ref. http://courses.cs.washington.edu/courses/cse451/15au/)

Grade Review Policy

You have one week after a grade is released to ask me questions about it and seek a correction. After the week has passed, the grade is finalized. When releasing a grade, I also post comments where appropriate, explaining where you lost points, made mistakes, etc.

In case you are seeking a correction to the grade, you need a specific reason: e.g., your reasoning on Lab-1 was essentially correct but your code didn’t work; you can run it fine on your machine; etc. I cannot accommodate general requests that are a variation on “I think my grade was too low”. Why do you think that? Based on our discussion, I might increase the grade, decrease it, or leave it as is.

Of course, you can stop by anytime during the term to ask questions about any part of the material. The one-week deadline applies to grade-specific questions.

Students with Disabilities

Accommodations for students with disabilities are determined and approved by Disability Access Services(DAS). If you, as a student, feel that you need accommodations but have not obtained approval please contact DAS immediately at 541-737-4098 or at http://ds.oregonstate.edu. DAS notifies students and faculty members of approved academic accommodations and coordinates implementation of those accommodations. While not required, students and faculty members are encouraged to discuss details of the implementation of individual accommodations.

The definition of disability is not limited to physical disability. OSU’s Nondiscrimination on the Basis of Disability policy states:

…no qualified person shall, solely by reason of disability, be denied access to, participation in, or the benefits of, any program or activity provided by the University. Each qualified person shall receive the reasonable accommodations needed to ensure equal access to employment, educational opportunities, programs and activities in the most integrated setting feasible.

COVID-19 Related Absences

Note: The university’s `COVID-19 Safety and Success websitehttps://covid.oregonstate.edu/safety-success-plan<>`__ serves as the primary communication channel for the Oregon State community regarding COVID-19 logistics and classroom guidelines.

This class is meant to operate in person so please attend the lectures and labs/recitation sessions to maximize your chances of learning and retaining the material. However, if circumstances prevent you from attending the class, you can try to learn the materials remotely. All materials (including videos from previous iterations of the class) are posted on this website.

Due to limited resources, I will not officially support online lectures (apart from posting the links mentioned earlier). I will do the following:

  1. Attendance is not required for both lecture/lab sessions (no attendance check)

  2. Zoom link to the lecture (live) will be posted online [only IF contact me ahead of time], Tu/Th 16:00 - 17:20 (you can take live lecture remotely)

  3. Lecture videos (from previous offerings, Fall 2020) will be online (you can watch lecture videos if you missed the lecture)

I will not record in-person lectures.

Please check with your academic advisors regarding whether you can take this class remotely and get credits for it (it likely depends on the status of the student).

Reach Out for Success

University students encounter setbacks from time to time. If you encounter difficulties and need assistance, it.s important to reach out. Consider discussing the situation with an instructor or academic advisor. Learn about resources that assist with wellness and academic success at oregonstate.edu/ReachOut. If you are in immediate crisis, please contact the Crisis Text Line by texting OREGON to 741-741 or call the National Suicide Prevention Lifeline at 1-800-273-TALK (8255). If you have a disability that requires special accommodation, please get in touch with the University’s Disability Access Services. The definition of disability is not limited to physical disability. They will work with the instructor to make sure this class works for you: http://ds.oregonstate.edu