Les systèmes d ’exploitation Emmanuel.Chaput@ [email protected] Plan Présentation générale Structure d ’un système Gestion des tâches Synchronisation Gestion de la mémoire Gestion des fichiers I.1 - Présentation générale Un système informatique Un système d’exploitation, c’est quoi ? – Stockage/traitement de l’information – Une machine virtuelle simple pérenne – Un gestionnaire de ressources fiable équitable 1 I.1 – Machine virtuelle Objectif : interface plus abstraite – Plus pérenne – Plus simple – Plus homogène P1 P2 I.1 – Gestionnaire de ressources Objectif : accès cohérents – Fiabilité – Stabilité I.1 - Présentation générale Un système d’exploitation, c’est quoi ? – du code assembleur C, … – aidé par le matériel gestion mémoire protection des accès … 2 I.1 - Présentation générale Noyau – briques logicielles de base permettant l ’exécution de logiciels – eg : Linux, SunOS Système d ’exploitation – ensemble de logiciels – eg : RedHat, RedHat, Solaris I.1 - Présentation générale Programmes Librairies … Noyau scheduler pilote Gestion mémoire … périphérique MMU … Matériel I.1 - Différents types de système Système tempstemps-réel – contraintes de temps impérieuses Système parallèle – plusieurs organes de calcul Système réparti Système virtuel – englobe plusieurs systèmes physiques – JVM Du lecteur mp3 au supercalculateur ... 3 I.1 – Exemples connus Linux – Noyau « UnixUnix-like » – Associé à l’environnement GNU Machine virtuelle Java – Sur un système hôte – Sur un système « réel » I.2 – Les abstractions Machine virtuelle => abstractions Stockage et traitement de données pour des utilisateurs – – – Utilisateur Stockage Exécution d’un traitement I.2 - Notion de processus Abstraction du flux d ’exécution Processus, tâche, thread, thread, … – différentes gestions Exécution d ’une suite d ’instructions Plusieurs modes d ’exécution Le noyau n ’est pas un processus (en général) – éventuellement discontinue – utilisateur/noyau 4 I.2 - Notion de parallélisme Abstraction d ’un lot de calculateurs Exécution simultanée de plusieurs tâches – plusieurs organes d ’exécution PseudoPseudo-parallélisme – entrelacement fin Systèmes multimulti-tâches – OS généralistes actuels I.2 - Notion de fichier Abstraction du stockage Outil de base de sauvegarde de l ’information Flux d ’octets Accès aléatoire Informations associées Mécanismes de protection I.3 – Interface Gestionnaire de ressource => mécanismes d’accès Si maîtrise du système complet – Convention d’utilisation Sinon – Techniques de protection – eg. eg. : Appels système 5 I.3 - Programmation système Programmation d ’applications proches du noyau Applicatifs permettant de gérer le système ≠ programmation du système – écriture de pilotes – ajout/évolution de fonctionnalités 6