Stephen Dame <sdame@uw.edu>, Office Location(TBD) MW 6:00-7:30PM (or by appointment)
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.
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.
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 | 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 |
89% = 3.4 |
79% = 2.4 |
69% = 1.4 |
= .6 (Failing) |
Total of 1000 points available
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.
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 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.
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.
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.