CSS430: Operating Systems Concepts
Winter 2025 Overview & Syllabus
MW 3:30-5:30pm Classroom UW1-041


Instructor

Stephen Dame <sdame@uw.edu>, Office Location(TBD) MW 6:00-7:30PM (or by appointment)

Course Description

Dive deep into the architecture of modern operating systems with this comprehensive course. Using C/C++ and Java, we will explore fundamental OS concepts like processes, threads, and memory management. We will also investigate advanced topics such as synchronization, deadlocks, and virtual memory. To stay current with industry trends, we'll utilize cloud compute virtualization, software repositories and generative AI tools, providing a lite introductory foundation for modern software development as we explore the programming assignments.

Prerequisites: CSS343

Class Communication

Canvas Learning Management System (LMS) will be used for notices, discussions, assignment, submissions and individual grade logs. Please visit the Canvas Site to access your Canvas page for this class.

Schedule

Note that this is a tentative ordering of OS topics. Chapters will take approximately the allotted time during the quarter.

Week Date Topics Chapters Assignment
1 Jan 6 Introduction
In-class Linux orientation
1 GCP Environment Setup
Jan 8 OS Structures
Continued Linux Lab Setup
2 Program 1 assigned
2 Jan 13 Process Management 3
Jan 15 Threads & Concurrency 4
3 Jan-20 Holiday - Martin Luther King Jr. Day
Jan-22 CPU Scheduling Part 1 5 Program 1 due 
Program 2 assigned
4 Jan-27 CPU Scheduling Part 2 5
Jan-29 Synchronization Tools 6
5 Feb-3 Synchronization Examples 7
Feb-5 Extra Lab Time and Q&A Program 2 due
Program 3 assigned
6 Feb-10 Midterm Exam Review (Weeks 1-5) 1 - 7  
Feb-12 Midterm exam in class 1 - 7
7 Feb-17 Holiday - President's Day
Feb-19 Deadlocks 8
8 Feb-24 Main Memory - Part 1 9 Program 3 due 
Program 4 assigned
Feb-26 Main Memory - Part 2
9 Mar-3 Virtual Memory - Part 1 10 Final Project assigned
Mar-5 Virtual Memory - Part 2
10 Mar-10 File-System Interface 13 Program 4 due
Mar-12 File-System Implementation 14
11 Mar-17 Final Exam Review (Weeks 7-10)
Mar-19 Final exam in class 8-10, 13-14 Final project due at 11:59pm

Coursework Distribution

Coursework Percentage Points
Program 1 9% 90
Program 2 9% 90
Program 3 9% 90
Program 4 9% 90
Midterm Exam 25% 250
Final Exam 25% 250
Final Project 14% 140
TOTAL 100% 1000

All grades will be listed as percentages in the Canvas LMS. The conversion table below will help you determine your final grade. For example, if you earn 950 points (or 95%) you will get a 4.0. If you earn 750 points (or 75%) you will earn a 2.0.

A - 100%-90% B - 89%-80% C - 79%-70% D - 69%-62% E - 61%-below

100%–95% = 4.0
94% = 3.9
93% = 3.8
92% = 3.7
91% = 3.6
90% = 3.5

89% = 3.4
88% = 3.3
87% = 3.2
86% = 3.1
85% = 3.0
84% = 2.9
83% = 2.8
82% = 2.7
81% = 2.6
80% = 2.5

79% = 2.4
78% = 2.3
77% = 2.2
76% = 2.1
75% = 2.0
74% = 1.9
73% = 1.8
72% = 1.7
71% = 1.6
70% = 1.5

69% = 1.4
68% = 1.3
67% = 1.2
66% = 1.1
65% = 1.0
64% = 0.9
63% = 0.8
62% = 0.7

= .6 (Failing)

Grading Criteria:

Total of 1000 points available

  1. The baseline points above are the standard allocations.
  2. Class attendance is very important and 10 total points are given for attendance throughout the quarter.
  3. Weekly homework assignments count as extra credit (1-2 points each depending on the difficulty of the homework assignment)
  4. Participation and in-class activities = 2 points each with an extra point given for leading the discussion.

