The course focuses on processes, memory management, IO management, file systems, and inter-process communication/synchronization. The C programming language is used in laboratory work to put the knowledge gained in class into practice.
1. Introduction, OS Types, Basic Concepts, Course Scope
2. OS Components, Hardware Classes, File Systems
3. Process, Thread, System Calls, Kernel and User-level Context Switching
4. Synchronization Primitives, Producer/Consumer Pattern
5. Scheduling
6. Security, Protection
7. Midterms
8. Virtual Memory I
9. Virtual Memory II
10. Efficient Cache Management, Consistency and Coherence
11. High-Performance Locks, Fair Scheduling, Deadlocks, Livelocks
12. Dynamic Memory Management
13. Linking, Dynamic Libraries, Deployment
14. Virtual Machines, Containers, Jails, Sandboxing
Upon successful completion of this course, students will gain proficiency in the following areas:
1. Ability to explain the operation of a standard operating system,
2. Ability to use and craft userspace or kernelspace code in low-level C, ,
3. Ability to explain and use multi-process programming,
4. Ability to analyze, explain, and implement inter-process synchronization requirements,
5. Ability to effectively manage hardware resources like memory, bandwidth, processor
Lecture, Discussion, Demonstration, Case Study, Problem Solving, Cooperative Learning, Project, Brain Storming
Book: Operating System Concepts, 10th Ed. Silberschatz, Galvin, Gagne
Lecture Notes: https://burakarslan.com/inf333
Course Project: https://pintos-os.org/
| Week | Weekly Contents |
|---|---|
| 1 | Introduction, OS Types, Basic Concepts, Course Scope |
| 2 | OS Components, Hardware Classes, File Systems |
| 3 | Process, Thread, System Calls, Kernel and User-level Context Switching |
| 4 | Synchronization Primitives, Producer/Consumer Pattern |
| 5 | Scheduling |
| 6 | Security, Protection |
| 7 | Midterm Break |
| 8 | Virtual Memory I |
| 9 | Virtual Memory II |
| 10 | Efficient Cache Management, Consistency and Coherence |
| 11 | High-Performance Locks, Fair Scheduling, Deadlocks, Livelocks |
| 12 | Dynamic Memory Management |
| 13 | Linking, Dynamic Libraries, Deployment |
| 14 | Virtual Machines, Containers, Jails, Sandboxing |
| Week | Weekly Contents |
|---|---|
| 1 | Linux Fundamentals I |
| 2 | Linux Fundamentals II |
| 3 | Introduction to Pintos |
| 4 | Process, Thread |
| 5 | Context Switch |
| 6 | Mutex |
| 7 | Midterm Week |
| 8 | Pintos II |
| 9 | Producer/Consumer |
| 10 | Semaphores |
| 11 | Semaphores II |
| 12 | Mutex Lock Ordering |
| 13 | Shared Mutex |
| 14 | Deadlock |
| Activities | Number | Contribution |
|---|---|---|
| Contribution of in-term studies to overall grade | 4 | 60 |
| Contribution of final exam to overall grade | 1 | 40 |
| Total | 5 | 100 |
| Activities | Number | Contribution |
|---|---|---|
| Assignments | 0 | 0 |
| Presentation | 0 | 0 |
| Midterm Examinations (including preparation) | 1 | 15 |
| Project | 2 | 30 |
| Laboratory | 1 | 15 |
| Other Applications | 0 | 0 |
| Quiz | 0 | 0 |
| Term Paper/ Project | 0 | 0 |
| Portfolio Study | 0 | 0 |
| Reports | 0 | 0 |
| Learning Diary | 0 | 0 |
| Thesis/ Project | 0 | 0 |
| Seminar | 0 | 0 |
| Other | 0 | 0 |
| Make-up | 0 | 0 |
| Total | 4 | 60 |
| Activities | Number | Period | Total Workload |
|---|---|---|---|
| Class Hours | 13 | 2 | 26 |
| Working Hours out of Class | 13 | 2 | 26 |
| Assignments | 0 | 0 | 0 |
| Presentation | 0 | 0 | 0 |
| Midterm Examinations (including preparation) | 0 | 0 | 0 |
| Project | 2 | 20 | 40 |
| Laboratory | 1 | 26 | 26 |
| Other Applications | 0 | 0 | 0 |
| Final Examinations (including preparation) | 1 | 10 | 10 |
| Quiz | 0 | 0 | 0 |
| Term Paper/ Project | 0 | 0 | 0 |
| Portfolio Study | 0 | 0 | 0 |
| Reports | 0 | 0 | 0 |
| Learning Diary | 0 | 0 | 0 |
| Thesis/ Project | 0 | 0 | 0 |
| Seminar | 0 | 0 | 0 |
| Other | 0 | 0 | 0 |
| Make-up | 0 | 0 | 0 |
| Yıl Sonu | 0 | 0 | 0 |
| Hazırlık Yıl Sonu | 0 | 0 | 0 |
| Hazırlık Bütünleme | 0 | 0 | 0 |
| Total Workload | 128 | ||
| Total Workload / 25 | 5.12 | ||
| Credits ECTS | 5 | ||