Operating Systems
Undergraduate course, Giresun University, Department of Computer Engineering, 2026
Operating systems are a fundamental part of modern computing. Operating systems manage hardware resources and provide abstractions and services for application software. They coordinate processor time, memory, storage, devices, and communication while supporting protection, isolation, and controlled resource sharing. An operating system provides a platform for programs to run. It acts as a bridge between hardware and software applications. This ensures that applications can interact with hardware using a standardized interface. The operating system handles tasks like memory management, process scheduling, and input/output operations. Without it, a computer is just a collection of hardware components.
Ders Öğretim Planı
Announcements
No current announcements.
Course resources:
ebook
Modern Operating Systems, Andrew S. Tanenbaum | Operating System Concepts — Abraham Silberschatz et al. | Operating Systems: Three Easy Piecespdf
Bilgisayar İşletim Sistemleri, Ali Saatçi | İşletim Sistemleri, İbrahim Türkoğlu | Operating Systems, Bighnaraj Naik | Putting the You in CPU | Operating Systems From 0 to 1youtube
Kemal Bıçakcı | Sadi Evren Şeker | Tuna Tuğcu | CS 162 Berkeleywebsite
CSCI-UA.202 Operating Systems | Operating System Development
Past Exams
2024-2025
vize | vize (HTML) | telafi | final | final (HTML) | but2022-2023
vize | midterm (EN) | final | final (EN)Soru Cevap
vize (TR) | final (TR) | midterm (EN) | final (EN)
Preliminary Materials:
The world of operating systems is introduced as a key aspect of modern computing. Fundamental concepts, design principles, and implementation techniques are explored to highlight how interaction between hardware and software is enabled.
- Prerequisites for preparation pdf
- Key figures who have shaped the field pdf
- Questions & Answers from OSTEP pdf
Chapter 1: Introduction:
As the bridge between hardware and software, operating systems serve as the foundation for modern computing, providing the necessary abstractions and services to enable applications to run efficiently and securely on diverse hardware platforms.
- 🖼️Sunum [TR] (pdf) | Sunum (pdf)
- 🗒️Lecture Notes (pdf) | Boot Process (HTML)
- 💻Lab:
- 🖋️Question & answers (pdf)
Chapter 2: Structures:
The design and organization of an operating system’s internal components and mechanisms, collectively referred to as its structure, play a critical role in determining its performance, reliability, and functionality.
- 🖼️Sunum [TR] (pdf)
- 🗒️Lecture Notes (pdf) | Device Drivers (HTML) | Kernel-User Mode (HTML) | System Calls (HTML) | Virtualization (HTML)
- 💻Lab:
- 🖋️Question & answers (pdf)
Chapter 3: Processes:
Processes serve as the cornerstone of multi-tasking and concurrency, enabling multiple applications to execute simultaneously while sharing resources efficiently and securely.
- 🖼️Sunum [TR] (pdf), Sunum (pdf)
- 🗒️Lecture Notes (pdf) | Concurrency (HTML) | IPC (HTML)
- 💻Lab:
- 🖋️Question & answers (pdf)
Chapter 4: Threads:
Threads, as lightweight execution units within a process, provide a powerful mechanism for achieving concurrency and parallelism in modern operating systems, enabling applications to take full advantage of multi-core processors and other hardware resources.
Chapter 5: Scheduling:
CPU scheduling is a critical component of any operating system, responsible for determining which processes and threads should be executed by the CPU at any given time, in order to maximize system throughput, responsiveness, and fairness.
Chapter 6: Synchronization:
In a multi-threaded or multi-process environment, synchronization mechanisms provide the means for coordinating access to shared resources and ensuring consistency and correctness in the face of concurrent access and modification.
Chapter 7: Deadlocks:
A deadlock occurs when a set of processes or threads waits indefinitely for resources held by one another. This chapter covers deadlock conditions, resource-allocation graphs, prevention, avoidance, detection, and recovery.
Chapter 8: Memory management:
Memory management, which involves the allocation, monitoring, and protection of a computer’s physical memory resources, is a critical component of any operating system, providing the foundation for efficient and reliable application execution.
- 🖼️Sunum [TR] (pdf) | Sunum I (pdf) | Sunum II (pdf)
- 🗒️Lecture Notes (pdf)
- 💻Lab:
- 🖋️Question & answers (pdf)
Chapter 9: Virtual memory:
Virtual memory gives each process an isolated virtual address space and maps virtual addresses to physical memory or secondary storage. It supports memory protection, controlled sharing, flexible allocation, and demand paging.
Chapter 10: File systems:
File systems organize named data and metadata and provide abstractions for storing, retrieving, protecting, and sharing information across persistent, networked, virtual, or memory-backed storage.
- 🖼️Sunum [TR] (pdf) | Sunum I (pdf) | Sunum II (pdf)
- 🗒️Lecture Notes (pdf) | FS Implementation (HTML)
- 💻Lab:
- 🖋️Question & answers (pdf)
Chapter 11: Input/output:
The operating system manages communication between applications and hardware or virtual devices through drivers, interrupts, buffering, caching, and device-independent I/O interfaces.
Chapter 12: Multiprocessor Systems:
Multiprocessor systems introduce challenges involving parallel scheduling, cache coherence, synchronization, processor affinity, load balancing, and memory-access topology across multicore, SMP, and NUMA architectures.
Chapter 13: Security:
Security is a critical concern in modern computing environments, and operating systems play a central role in providing the necessary mechanisms and policies to protect system resources, data, and applications from unauthorized access, modification, and other forms of attack.
Chapter 14: Multimedia:
With the growing demand for multimedia applications such as audio and video playback, real-time communication, and graphical rendering, operating systems must provide specialized support and optimizations to ensure efficient and responsive performance on a diverse range of hardware platforms.
Chapter 15: Operating system design:
Operating system design involves the careful consideration of a wide range of factors, including performance, reliability, security, compatibility, and usability, and requires a deep understanding of the underlying hardware and software components, as well as the needs and expectations of end-users and developers.
- 🖼️Sunum [TR] (pdf)
- 🗒️Lecture Notes (pdf) | RTOS (HTML) | Testing and Debugging (HTML)
- 🖋️Question & answers (pdf)
Chapter 16: Case studies:
UNIX - Linux