Skip to content
This organization was marked as archived by an administrator on Apr 17, 2024. It is no longer maintained.

Operating Systems II

Course description

This course teaches how internals of modern operating systems are working with hardware/software stack. In the course, we will learn fundamental concepts of operating systems by building an operating system by our own hand. In particular, Labs are based on JOS, an educational OS project, and will build it starting from booting (lab1), to virtual memory (lab2), to process (lab3), and finally to multi-tasking (lab4). We will also covers concurrency issues in systems by learning on how to implement locks and other synchronization mechanisms and how to resolve deadlock issues.

This course borrows lots of materials from MIT’s 6.828, the original course that developed JOS, and also from CS3210 of the Georgia Institute of Technology and CSE 451 of the University of Washington.

Prerequisite

  • 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)

Class meetings

T/R 10:00 - 11:20 am in person at KIDD 364. The attendance of lectures is not required but strongly recommended.

Recitation (Lab) meetings

Lab tutorial videos and slides will be posted on Canvas. Attendance is not mandatory. They are served as additional office hours. (See below)

Important Dates

  • No recitations in Week 0
  • First day of class: Sept 28
  • Last day of class: Dec 7
  • Last day to:
    • Add a course online: Oct 8
    • Drop a course (100% refund): Oct 8
    • Drop a course (50% refund): Oct 22
    • Change the Grading Basis: Nov 17 by noon
  • Holiday(s): Veterans Day (Nov 10), Thanksgiving (Nov 23-24)

Textbook

Office hours and recitation

  • Office Hours (start from Week 2, via Discord or in person): See Main Page

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)
Letter Grade Percentage (CS 544)
A 93 or greater (>=96)
A- 90 - 93 (93 - 96)
B+ 86 - 90 (89 - 93)
B 83 - 86 (86 - 89)
B- 80 - 83 (83 - 86)
C+ 76 - 80 (79 - 83)
C 73 - 76 (76 - 79)
C- 70 - 73 (73 - 76)
D+ 66 - 70 (69 - 73)
D 63 - 66 (66 - 69)
D- 60 - 63 (63 - 66)
F less than 60 (<63)

Online Discussion

Online discussion is strongly encouraged and it will help you a lot in solving lab problems.

Please also join Discord to have a more faster feedback on your questions; we will try to reply to your questions ASAP, but in the worst case, please allow us to reply within a day (i.e., 24 hours).

Policy

CS 444/544 has strict due dates for lab assignments but allows late submissions with penalty. In this regard, 100% of points from your lab assignment submission will be given if you submit the assignment before the due date. However, once you miss the due date, you will get 75% of points from 1-week late submission, and you will get 50% of points from more than 1-week delayed late assignment submission. All assignments must be submitted before 12/13/2023 11:59pm (PST) to get the point with penalty.

Assignment submission after that day (12/13) will get 0 points.

Regarding plagiarism, We strictly follow the OSU policy (read OSU’s Code of Student Conduct).

If the instructor detects plagiarism in assignment submissions such as copied code from web, other student’s submission, etc., then the assignment will be given to have 0 pts or the student who submitted the assignment will get F from the course.

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

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 course, 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.

AI Usage/Allowance for this course

For this course, you must be the author of all work. You may use Artificial Intelligence (AI) tools in some minor ways. For example, unless otherwise specified in the assignment, you may use AI to:

  • Prompting an AI tool for generating abstract ideas
  • Prompting an AI tool to polish or edit text you have drafted
  • Prompting an AI tool to quiz yourself
  • Prompting an AI tool to explain new or confusing concepts
  • Prompting an AI tool to generate code snippets to solve unassigned example tasks

You may NOT use AI tools for any other purposes in this course. Examples of inappropriate use of AI tools in this course include, but are not limited to:

  • Prompting an AI tool to generate code snippets to solve a problem presented in a quiz or lab assignment
  • Prompting an AI tool to draft a write up or the code implementation for a lab assignment

Always review individual assignments for specific instructions. If you are using language or code generated by an AI tool, you must properly attribute that use by putting that language in quotation marks (code in comments) and adding a citation just like you would when you copy language or code from human authors.

Staff/TA

  • Instructor: Yipeng (Roger) Song (@songyip)
  • TA1: Jonathan Keller
  • TA2: Zexian Li
  • TA3: Jinhong Choi
  • ULA1: Alvin Johns II
  • Feel free to contact us via Discord / E-mail

Popular repositories

  1. .github .github Public archive

  2. lab1 lab1 Public archive

    C

  3. lab2 lab2 Public archive

    C

  4. lab3 lab3 Public archive

    C

  5. lab4 lab4 Public archive

    C

Repositories

Showing 5 of 5 repositories
  • lab4 Public archive
    CS-444-nilsstreedain/lab4’s past year of commit activity
    C 0 0 0 0 Updated Dec 11, 2023
  • lab3 Public archive
    CS-444-nilsstreedain/lab3’s past year of commit activity
    C 0 0 0 0 Updated Dec 11, 2023
  • lab2 Public archive
    CS-444-nilsstreedain/lab2’s past year of commit activity
    C 0 0 0 0 Updated Dec 11, 2023
  • lab1 Public archive
    CS-444-nilsstreedain/lab1’s past year of commit activity
    C 0 0 0 0 Updated Dec 11, 2023
  • .github Public archive
    CS-444-nilsstreedain/.github’s past year of commit activity
    0 0 0 0 Updated Oct 3, 2023

Top languages

Loading…

Most used topics

Loading…