General Information
Instructor
Teaching Assistant
Overview
CS 4375 is a course about the systems-level software called the operating system that provides an interface between application software and the computer hardware. The operating system is respon- sible for sharing resources, providing common services, and protecting programs from interference from other programs. Topics covered in the course include process management and scheduling, concurrency, interprocess communication, memory management, input/output management, file systems, and networking basics.
Downloads: Course Syllabus
Tentative Schedule
| Date | Topic | Material/Readings | Dues |
|---|---|---|---|
| Week-1 Class-1 8/25 | Course Overview, Logistics, Introduction to OS, and Low-level C programming; Slides |
|
|
| Week-1 Class-2 8/27 | OS structure; Slides |
|
|
| Week-2 Class-1 9/1 | ===============NO CLASS: Holiday=============== | ||
| Week-2 Class-2 9/3 | Processes; Slides |
|
|
| Week-3 Class-1 9/8 | Introduction to xv6; Slides; HW1; HW1 report template; |
|
Quiz 1 |
| Week-3 Class-2 9/10 | Threads; Slides |
|
|
| Week-4 Class-1 9/15 | Class activity: Inter Process Coummunication; Slides |
|
|
| Week-4 Class-2 9/17 | System Calls and Context Switches; Slides |
|
|
| Week-5 Class-1 9/22 | System Calls in xv6; Slides; HW2; sleep.c;matmul.c; HW2 report template |
|
HW1 |
| Week-5 Class-2 9/24 | CPU Scheduling; Slides |
|
Quiz 2 (On blackboard) |
| Week-6 Class-1 9/29 | MLFQ and Proportional Share Scheduling; Slides |
|
|
| Week-6 Class-1 10/1 | Address Spaces Memory API; Slides |
|
|
| Week-7 Class-1 10/6 | Address Translation; Slides |
|
HW2 |
| Week-7 Class-2 10/8 | xv6 Scheduling; Slides; HW3; task1.c;task2.c; task4.c; pexec.c; HW3 report; |
|
Quiz 3 |
| Week-8 Class-1 10/13 | Review for midterm exam; Slides | ||
| Week-8 Class-2 10/15 | ==================== | Mid Term Exam | |
| Week-9 Class-1 10/20 | Paging TLBs (online class Teams); Slides |
|
|
| Week-9 Class-2 10/22 | Virtual Memory: Page Faults and Memory Swapping; Slides |
|
Quiz 4 |
| Week-10 Class-1 10/27 | Virtual Memory: Performance and Analysis; Slides |
|
HW3 |
| Week-10 Class-2 10/29 | Process Synchronization and Locks; Slides; HW4; HW4 report; free.c;memory-user.c; |
|
|
| Week-11 Class-1 11/3 | Lazy Allocation; Slides |
|
|
| Week-11 Class-2 11/5 | Process Synchronization, Semaphores, and Mutex; Slides |
|
Quiz 5 |
| Week-12 Class-1 11/10 | Deadlocks; Slides |
|
|
| Week-12 Class-2 11/12 | Deadlocks (cont.) Slides |
|
|
| Week-13 Class-1 11/17 | File Systems; Slides; HW5; rwtest-sem.c; prodcons-sem.c; HW5 report |
|
HW4; Quiz 6 |
| Week-13 Class-2 11/19 | File System (cont.); Slides |
|
|
| Week-14 Class-1 11/24 | Implementing xv6 semaphores; Slides |
|
|
| Week-14 Class-2 11/26 | Protection and Security; Slides | Quiz 7 | |
| Week-15 Class-1 12/1 | Review for Final Exam; Slides | ||
| Week-15 Class-2 12/3 | ==================== | ||
| Week-16 Class-1 12/8 | ==================== | ==================== | Quiz 8;HW5 |
| Week-16 Class-2 12/12; 10.00 AM - 12.45 PM; Location: CCSB G.0208 | ==================== | Final Exam |
Resources
XV6 OS XV6 Book Make Files C pointers RISC-V Assembly Programming Overview