COURSE INFORMATION PACKAGE · INF333-A

Operating Systems

Compulsory · French
ECTS
5
Local Credit
3
Theory + Practice + Lab
2 + 0 + 2
Course Level
Bachelor Degree
Prerequisites
INF116
Semester
6
On this page
Content Weekly Contents Assessment System ECTS
Course Instructor(s)
Assistant
Eda BAHAR

Content

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.

Course 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/

Weekly Contents

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
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

Assessment System

Contribution to Overall Grade
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
In-Term Studies
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

ECTS

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