Rechercher Se connecter FR EN

Programmation systèmeInitiation Système et Réseau (STI)

FISE STI Semestre 5 Tronc Commun

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

2C 2TD C TD C TD C TD C TD C TD C TD C TD C TD TP TP

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

ModuleUnité d'enseignementSemestre
Programmation CPrincipes de la programmationS5
Algorithmique et programmation 3Sciences de base 3S3

Programme

Cours

  1. Introduction
  • Système d'exploitation
- Historique UNIX
- Mode d'exécution d'un processeur
  • Norme (Unix->POSIX->SUS)
  1. 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
  1. Système de fichiers
  • Exemple : ext2, FAT32
  1. 
Processus
  • création, terminaison, interruptions, ordonnancement 
- Gestion des processus

  • Attributs des processus 
- Vie des processus
  • Gestion des droits
  1. Système d'exploitation et signaux
  2. Signaux temps réel POSIX 1.B
  3. Communications inter-processus (IPC)
  • Modèle SystemV et Posix
  1. Threads
  2. I/O asynchrone
  3. Ordonnancement
  4. 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.VerbeDescriptionNiveau
C1_1identifierla différence entre SystemV et POSIX2
C1_4mettre en placedes programmes en C pour gérer les E/S système3
C1_4mettre en placeles notions particulières de la programmation système à travers POSIX.3
C2_1décrirele fonctionnement d'un Système de fichiers1
C2_1décrirele fonctionnement des processus système1
C2_2gérerla communication entre processus3
C2_2concevoirdes programmes en C pour gérer les processus système3

Compétences SecNumEdu

CompétenceHeures coursHeures pratiqueNiveau entréeNiveau sortie
Sécurité des systèmes d’exploitation3301
gestion des droits fichiers et processus.
Développement logiciel et ingénierie logicielle (sous l’angle de la sécurité)3301
Gestion mémoire, Mémoire partagée, Threads.