Textbooks:

  1. Operating System Concepts, zyVersion, 10th Edition, Abraham Silberschatz, Peter Galvin, and Greg Gagne, (zyBook ISBN: 979-8-203-08082-0)
    or UBookstore Loose-Leaf Textbook
    or Amazon Operating System Concepts
  2. A Java book of your choice.

Some Java Books:

References:

Policies:

All programs except the final project are to be done independently. Any collaboration of work will result in severe penalties. You may discuss the problem statement and any clarification with each other, but any actual work to be turned in, must be done without collaboration.

The final project may be done by a team of two, (or three students if you cannot find a single partner), in which case each student must achieve an equal amount of work. (If you work with two other students, you must explain the reasons in your report, otherwise you will receive only 2/3 of the full score.) For the detailed instructions, see the project assignment sheet.

Any homework is due at the beginning of class on its due date. Please submit homework and programs via the Canvas LMS assignment upload facilities. Submissions may be postponed only in exceptional events such as accidents, sickness, sudden business trips, and family emergencies. You may turn in your homework late by coordinating with me. No make-up exams will be given except under exceptional circumstances. Barring emergencies, I must be informed before the exam if you plan to be absent.

Course Goals:

The overall goal of CSS 430 is to learn fundamental concepts that are used in and applicable to a variety of operating systems. The course consists of three major concepts: (1) process management that schedules, executes, synchronizes with events, and terminates your application programs, (2) memory management that loads your programs in memory and allocates/deallocates memory space they requested dynamically, and (3) file system that provides the mechanism for on-line storage of and access to both data and programs residing on the disks. The course also covers a basic tour of virtual machines and containerization (if time permits). Through the course, we will use Java to illustrate many operating-system concepts. Using Java, you will implement concepts of a shell, process management, memory management, and a file system. As with most technical courses, besides ability and motivation, it takes time to learn and master the subject. Expect to spend an additional 10 to 15 hours a week outside of class time on average including reading, independent research and improving your understanding of programming languages C, C++ and Java.

Assignments:

Assignments are due at the beginning of lecture on their due date. No late programs will be accepted unless you provide me with a proof showing that you have been under an emergency circumstance. No matter the circumstances, it is always best to turn in something.

Click here to know the details of the programming environments, the assignment specifications, the submissin procedure (for soft copies), and the grading criteria.

A discussion group will be dynamically formed in the class. For instance, students sitting closer or on the same desk can form a group. I will give each group a piece of scratch paper or transparency. You should summarize your discussions, write down the names of all group members, and turn it in to me. Each group should elect a group representative who will give a short presentation in the class. A representative will be rewarded with 0.1% extra credits for his/her presentation.

For Our Veterans:

Welcome! We at UW Bothell understand that the transition into civilian life can be challenging for our veteran students and we have many resources for any who may want to reach out for guidance or assistance. This includes our Vet Corp Navigator through the WDVA and our Student Veterans Association (SVA). Please contact Veteran Services at 425.352.5307 or rosal@uw.edu. For those of you needing more URGENT support, please call The Suicide Prevention Hotline 1.800.273.8255 or connect with the UWB CARE Team https://www.uwb.edu/studentaffairs/care-team.

Access and Accommodations:

Your experience in this class is important to me. It is the policy and practice of the University of Washington to create inclusive and accessible learning environments consistent with federal and state law. If you have already established accommodations with Disability Resources for Students (DRS), please activate your accommodations via myDRS so we can discuss how they will be implemented in this course.

If you have not yet established services through DRS, but have a temporary health condition or permanent disability that requires accommodations (conditions include but not limited to; mental health, attention-related, learning, vision, hearing, physical or health impacts), contact DRS directly to set up an Access Plan. DRS facilitates the interactive process that establishes reasonable accommodations. Contact DRS at disability.uw.edu.