Course logistics
- 11 weeks on campus class
- Classroom: Amphitheatre A3
- Class meeting: Monday 08h30 – 10h00 AM
- Teacher: Dr L. Saadi
- Reception hours: After class or by appointment
About the course:
This course is designed for the third-year students in the fifth term, it's a continuum of a course titled “operating systems 1” which has been given to second year students in the fourth term. This last course has objectives to know all introductive concepts of an operating system and its parts, objectives, types, versions …etc.
We have studied how the OS manages the processes, the memory, the interruptions, the inputs/outputs and the file system; all these tasks are given in details.
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/ know the problem of critique resource and the solution used in called mutual exclusion.
2/ master the methods and algorithms used to implement the mutual exclusion.
3/ study how processes synchronise each other to complete a task.
4/ master the use of semaphores and monitors to write different problems and processes that are in synchronization or mutual exclusion.
5/ put the students in frequent with an important problem that may occurred in OS called the deadlock.
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 “operating system 1”
2/ have knowledges in algorithms and programming
3/ master the Windows and Linux OS
4/ program with the java 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: Concepts of parallelism, cooperation and competition (10%)
- Parallelism
- Parallelism tools
- Issues
Chapter 2: Parallelism management: synchronization and communication
- Mutual exclusion (Definition, Properties, Methods, ...)
- Synchronization (events, locks, semaphores, monitors, etc.)
- Inter-process communication (variable sharing, mailboxes, etc.)
- Deadlock (Conditions, Prevention, Detection and recovery, ...)
