Programmation systèmeInitiation Système (STI)
System Programming
Teaching unit System Introduction · AS05_IS1 | EC Code AS05_IS1-4
6ECTS (EU)
1Coefficient
34:40Hours
Séquencement
Learning objectives
- Understanding the specific concepts of system programming in C
Prerequisites
| Module | Teaching unit | Semester |
|---|---|---|
| C Programming | Programming Principles | S5 |
| Introduction to Systems | PO STI 1 | S3 |
Program
Courses
- Introduction
- Operating system
- Background UNIX
- Processor execution mode
- Standard (Unix->POSIX->SUS)
- Use of standard C library and POSIX API
- interact with the operating system
- System call
- Program delivery cycle
- Environmental access
- Error management
- use system calls
- Implementation of the library above system calls
- Input-outputs
-
General
-
Handling of i-nodes
-
Basic principles
-
Descriptor
-
Managing permissions
- File system
- Example: ext2, FAT32
Process
-
creation, termination, interruptions, scheduling
-
Process management
-
Attributes of processes
-
Process life
-
Rights management
TDs
- TD 1: System call, POSIX limits, environment and POSIX function
- TD 2: Is implementation, file type and protection
- TD 3: Implementation of a mini file system
- TD 4: implementation of cp in system calls, glibc, and nmmap. benchmarking of 3 versions
- TD 5: file locks
- TD 6: process creation, wait, waitpid
- TD 7: Zombi process, orphan
- TD 8: machine query: implementation of mini-shell and system commands
Assessment
- Ongoing monitoring
- 2 TDs to render
- 1 written question
- 1 QCMs celene
References
- Rifflet, Jean-Marie; Yunes, Jean-Baptiste, "Unix: programming and communication", Dunod
- Pélissier, Christian, "UNIX: use, system administration and network", Hermès
Skills
6| Ref. | Verb | Description | Level |
|---|---|---|---|
| C1_4 | implement | C programs to manage system I/O | 3 |
| C2_1 | identify | the difference between SystemV and POSIX | 2 |
| C2_1 | describe | the operation of a File System | 1 |
| C2_1 | describe | the functioning of system processes | 1 |
| C2_2 | manage | communication between processes | 3 |
| C2_2 | design | C programs to manage system processes | 3 |
SecNumEdu Skills
| Skill | Lecture hours | Practical hours | Entry level | Exit level |
|---|---|---|---|---|
| Operating system security | 3 | 3 | 0 | 1 |
| management of file and process rights. | ||||