Quadrimestre 3 -
General course description
The course outlines the main aims of an operating system, as well as its components. Description of the fundamental mechanisms. Practical assignments help provide an insight into system programming under an OS like UNIX.
Learning basic skills
- Technical Architecture and computing equipment course
- Operating systems course (1st year)
- Microprocessor and Assembler first-year courses
- Good knowledge of C
To be familiar with the nature of an operating system, its main constituents and their action modes.
Chapter 0: Historical Introduction to Operating Systems (1 hour)
Chapter 1: Basic Mechanisms (4 hours)
- Interruption mechanism. Main tool of an operating system. Revision of the material aspect (at central sequencer level). Role of interruption managers.
- Detailed description of some systems of hierarchical files
Chapter 2: Process (4 hours)
- The various process states
- The various transitions
Chapter 3: Inter-processor commmunication (4 hours)
Chapter 4: Memory Management (8 hours)
- Basic aspects: Division mode, pre-emptive mode, security mode
- Division according to a contiguous non-pre-emptive allocation. Fixed divisions. Dynamic regions.
- Division according to a non-contiguous, non-pre-emptive allocation
- Division according to a contiguous pre-emptive allocation. Basic principles of auxiliary memories.
- Division according to a non-contiguous and non-pre-emptive mode. Virtual memory management.
- Memory segmentation mechanisms, various protection modes.
- Case study: 80386 Intel processor
Chapter 5: Input/Output (4 hours)
- Controller, peripheral, pilot
- Specific difficulties in I/O
Case Study: UNIX (25 hours)
- General presentation of UNIX.
- UNIX file management.
- Process management.
- Inter-processor communications: PIPE, IPC.
- Socket-based communication
- Memory management
- I/O management
NOTE: in the second semester, practical assignments (25 hours) will enable students to get hands-on experience in the various subjects discussed.
- J. Beauquier & B. Bérard., Systèmes d'exploitation.
- A. M. Lister., Principes fondamentaux des systèmes d'exploitation.
- IBM reference manuals
- Bach, UNIX a pragmatic approach
- Helen Custer, Au coeur de Windows NT
- Tanenbaum, Systèmes d'exploitation modernes