Skip to content

CS 554 Operating Systems

CS 554 ADVANCED OPERATING SYSTEMS (3-0-3)(S) Operating system kernels: process management, memory management, file systems, security and protection. Advanced concurrent programming techniques. Operating system design and construction techniques. Modifying operating system code to observe behavior, add new functionality and run experiments. Support for soft and hard real-time systems, big data, cybersecurity, virtual machines and other domains. PREREQ: CS 552

Description

This is a pure Grad Class! A significant number of classes at BSU are cross listed, meaning you can take them as either an undergrad or grad student. Because of this, the classes are taught at a level that is accessible to both undergrads and grads. Pure graduate classes are typically more research focused and require more work. You will be expected to read and understand research papers, and you will be expected to be able to write a research paper. This class will not teach any programming languages or tools unless that is what the research paper is about. If you are not comfortable programming in C, Rust, etc. I strongly recommend you take CS452/522 first.

The topic of operating systems is vast and has many open research problems. The current state-of-the-art in operating systems is not perfect, and there are many opportunities for improvement. One of the hottest topics in operating systems is making them more secure, reliable, efficient, and scalable. This includes concepts such as virtualization, containerization, microservices, cloud computing, edge computing, IoT, etc. Don't limit yourself to what you know such as Linux, Windows, or MacOS. There are many other operating systems out there that are used in embedded systems, real-time systems, mobile devices, etc. that you may not have heard of. For example look at all the small list from CS 452.

INFO

This course is not about reinventing the wheel. There are hundreds of tutorials on the web that show you how to write a simple operating system from scratch. For example OsDev is a great resource. This course is about reading and understanding the current state of the art in the field of operating systems and then extending it in some way. This could be writing a new scheduler, a new file system, a new memory management system, etc.

Schedule

Week 1: Syllabus Week

Mon 08/19

  • Review the syllabus
  • Introductions
  • Discuss the course structure
  • Discuss the final deliverable (research paper or artifact)
  • Start brainstorming research/project ideas (you can work on your own or in groups)
    • You can work on a project that is related to your current research or your job
    • You can do an SLR (Systematic Literature Review) on a topic
    • You can replicate an existing research paper
    • You can extend an existing research paper
    • You can come up with your own idea
    • You can write your own OS to be used for teaching purposes, this is how Minix was created
  • If the class is small enough we can work on a single project together!

Wed 08/21

  • Discuss the research/project ideas
  • Discuss class meeting locations off campus
  • Discuss Zoom meetings for remote students (if needed)
  • Come to class with a small write up detailing your idea/direction, you will be given 10 minutes of class time to present.
    • If you can't think of anything that's OK!! Come to class with nothing and I will help you figure out an awesome project to work on.

Week 1 - Deliverable

Your initial research/project idea is due by the start of class on Monday 08/26. We will discuss these ideas in class and you will have the opportunity to revise your idea based on feedback.

Week 2: Project Intros

Monday 8/26

  • Present deliverables

Wed

  • Present deliverables (cont)
  • Review Boise State proxy's for accessing research papers
  • Review ACM DL and IEEE Xplore for accessing research papers
  • Rust for Linux

Week 3: Projects

Mon 09/02

  • Labor Day - No Class
  • Work on your project

Wed 09/04

  • Present deliverables
  • Rust for Linux

Week 4

Mon 09/09

  • Class will be over Zoom. We will discuss the following:
    • ACM DL Updates
    • Project updates
    • Paper presentations

Wed 9/11

  • Updates on project

Week 5

Mon 09/16

  • Each student will present a research paper that they found on their topic. This will be a 5-minute presentation followed by a 5-minute discussion. See the Paper Presentations section below for more details.

Wed 9/18

  • Updates on projects

Week 6

Mon 09/23

  • Each student will present a research paper that they found on their topic. This will be a 5-minute presentation followed by a 5-minute discussion. See the Paper Presentations section below for more details.

Wed 9/25

  • Updates on projects

Week 7

Mon 09/30

  • Each student will present a research paper that they found on their topic. This will be a 5-minute presentation followed by a 5-minute discussion. See the Paper Presentations section below for more details.

Wed 10/02

  • Updates on projects

Week 8

Mon 10/07

  • Mid Term Presentations - 20 minutes each

