Operating Systems 2

dc.contributor.authorBenaboud, Rohallah
dc.date.accessioned2026-05-24T20:15:20Z
dc.date.available2026-05-24T20:15:20Z
dc.date.issued2026
dc.description.abstractThis course is an advanced study of operating system principles, intended for students who have a foundational understanding of the subject. It addresses the critical and complex challenges related to the management of concurrent processes and the resources they share. The main objective is to produce course support that is both rigorous and clear, ensuring a deep and unambiguous understanding of the concepts covered. The goal is to facilitate mastery of the principles of concurrency and to gather the necessary knowledge for designing and implementing robust, efficient, and correct multi-process and multi-threaded software. It should be noted that certain prerequisites are necessary to fully grasp the concepts presented. A foundational understanding of operating systems (process and memory management basics), as well as computer architecture, is assumed. Furthermore, strong programming skills, particularly in the C language, are required to understand and implement the practical examples. This course is organized into four main chapters: First, Chapter 1 provides a review of fundamental operating system concepts. It re-establishes the role and architecture of an OS and provides a detailed examination of the two core units of execution: processes and threads. This chapter covers their structure, lifecycle, and management, providing the essential foundation for the rest of the course. Chapter 2 describes the techniques for Process Synchronization. This chapter addresses the core challenge of concurrency: the race condition. It introduces the critical-section problem and details the various solutions, from early software algorithms (like Peterson's) to hardware support (atomic instructions) and powerful OS-level primitives like semaphores and monitors. The following chapter, Chapter 3, deals with Interprocess Communication (IPC). Once processes are synchronized, they often need to cooperate. This chapter covers the primary mechanisms that allow processes to exchange information, including shared memory, asynchronous notifications via signals, and data streaming using both unnamed and named pipes. Chapter 4 is entirely dedicated to the problem of Deadlocks. It begins by characterizing the four necessary conditions for a deadlock to occur. It then details the primary strategies for managing them: Deadlock Prevention, by structurally negating one of the conditions; Deadlock Avoidance, using the Banker's Algorithm to maintain a safe state; and finally, Deadlock Detection and Recovery.
dc.identifier.urihttp://dspace.univ-oeb.dz:4000/handle/123456789/22685
dc.language.isoen
dc.publisherUniversity of Oum El Bouaghi
dc.subjectOperating system fundamentals; Processes synchronization; Interprocess communication; Deadlocks
dc.titleOperating Systems 2
dc.title.alternativeCourse handout 3rd Year Bachelor's Degree in Computer Science – SI & ISIL -
dc.typeOther
Files
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
Operating Systems 2.pdf
Size:
4.42 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed upon to submission
Description: