Système d exploitation Montpellier 2013-2014
Notion de système d exploitation Syst Exploit. Il est nécessaire d ajouter des applications pour faciliter la machine physique
Notion de système d exploitation Syst Exploit. Le système d exploitation se définit comme une couche logicielle entre les applications utilisateurs et la matériel.
Syst Exploit.
Syst Exploit. LES DIFFERENTES CLASSES DE SYSTEMES Systèmes intéractifs et en temps partagé l'utilisateur est "derrière son clavier et son écran", il soumet des commandes et attend les résultats. Systèmes temps réel (réactifs) les programmes en exécution sont soumis à des contraintes de temps, c'est-à-dire que leurs exécutions doivent être impérativement achevées à un date butoir appelée échéance.
Syst Exploit. Les systèmes intéractifs Les systèmes intéractifs et en temps partagé sont les systèmes utilisés sur la plus part des ordinateurs. L on trouve plusieurs types de systèmes: -mono-utilisateur mono-tâche (mono programmé) Un seul programme en mémoire(ms/dos) -mono-utilisateur multi-tâches (multi programmé) Un utilisateur peut exécuter plusieurs programmes en même temps(windows, Linux) - multi-utilisateurs multi-tâches (multi programmé) Plusieurs utilisateurs peuvent exécuter plusieurs programmes en même temps(unix)
Principaux systèmes d exploitation Syst Exploit.
Un système d exploitation mono programmé MS/DOS
MS/DOS Présentation Ce système a été conçu pour des machines de faible capacité, les Ordinateurs Personnels ou PC. Le rôle du DOS est d'interpréter les commandes saisies au clavier par l'utilisateur. Ces commandes sont tapées à l'invite, c'est-à-dire une lettre d'unité suivi d'une barre oblique inverse (antislash), ce qui donne A:\ou C:\par exemple.
Architecture MS/DOS Le DOS, comme tout système d'exploitation, contrôle les activités de l'ordinateur. Il gère des opérations telles que la circulation, l'affichage, et l'entrée de données entre les divers éléments constitutifs du système. Le rôle du système est d isoler les programmes des détails du matériel
Architecture MS/DOS
MS/DOS Architecture Les informations relatives aux matériels installés (lecteurs de disquettes, disques durs, type d'écran, etc) sont stockées dans une zone mémoire permanente de l'unité centrale appelée Bios Data Area. Le BIOS est une véritable librairie de fonctions de base: -Affichage, -Saisie clavier, -Mémoire, -Disque, -
Architecture MS/DOS Un programme (setup) permet en général de mettre à jour cette information lorsque la configuration de l'ordinateur évolue.
MS/DOS Architecture INT 21H Le système d exploitation repose sur les appels aux fonctions du BIOS pour interagir avec le matériel. Ces appels se nomment : interruptions. Pour le DOS on utilise l interruption 21H INT 21H Accès à la ressource
MS/DOS Architecture Il existe plusieurs types d interruptions : 01H Lecture caractère 02H Affiche caractère 09H Affiche chaîne de caractère Il faut indiquer dans le registre AH le type d interruption à exécuter. Exemple : MOV AH, numero_fonction; INT 21H;
MS/DOS Architecture Un exemple de programme que comprends le Bios : MOV AH, 01H ;code lecture caractère INT 21H ;lecture effective AND AL,11011111b ; traitement sur le caractère MOV DL,AL ; MOV AH,02H ;code affichage caractère INT 21H ;affichage effectif Mais bien sûr l utilisateur ne voit pas toutes ces choses, sauf s il décide de le faire lui-même
Système d exploitation Multi programmé Linux
Linux Limites d un système mono programmé Dans ce type de système, le processeur est très mal exploité car il est inactif pendant toutes les durées des E/S. Pour optimiser le processeur on peut exécuter plusieurs programmes en même temps, on parle alors de système multi programmé
Linux Principe d un système multi programmé Système mono programmé Processeur Execution E/S Saisie Affichage Système multi programmé Processeur Execution P1 Execution P2 E/S Saisie P1 Affichage P1 E/S Saisie P2 Affichage P2
Linux Fonctions d un système multi programmé Assurer le partage de la machine physique. Mais il faut gérer plusieurs problèmes : Comment isoler les différentes exécutions en cours? Quel programme chargé est à exécuter et dans quel ordre? Comment assurer un bon taux d utilisation du processeur? Équité d accès aux ressources matérielles? Cohérence dans l accès aux ressources?
Linux La notion de processus L objectif de tout système est d exécuter des commandes ou programmes. On nommera «processus» l exécution d un programme. Un processus est un programme en cours d exécution auquel est associé un environnement processeur (CO, PSW, RSP, registres généraux) et un environnement mémoire appelés contexte du processus. C est l image de l état du processeur et de la mémoire au cours de l exécution d un programme.
Linux La vie d un processus 1 L utilisateurtapeauclavierlenomdelacommandeàexécuter. Cette commande est chargée en mémoire et attend son tour. 2 La commande est sélectionnée pour être exécutée par le processeur. 3 A chaque entrée/sortie demandée(affichage, saisie au clavier), le programme attend la fin de l opération pour continuer. 4 Quand la commande est terminée, elle est enlevée de la mémoire.
Linux Les états d un processus Chargement Demande E/S Fin E/S
Linux Comment isoler les différentes exécutions en cours? Pour chaque processus, le système crée un «Bloc de Contrôle».
Linux Quel programme chargé est à exécuter et dans quel ordre? L ensemble des blocs de contrôle sont stockés en mémoire dans une table dite «table des processus». Table des processus BC1 BC2 BC3... BCn Ordonnanceur Un programme particulier du SE, l Ordonnanceurse charge de contrôler et de piloter l ordre d exécution des processus.
Linux Comment assurer un bon taux d utilisation du processeur? Ordonnancement non-préemptif et préemptif Chargement Fin E/S Demande E/S
Politiques d ordonnancement - Politique premier arrivé premier servi Basée sur le numéro d arrivé, FIFO, sans préemption - Politique plus court d abord Basée sur le plus petit temps d exécution Linux - Politique par priorité chaque processus reçoit une priorité, le processus de plus forte priorité est élu (avec ou sans préemption) - Politique du tourniquet Basée sur une rotation temporelle (10 à 100ms) Un processus élu s'exécute au plus durant un quantum; à la fin du quantum, réinsertion en fin de file d'attente des processus prêts
L ordonnancement sous Linux Linux