You will present your progress on your project formally. You will need to have a slide deck that includes the following sections:

  • Project Title
    • Description of the project
  • Research or Project Goal
    • What problem are you trying to solve?
    • Why is this problem important? What is the impact of solving this problem?
    • What is the current state of the art? You should have a good idea of what the current state of the art is in your area from the research papers you have read and shared with the class.
  • Approach
    • What is your approach to solving the problem?
  • What is the current state of your project?
    • What are the next steps?
  • Conclusion

Wed 10/09

  • Midterm Presentations continued.

Paper Presentations

Each presentation will last 5 minutes and should include the sections listed below. We will not create a slide deck for this presentation. Instead, you will need to have a hard copy of the paper with handwritten annotations that you will use to guide your presentation. You will turn in your annotated paper at the end of your presentation (this is your participation grade).

After the presentation, you will lead a 5-minute discussion about the paper. You should prepare questions in advance for the discussion, e.g., things in which you disagree with the authors or on which you would like to hear others’ opinions.

Sections to include in your presentation:

Explain each section in detail so we can discuss it.

  • Problem Statement. What problem is the paper addressing?
  • Problem Importance. Why is the problem important?
  • Related Work. What are the existing solutions to this problem?
  • Approach. What is the proposed solution in this paper?
  • Approach Insight. Why is the proposed solution different or more promising than the existing solutions?
  • Evaluation. How did they evaluate that the proposed solution improves the state of the art?
  • Conclusion: To what extent does the proposed solution improve the state of the art? What did we learn in this paper?
  • Discussion points. What are the points that you would like to discuss?

Assessments

Final Grade formula: Grade = [Earned points] / [Total Points Offered].

  • 20% In class participation and discussion
  • 80% Research Paper or Artifact
    • Midterm Presentation: 20%
    • Final Presentation: 20%
    • Final Paper or Artifact: 40%

Instructor Contact

Grading Policy

Grades will be posted in canvas and calculated with the percentages specified below. Final grades will not be rounded. I offer plenty of Extra Credit Opportunities that you can take advantage of to improve your final grade.

Letter GradePercentage
A94% < 100%
A-90% < 94%
B+87% < 90%
B84% < 87%
B-80% < 84%
C+77% < 80%
C74% < 77%
C-70% < 74%
D+67% < 70%
D64% < 67%
D-60% < 64%
F0 < 60%

Extra Credit Opportunities

Standing extra credit is always offered to allow students to bump their grade up if they are on a grading boundary so please take advantage of any extra credit offered. Any extra credit given over the semester can not exceed 2.5% of the total points offered. For example, the maximum number of extra credit points that you can earn if the total points offered is 1000 would be 25.

  • Typos and Bugs - If you find any typos or bugs in the course materials, you can click the "Edit this page" link at the bottom of the page, make the corrections, and then issue a pull request. If I merge your changes back into my repository then I will give you 5 bonus points. I have strategically placed several spelling and grammar errors for you to find so there are plenty of opportunities to get the maximum number of points offered. So make sure and read everything with an eagle 🦅 eye so you can rack up those points!

TIP

Creating a pull request is important and is the core learning objective in the extra credit process. No points will be awarded for any other method of submission. Some pages may include other markdown pages so when you click the edit button if you don't see the content that you want to correct look for an <!--@include: ../path/to/file.md --> directive which will have the path to the file that needs to be updated 😃

  • Use of AI technologies - If you are able to solve 100% of any assignment with AI, I will give you extra credit if you submit your chat logs as proof that it was 100% AI generated.

Homework Policy

Unless explicitly instructed otherwise students are expected to work on their own. All group work will be clearly marked so there should be no confusion. The Kount Computer Learning Center (CCP 241) is accessible 24/7 by proxy card to all students enrolled in CS courses. Machines in the Kount Computer Tutoring Center have all the software you will need this semester.

DANGER

It is still plagiarism to claim work that was generated by ChatGPT or other AI tools as your own and you will be written up for Academic dishonesty if you do not cite your usage of any AI tools.

Attendance Policy

I follow the official attendance policy as defined by the university. Please see the Late Work section for details on how to make up any missed work. Students are responsible for all verbal announcements or updates given during class.

Late Work Policy

All homework assignments can be submitted up to 2 days late with no penalty. After the 2 day grace period no further submissions will be accepted unless prior arrangements have been made before the original due date. No work or extra credit will be accepted after the last day of course instruction, the semester has to end at some point so plan accordingly. Work submitted 1 second late is treated the same as work submitted 1 day late. You can find the last day of course instruction at the registrar.

