Operating Systems(INF333-A)
| Course Code | Course Name | Semester | Theory | Practice | Lab | Credit | ECTS |
|---|---|---|---|---|---|---|---|
| INF333-A | Operating Systems | 6 | 2 | 0 | 2 | 3 | 5 |
| Prerequisites | INF116 |
| Admission Requirements | INF116 |
| Language of Instruction | French |
| Course Type | Compulsory |
| Course Level | Bachelor Degree |
| Course Instructor(s) | Burak ARSLAN ext-gsu@burakarslan.com (Email) |
| Assistant | Eda BAHAR (Email) |
| Objective | 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. |
| Content |
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 |
| Course Learning Outcomes |
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 |
| Teaching and Learning Methods | Lecture, Discussion, Demonstration, Case Study, Problem Solving, Cooperative Learning, Project, Brain Storming |
| References |
Book: Operating System Concepts, 10th Ed. Silberschatz, Galvin, Gagne Lecture Notes: https://burakarslan.com/inf333 Course Project: https://pintos-os.org/ |
Theory Topics
| 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 |
Practice Topics
| Week | Weekly Contents |
|---|
Contribution to Overall Grade
| Number | Contribution | |
|---|---|---|
| Contribution of in-term studies to overall grade | 4 | 60 |
| Contribution of final exam to overall grade | 1 | 40 |
| Toplam | 5 | 100 |
In-Term Studies
| 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 |
| Toplam | 4 | 60 |
| No | Program Learning Outcomes | Contribution | ||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 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 | ||


