CPSC 457: Principles of Operating Systems (Winter 2024)
An introduction to operating systems principles. Performance measurement; concurrent programs; the management of information, memory and processor resources.
Announcements
- Website has been converted to inactive mode. (some links should no longer be expected to work)
Lectures
- Lectures begin on Monday, January 8th, 2024
- Last day to drop is Thursday, January 18th, 2024
- Lectures end and last day to withdraw is Tuesday, April 9th, 2024
- CPSC 457 L01 TueThu 09:30-10:45
Tutorials
- Tutorials will begin on Monday/Tuesday January 15-16th, 2024
- CPSC 457 Assignment Grading: (Submission and grades returned via D2L)
- CPSC 457 T01 MonWed 12:00-12:50
- CPSC 457 T02 MonWed 13:00-13:50
- CPSC 457 T03 MonWed 14:00-14:50
- CPSC 457 T04 MonWed 15:00-15:50
- CPSC 457 T05 TueThu 14:00-14:50
Office Hours
- TueThur 11:00-11:50 in -person (or setup via email - can use zoom link in D2L for these appointments)
Important Dates
- Term Break: Sunday-Saturday, February 18-24th, 2024 (no lectures or tutorials).
- University Closed for Family Day Monday, February 19th, 2024. (during Term Break)
- University Closed for Good Friday Friday, March 29th, 2024.
- University Closed for Easter Monday, April 1st, 2024. (no Mon/Wed tutorials)
TopHat
- Join Code: XXXXXX
- Use your UofC Account to access Tophat, not a computer science, former institution, or prior high school account.
Textbook Resources (Optional)
- Optional: For those who appreciate a self-paced textbook to assist the process of learning to code. No content referenced directly in course. No exercises references either.
- Optional - Operating System Concepts 10e
- Optional - Digital- Modern Operating Systems 5e
The due dates for the assignments and exercises can be found in the Assignments sections of this page.
Code
- CSGit Lecture Code
Support Materials
- Course Information Sheet (Outline)
- Topic 1: Course Organization slides
- Topic 2: Basic Concepts slides
- Topic 3: System Calls slides
- Topic 4: Processes slides
- Topic 5: Intro File Systems slides
- Topic 6: Threads slides
- Topic 7: Thread cancellation and race conditions slides
- Topic 8: Locks, mutexes, dining philosophers slides
- Topic 9: Condition Variables and Semaphores slides
- Topic 10: Monitors, Spinlocks, Barriers and other synchronizations mechanisms slides
- Topic 11: Deadlocks slides
- Topic 12: CPU scheduling slides
- Topic 13: File Systems slides
- Topic 14: Memory slides
- Topic 15: Virtual memory slides
- Topic 16: Disk scheduling, RAID slides
Technology
- BitVise SSH/SFTP Client
- VS Code
- VS Code Remote-SSH
- CPSC Remote Access
- CPSC Computer Servers
- CPSC SSH Public Key Configuration
- SCI-CPSC: VSCode SSH Extension Configuration Tips
- repl.it: quick online IDE to demo concepts
Assignments
- Assignment 1
- Due Date: Friday, January, 26th, 2024 23:59 (11:59 PM)
- Topics: basic C++, make, time, strace, system calls
- Assignment 2
- Due Date: Friday, February, 9th, 2024 23:59 (11:59 PM)
- Topics: more system calls, directory structures
- Assignment 3
- Due Date: Sunday, March, 3rd, 2024 23:59 (11:59 PM)
- Topics: threads, synchronization
- Assignment 4
- Due Date: Wednesday, March, 20th, 2024 23:59 (11:59 PM)
- Topics: deadlocks, CPU scheduling
- Assignment 5
- Due Date: Friday, March, 29th, 2024 23:59 (11:59 PM)
- Topics: FAT
- Assignment 6
- Due Date: Friday, April, 12th, 2024 23:59 (11:59 PM)
- Topics: Paging
- Late Policy
- There are no short-term extensions within 5 days of assignment deadlines. The following policy is for those circumstances.
- All students will have 6 total days during the semester that can be used for any of the 6 assignments.
- Students can use these days all on one assignment, or on all 6.
- Each 24 hour period late after an assignment deadline counts as one full day regardless of how many hours the assignment was late within that period. For example, deadlines are generally Fridays 11:59pm local time. That means an assignment submitted any time Saturday before 11:59pm local time will be considered as 1 day late and count against the students 6 total days.
- As long as a student still has days left to use, their assignment will be graded without penalty.
- If a student has no more days left or their submission exceeds the days they have remaining, then they will receive a 0 grade for a late assignment.
- Student who use up late days on earlier assignments will not have them available for later assignments.
- TAs will indicate the student’s late day usage in grading feedback and in D2L column.