Skip to content

CS 452/552 Operating Systems

CS 452/552 OPERATING SYSTEMS (3-0-3)(F,S) Process management, concurrency, inter-process communication, synchronization, scheduling, memory management, file systems and security. Case studies of multiple operating systems. PREREQ: CS 321 and ECE 330.

Topics and Schedule

WeekDayTopicReading AssignmentWhat Due?
1TuCourse Introduction
ThC ReviewModern Debugging, CoverityHw1
2TuHw2Kernel patches
ThP1Hw2
3TuOperating Systems IntroductionOSTEP ch2 - Introduction
ThP2P1 Due
4TuThe ProcessOSTEP ch4 - Abstraction the process
ThProcess APIOSTEP ch5 - Process API
5ThLimited Direct ExecutionOSTEP ch6 - Limited Direct Execution
TuP3P2 Due
6TuSchedulingOSTEP ch7 - Scheduling Introduction
ThAddress SpacesOSTEP ch13 - Address Spaces
7ThFree Space ManagementOSTEP ch17 - Free Space management
TuP4P3 Due
8TuMidterm review
ThMidterm examch2, ch4, ch5, ch6, ch7, ch13, ch17
9TuPagingOSTEP ch18 - Paging: Introduction
ThConcurrencyOSTEP ch26 - Concurrency and Threads
10ThLocksOSTEP ch28 - Locks
TuP5P4 Due
11TuLocked Data StructuresOSTEP ch29 - Locked Data Structures
ThCondition VariablesOSTEP ch30 - Condition Variables
12ThSemaphoresOSTEP ch31 - Semaphores
TuP6P5 Due
13TuConcurrency BugsOSTEP ch32 - Concurrency Bugs
ThEvent Based ConcurrencyOSTEP ch33 - Event Based Concurrency
14TuThanksgiving Break
ThThanksgiving Break
15ThI/O DevicesOSTEP ch36 - I/O Devices
TuP7P6 Due
16TuFiles and DirectoriesOSTEP ch39 - Files and Directories
ThSecurityOSTEP ch53 - SecurityP7 Due
17Final Exam

Textbook

Assessments

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

  • Projects -100 points each
  • Homework - 25 points each
  • Exams - 150 points each

Course Learning Outcomes

By the end of this course the student should have achieved the following course learning outcomes.

TLOSLOObjectiveAssessment Instrument
1Describe the fundamental components of a modern operating systemExam
1.1Articulate process creation and destructionExam
1.2Use system library codeProject 3
1.3Use system documentationProject 3
1.4Apply computer science theory and software development fundamentals to produce computing-based solutions. (ABET Outcome 6)Project 5
1.5Use simple shell scripts and system tools to analyze process behaviorProject 5
2Describe the fundamental (core) abstractions used to implement Operating SystemsExam
2.1Demonstrate how low level memory is managed in user spaceProject 4
2.2Explore the system call interfaceProject 7
2.3Show an understanding of the difference between user and kernel spaceProject 7
2.4Articulate common problems arising in Operating System design and implementationExam
3Construct applications that utilize processes, threads, and synchronization primitives to solve problems requiring concurrent or parallel computationProject 5
3.1Analyze a complex computing problem and apply principles of computing and other relevant disciplines to identify solutions. (ABET Outcome 1)Project 5
3.2Explore the effects of multiple threads operating on the same bufferProject 5
3.3Identify the sources of deadlocks, race conditions, memory stomps and data lossProject 6
3.4Apply concurrent programming techniques such as threads, event loops, and inter-process communicationProject 6
4Practice secure programming techniquesAll Projects
4.1Produce code that is free of all memory leaksAll Projects
4.2Produce code without any out of bounds read/write errorsAll Projects
4.3Identify common attack vectors with respect to the operating systemExam
4.4Identify common programming constructs that cause security vulnerabilitiesExam
5Use professional software engineering tools and techniques.All Projects
5.1Compile your code with a build systemAll Projects
5.2Use a unit test framework
5.3Use a professional version control system (git)Project 1
5.4Explore compiling and running code on at least 2 different systemsProject 1
5.5Explore how to setup a continuous integration and testing projectProject 1

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.