Programmation systèmeInitiation Système et Réseau (STI)
Programmation système
Unité d'enseignement Initiation Système et Réseau · S05T_SMI1 | Code EC S05T_SMI1-5
9ECTS (UE)
1.5Coefficient
34:40Heures
Séquencement
Objectifs pédagogiques
- Comprendre les notions particulières de la programmation système en C
- Comprendre les notions particulières de la programmation système à travers POSIX.
Pré-requis
| Module | Unité d'enseignement | Semestre |
|---|---|---|
| Programmation C | Principes de la programmation | S5 |
| Algorithmique et programmation 3 | Sciences de base 3 | S3 |
Programme
Cours
- Introduction
- Système d'exploitation - Historique UNIX - Mode d'exécution d'un processeur
- Norme (Unix->POSIX->SUS)
- Utilisation de la bibliothèque C standard et de l’API POSIX
- interagir avec le système d’exploitation
- Appel système
- Cycle d'exécution d'un programme
- Accès à l'environnement
- Gestion des erreurs
- utilisation appels système
- implantation de la bibliothèque au dessus des appels système
3) Les entrées-sorties - Généralités - Manipulation des i-noeuds
- Primitives de base - Descripteurs
- Gestion des permissions
- Système de fichiers
- Exemple : ext2, FAT32
- Processus
- création, terminaison, interruptions, ordonnancement - Gestion des processus
- Attributs des processus - Vie des processus
- Gestion des droits
- Système d'exploitation et signaux
- Signaux temps réel POSIX 1.B
- Communications inter-processus (IPC)
- Modèle SystemV et Posix
- Threads
- I/O asynchrone
- Ordonnancement
- Gestion mémoire
- Verrous, sémaphores
- Mémoire partagée
- Files de message
- Tubes et tubes nommés
TDs
- TD 1 : appel système, limites POSIX, environnement et fonction POSIX
- TD 2 : implémentation de ls, type et protection des fichiers
- TD 3 : implémentation d'un mini système de fichiers
- TD 4 : implémentation de cp en appels système, glibc, et nmmap. benchmarking des 3 versions
- TD 5 : verrous fichier
- TD 6 : création de processus, wait, waitpid
- TD 7 : processus zombi, orphelin
- TD 8 : interrogation machine : implémentation d'un mini-shell et de commandes systèmes
Modalités d'évaluation
- Contrôle Continu
- 2 TDs a rendre
- 1 interrogation écrite
- 1 QCMs celene
Références bibliographiques
- Rifflet, Jean-Marie ; Yunes, Jean-Baptiste, « Unix : programmation et communication », Dunod
- Pélissier, Christian, "UNIX : utilisation, administration système et réseau", Hermès
Compétences
7| Réf. | Verbe | Description | Niveau |
|---|---|---|---|
| C1_1 | identifier | la différence entre SystemV et POSIX | 2 |
| C1_4 | mettre en place | des programmes en C pour gérer les E/S système | 3 |
| C1_4 | mettre en place | les notions particulières de la programmation système à travers POSIX. | 3 |
| C2_1 | décrire | le fonctionnement d'un Système de fichiers | 1 |
| C2_1 | décrire | le fonctionnement des processus système | 1 |
| C2_2 | gérer | la communication entre processus | 3 |
| C2_2 | concevoir | des programmes en C pour gérer les processus système | 3 |
Compétences SecNumEdu
| Compétence | Heures cours | Heures pratique | Niveau entrée | Niveau sortie |
|---|---|---|---|---|
| Sécurité des systèmes d’exploitation | 3 | 3 | 0 | 1 |
| gestion des droits fichiers et processus. | ||||
| Développement logiciel et ingénierie logicielle (sous l’angle de la sécurité) | 3 | 3 | 0 | 1 |
| Gestion mémoire, Mémoire partagée, Threads. | ||||