Skip to content

CS 452/552 Operating Systems

Catalogue Description

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.

Course Logistics

Assessments

  • Assignments (35%)
  • Midterm (25%)
  • Final (25%)
  • In Class Activities (15%)

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

Grading Policy

Grades will be posted in Canvas and calculated using the percentages below. Final grades will not be rounded. Extra Credit opportunities are available throughout the semester to help improve your final grade.

Letter GradePercentage
A94% – 100%
A-90% – 93.99%
B+87% – 89.99%
B84% – 86.99%
B-80% – 83.99%
C+77% – 79.99%
C74% – 76.99%
C-70% – 73.99%
D+67% – 69.99%
D64% – 66.99%
D-60% – 63.99%
FBelow 60%

Extra Credit Opportunities

Standing extra credit is always available to help students on a grading boundary. Extra credit earned over the semester cannot exceed 2.5% of total points offered (e.g., a maximum of 25 points in a 1000-point course).

  • Typos and Bugs — If you find a typo or bug in the course materials, click the "Edit this page" link at the bottom of any page, make the correction, and submit a pull request. If your pull request is merged you will receive 5 bonus points. Read carefully — there are deliberately placed errors throughout the materials. 🦅

TIP

Submitting a pull request is the core objective of this extra credit. No points will be awarded for any other submission method. If you click "Edit this page" and don't see the content you want to fix, look for a <!--@include: ../path/to/file.md --> directive — that points to the source file that actually needs editing.

Homework Policy

Unless explicitly stated otherwise, all work is individual. Group assignments will be clearly marked. The Kount Computer Learning Center (CCP 241) is accessible 24/7 by proxy card to all students enrolled in CS courses and has all the software you will need.

AI Policy

There is no restriction of AI use in this course. You may use AI tools to help you with your work, but you are responsible for ensuring that your work is accurate and meets the requirements of the assignment. You are strongly encouraged to explore the use of AI tools as part of your learning process, but you should not rely on them exclusively. If you use AI tools, you should disclose this in your work and provide a brief explanation of how you used them.

Attendance Policy

I follow the official attendance policy as defined by the university. Students are responsible for all announcements made during class. If you miss a class, it is your responsibility to get caught up. Students with an excused absence should contact me as soon as possible to arrange make-up work. Students who are chronically late may lose up to 10% of their final grade for excessive tardiness after receiving a written warning.

Late Work Policy

Homework assignments may be submitted up to 2 days late with no penalty. After the grace period, no submissions will be accepted unless prior arrangements were made before the original due date. No work or extra credit will be accepted after the last day of course instruction — the semester must 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 on the registrar's academic calendar.

Compressed Semesters

For courses taught in a 5-week or 7-week session, the last day of course instruction is NOT the same as a regular 15-week semester. Consult the registrar's academic calendar for the exact date.

Exam and Quiz Policy

All exams and quizzes must be completed within the time frame specified in Canvas unless prior arrangements have been made. Extensions are granted on a case-by-case basis for circumstances outside the student's control. Some assessments may require the testing center — it is the student's responsibility to schedule their own appointment in a timely manner.

Class Interaction Policy

All class interaction assignments must be completed within the time frame specified in Canvas or during the lecture unless prior arrangements have been made. Interactive assignments are only valuable when everyone participates at the same time. It is not fair to classmates who submitted on time to have to respond to or view late submissions. The secret code for the syllabus quiz is "green".

This applies to (but is not limited to):

  • Discussion posts
  • Reflections (written and video)
  • Group meetings (virtual and in person)
  • Status updates
  • In-class activities
  • Paper quizzes and exams

Communication Policy

Outside the classroom, communication will be through email, Canvas, and office hours. Other methods such as carrier pigeon 🐦 are not supported.

If you do not receive a reply within 48 hours, verify you are emailing from BroncoMail and send a follow-up. You can also message through Canvas if email is not going through. Please include the following in all emails:

  • First and last name
  • Student ID
  • Course and section number (e.g., CS452 – Section 1)

BroncoMail is the official university communication channel. Check it two to three times per week. Your instructor will not respond to emails from personal accounts (Gmail, Yahoo, etc.). See University Policy 2280 for details.

Emails are answered within 24 hours, Monday–Friday, 9:00 am–5:00 pm (MST). Emails sent on weekends or outside those hours will receive a reply on the next business day. Reserve email for private matters such as grades — general course questions belong in the class discussion forum.

IT Support Policy

Your instructor and teaching assistant cannot provide IT support for personal machines. If you cannot get your personal machine configured correctly, use a lab machine to complete your work.

Labs and Other Building Spaces

The CCP building (downtown Boise) has three labs secured by proxy card access. All lab machines are supported by department IT staff and are guaranteed to work.

  • Kount Learning Center (CCP 241) — Accessible 24/7 by proxy card to all CS students. See the Success & Tutoring page for details.
  • CS 121 Classroom Lab (CCP 242) — Accessible 24/7 by proxy card, but not available during scheduled courses and labs (see the schedule posted outside the lab).
  • Metageek Lab (CCP 240) — Accessible 24/7 by proxy card, but not available during scheduled CS courses and labs (see the schedule posted outside the lab).

University Policies

Violations of university policies may result in a failing grade (F) for the course. All students are required to review the following:

Student Support

Boise State cares about your success. Help is available for technical, academic, financial, and personal needs, as well as learning accommodations. Nearly all services are available to online students as well.

Released under the MIT License.