INFO

For classes taught in the first 5wk or 7wk session of the semester, the last day of course instruction is NOT the same as a regular semester. Please consult the registrar for the last day of course instruction for your specific class.

Exam and Quiz Policy

All exams and quizzes must be taken within the time frame specified on canvas unless prior arrangements have been made. Clearly we can’t have some students taking an exam AFTER the questions (and possibly answers) have been released as it would give that student an unfair advantage. Extensions will be granted on a case by case basis for situations that were outside of the students control. Some exams or quizzes may require you to go to the testing center. It is the student's responsibility to schedule their own appointment in a timely fashion.

Class Interaction Policy

All class interaction assignments must be completed within the time frame specified on canvas or during the lecture unless prior arrangements have been made. Assignments that are intended to be interactive are only valuable when everyone is participating at the same time. It is not fair for a student to expect their fellow classmates to respond or watch your submission that is late when everyone else submitted on time. The secret code for the syllabus quiz is "green".

This applies (but is not limited to) to the following assignment types:

  • Discussion posts
  • Reflections (both written and video)
  • Group meetings - both virtual and in person
  • Status updates
  • Any in class activities
  • Any quizzes or exams that are done on paper

Communication Policy

During the semester communication outside of the classroom will be through email, canvas, and office hours as detailed below. Other methods such as carrier pigeon 🐦 are not supported at this time.

I get a lot of email and sometimes I miss messages, so if you don’t receive a response from me after 48hrs please check to make sure you are sending the email from BroncoMail and send a follow-up email. You can also send an email directly in canvas if your emails are not going through. To help facilitate quick communication please include the following information in all emails to myself or the class TA/GA.

  • First and Last name
  • Student ID - I need this so I can look you up in the system.
  • The class and section number that you are in for example CS123 - section 1

BroncoMail is the official communication channel through which all university business is conducted. It is expected that you access and read university communications two or three times per week. For more information see the University Policy on Student Email Communications (Policy 2280). Your instructor will not respond to any emails sent from personal accounts such as Gmail or Yahoo.

Your instructor will make every effort to return emails within 24hrs Monday thru Friday between the hours of 9:00am and 5:00pm (MST). Emails sent on Saturday, Sunday, or outside of the defined hours will be returned within 24hrs on the following business day. Emails should be reserved for questions that are not appropriate for a public forum such as grades or other personal issues.

Office Hours Policy

For classes taught in the online or remote format office hours will be accessible on canvas by appointment. For classes that are taught in the face to face format office hours will only be available in person with times posted in Canvas. If you can not find the office hours appointment link in canvas please email me ASAP as I sometimes forget to post them at the start of the semester.

IT support Policy

Your instructor and teaching assistant can not provide IT support for your personal machine. If you can not get your personal machine configured correctly you will need to come into the lab to complete all assignments. All machines in the CS labs are supported by the departments IT staff and are guaranteed to work.

Time Commitment

According to Boise State University policy 4080, a 1 credit course spread over 15 weeks should require roughly 3 hours of work per week divided over both in-class interactions and homework. Classes that are held in compressed time frames such as summer or winter breaks still need to complete the same number of credit hours in order for the class to count toward your degree. Thus, if you are taking this class in a compressed semester please consult the table below to make sure you have time to complete all the assigned course work. For example, as noted in the table below, taking two 3 credit courses in a 7 week semester is equivalent to working a full time job.

For a compressed course it is critical that you don’t fall behind! Compressed courses move fast and missing 1 week of class is very hard if not impossible to recover from.

CreditsNumber of weeksTotal HoursHours of work per week
1345 hrs15 hrs
1545 hrs9 hrs
37135 hrs19 hrs
315135 hrs9 hrs

University Policies

All students are required to be familiar with the policies posted below. Please review all linked policies below. Violations of university policies can result in the student receiving a failing grade (F) in the course.

Student support

Accessing University Support Services

Boise State cares about you! You can find many kinds of help, including technical, academic, financial, life needs, learning accommodations, data privacy agreements, and much more. These resources have been gathered into one convenient document for you to keep on hand. Almost all of the student services on campus are also available to online students. Make sure to take a look at the Accessing University Support Services document.

Released under the MIT License.