Structure et fonctionnement des systèmes informatiques vue d'ensemble Matériel Logiciel Systèmes d'exploitation 1
Le matériel (hardware) plan de révision Unité centrale (UC) Mémoires Bus Dispositifs périphériques Communications Systèmes d'exploitation 2
Structure générale d'un système informatique Systèmes d'exploitation 3
Unité centrale (1) L'UC contient les composant essentiels : le procésseur et des régistres Répertoire de commandes spécifique au processeur Cycle de base : accès décodification - exécution Séquence des instructions : régistre compteur d'adresses Le régistre pointeur de la pile de contexte : la pile de contexte contient les informations nécessaires à l'éxécution du programme actif à un instant donné. Le PSW (Program Status Word) = régistre contenant une représentation de l'état de la machine à un instant donné Systèmes d'exploitation 4
Accélération du cycle de base Pipeline : simultanéité de plusieurs phases de l'instruction Charger l'instruction Décoder l'instruction Exécuter l'instruction Super scalaires : parallélisme de plusieurs instructions Exécuter l'instruction Charger l'instruction Décoder l'instruction Tampon Exécuter l'instruction Charger l'instruction Décoder l'instruction Exécuter l'instruction Les problèmes de synchronisation sont en partie laissés à la charge du SE Systèmes d'exploitation 5
Fonctionnement de l'uc (3) Modes de fonctionnement Mode utilisateur : le programme de l'utilisateur a un accès limité aux ressources (mémoire et commandes). Mode superviseur (kernel, système) : le SE a accès à toutes les ressources du système Un bit dans le PSW indique le mode de fonctionnement Le SE utilise les informations dans les régistres pour assurer la continuité et la sécurité du fonctionnement. Systèmes d'exploitation 6
Fonctionnement de l'uc (4) Amorçage du système Programme de démarrage (boot) en mémoire morte Diagnostics Recherche des périphériques d amorçage Lecture du premier secteur Suite du démarrage sur un support externe Chargement de la table de partition Identification de la partition active et chargement d un programme d initialisation spécifique au SE de la partition. Initialisation des vecteurs d interruption et des différents registres système Systèmes d'exploitation 7
Mémoires (1) Mode de stockage Mémoires périssables Cache Régistres Mémoire «vive» Mémoires non-perissables Mémoire secondaire Mémoires permanentes ROM (read-only memory) PROM (programmable read-only memory) EPROM (erasable programmable read-only memory) EEPROM (electrically erasable programmable read-only memory) Systèmes d'exploitation 8
Mémoire (2) Pourquoi autant de technologies différentes? Besoin Contraintes Performances Capacité Consommation Coûts Systèmes d'exploitation 9
Mémoires (3) Mode d'accès Accès aléatoire Accès séquentiel Capacité / performances Type de mémoire Performances Capacité Régistre <= 1 nsec <= 1KO Cache <= 2nsec <= 1M0 Mémoire principale <= 10 nsec <= 1GO Disques <= 10 msec <= 500 GO Bandes <= 100 sec <= 5000 GO Le système d'exploitation doit utiliser et gérer tous les types de mémoire disponible dans le système Systèmes d'exploitation 10
Bus (1) Définition Le bus est un sous-système destiné au transfer des données ou de l'alimentation électrique entre les composants d'un ordinateur (bus interne) ou entre des ordinateurs (bus externe). Contrairement à une connexion point à point, le bus peut connecter plusieurs périphériques sur la même liaison filaire. Le mode de connexion peut être de plusieurs types : Parallèle Série Hub (ex : USB) Systèmes d'exploitation 11 http://en.wikipedia.org/wiki/computer_bus
Bus (2) Plusieurs bus sont aujourd'hui présents dans un ordinateur, adaptés à des fonctions spécifiques : Bus du cache Bus UC Bus mémoire Bus périphériques : ISA, PCI, IDE, USB, SCSI, IEEE Les bus sont connectés entre eux par des «ponts» Les différents bus utilisent des technologies et affichent des performances différentes. Le SE doit gérer les différents types de connexion Systèmes d'exploitation 12
Dispositifs périphériques Définition Dispositif connecté à l'uc et/ou à la mémoire vive Les périphériques peuvent être Indispensables (écran, clavier, disque système) Optionnels (CDROM, mémoires auxilliaires, webcam, etc...) Le système d'exploitation doit gérer l'accès à tous les types de périphériques Systèmes d'exploitation 13
Communications Les ordinateurs modernes se connectent en réseaux Les réseaux sont «locaux» ou «étendus» Plusieurs technologies Cuivre : 10 et 100 Mb/s Radio : 11, 54 et 100 Mb/s Optique : 1000 Mb/s Systèmes d'exploitation 14
Structure d un réseau local Systèmes d'exploitation 15
Structure d un réseau étendu Systèmes d'exploitation 16
Le logiciel (software) plan de révision Instructions machine, langages de programmation et programmes Gestion des périphériques Stratégies de traitement Appels système Multiprogrammation et temps partagé Sécurité Systèmes d'exploitation 17
Instructions machine, langages de programmation et programmes Instructions machines = «mots» binaires, directement interprétables par l'uc. Les instructions d'un programme en cours d'exécution sont dans la mémoire principale Rôle du compteur d'adresses Assembleur, compilateur, interpréteur et éditeur de liens Les langages évolués Systèmes d'exploitation 18
Les programmes Le programme est un ensemble ordonné d'instructions. Le programme doit être chargé en mémoire pour s'exécuter Un programme peut être chargé en partie Plusieurs programmes peuvent être chargés en même temps Lorsqu'il y a plusieurs programmes en mémoire, ils peuvent se dérouler en parallèle mais une UC ne paut exécuter qu'une instruction à la fois. Systèmes d'exploitation 19
Gestion des périphériques Controlleur + dispositif Le controlleur regroupe toutes les fonctions de commande du dispositif. Les programmes «voient» le controlleur à travers les «pilotes». Ils sont spécifiques à chaque dispositif (scanner, imprimante, disque...). Le dispositif restant le même, la conception des pilotes peut être différente d'un SE à un autre (incompatibilités dans la même famille ex. W3.x / W98 / W2K). On normalise les interfaces logicielles entre SE et les dispositifs périphériques pour simplifier l'écriture des pilotes (ex : IDE = Integrated Device Driver) Systèmes d'exploitation 20
Stratégies de traitement dans les sytèmes «traditionnels» Le traitement par lots : Chargement du programme Chargement des données Traitement Monoprogrammé :éxécution séquentielle des programmes. Multiprogrammé : éxécution de plusieurs programmes en même temps. Utilisation intensive des ressources machine. Le temps partagé : Intéractivité : plusieurs utilisateurs interrogent le même programme. Ils doivent avoir le sentiment d'être seuls. Le traitement distribué : Résultats Les tâches sont exécutées sur plusieurs machines sans que l'utilisateur en soit averti. Systèmes d'exploitation 21
Appels système Le lien entre les programmes utilisateurs et le SE sont assurés par les appels «systèmes». Les API (appels systèmes ou Application Program Interfaces) constituent un élément essentiel du SE. Les API différent d'un SE à un autre, mais dans tous les SE on retrouvent leur fonctions de base. Les API sont appelés directement à partir des programmes assembleurs ou C ou par l'intermédiaire de procédures et/ou fonctions spécifiques aux langages de programmation. Systèmes d'exploitation 22
Sécurité Les problèmes de sécurité se situent à plusieurs niveaux La confidentialité des données, au niveau utilisateur La sécurité d'utilisation des ressources par les programmes, au niveau de l'exploitation La récupération en cas de panne La protection contre les intrusions (virus, hacker...) Tous ces aspects de la sécurité sont gérés par le SE Systèmes d'exploitation 23