Operating system: Synchronization and communication -- 3rd year Engineer (Network) – Term 5

 

Course logistics

  • 11 weeks on campus class
  • Classroom: Class 105 (Sunday) and Amphitheatre A3 (Monday)
  • Class meeting: Sunday 8h30 – 10h00 AM and Monday 12h30 – 14h00 PM
  • Teacher: Dr. L. Saadi
  • Reception hours: After class or by appointment

About the course:

This course is aimed at third-year engineering students in the fifth semester, and is a continuum of two courses entitled “Introduction to Operating Systems 1” and “Introduction to Operating Systems 2”, which were given to first-year students in the first and second semesters. The aim of the first course is to bring students closer to the UNIX operating system and to learn its commands; but the second course is designed to introduce students to some of the functionalities of an operating system, including program development, processor architecture and instruction execution, the interrupt system, some concepts of central memory management and input/output management. In addition, to bring students closer to machine language and practice the 8086 machine assembly programming language.

After taking this course, this year the students need to go very far with other tasks of the operating system in how to manage the problems caused by the interactions between processes in a parallel or time-shared system environment.

Aims and objectives:

Introduce the problem of parallelism in operating systems and study the implementation of mutual exclusion, synchronization and communication mechanisms in a centralized time-shared environment.

The students are expected to:

1/ Get an idea of how the operating system manages processes and the principle of process scheduling.

2/ know the problem of critique resource and the solution used in called mutual exclusion.

3/ master the methods and algorithms used to implement the mutual exclusion.

4/ study how processes synchronise each other to complete a task.

5/ master the use of semaphores and monitors to write different problems and processes that are in synchronization or mutual exclusion.

6/ put the students in frequent with an important problem that may occurred in OS called the deadlock.

7/ know the file management system and the multimedia file system.

8/ Teach students the basic concepts and tools of distributed systems.

Further Long -term objectives include

1/ the student must be able to implement any situation in the system and write processes using synchronization and mutual exclusion mechanisms.

2/ Use an adequate language to write those processes.

Prerequisites for the course:

The students are required to:

1/ study the course of “Introduction to operating system 1 and 2”

2/ have knowledges in algorithms and programming

3/ master the Windows and Linux OS

4/ program with the C language

Course elements: The course has

1/ one lecture in the week

2/ one tutorial class in the week

3/ and one practical class in the week

Attendance policy:

The attendance is important in the lecture class because the information will be very important to follow the tutorial and practical classes with the reason that the handout of the course doesn’t contain all details and explanations. Also, there will be some examples and problems done in the lecture class.

Communication protocol:

Students can contact the teacher by her email l.saadi@univ-batna2.dz

Grading and evaluation policy:

This course will be based on the following weightings:

1/ Continuous assessment calculated by formula: mark of tutorial class /20 + mark of practical class/20

Mark of tutorial class:

  • Application exercises and assignments: 02/ 20
  • Classroom presentations: 08/ 20
  • Term exam : 10 / 20

Mark of practical class:

  • Application exercises and assignments: 02/ 20
  • Classroom presentations: 08/ 20
  • Term exam : 10 / 20

2/ the final exam /20

Syllabus of the course:

Chapter 1: Process management and scheduling

    • Process status
    • Dispatcher
    • Scheduler
    • Scheduling policies

Chapter 2: Concepts of parallelism, cooperation and competition (10%)

  • Task system
  • Parallelism
  • Parallelism tools
  • Issues

Chapter 3: Parallelism management: synchronization and communication

  • Mutual exclusion (Definition, Properties, Methods, ...)
  • Synchronization (events, locks, semaphores, monitors, etc.)
  • Inter-process communication (variable sharing, mailboxes, etc.)

Chapter 4: Deadlock

  • Deadlock (Conditions, graphical representation, …)
  • Treatment (Prevention, Detection and recovery, ...)

Chapter 5: File systems

  • - File system interface (file attributes, operations, types, directories, etc.)
  • - File system implementation (structure, physical organization, ...)
- Multimedia file systems (types, structure, compression, operations, organization)

Offered: 

2025