Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Pratique des Systèmes d’Exploitation L2 Informatique – Semestre 3 Printemps Simon E.B. Thierry Université de Strasbourg Février - Mai 2011 Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 1/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Modalités pratique Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 2/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Cours Enseignants Simon E.B. Thierry : cours magistraux François Petitjean : travaux pratiques Pour nous joindre : [email protected] et [email protected] Durée 16h de CM 24h de TP Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 3/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Contrôle des connaissances Projet : coefficient 1/2 Sujet du projet : aux alentours de la 6è semaine Une des séances de TP sera consacrée à des « soutenances » Examen terminal : coefficient 1/2 Sur table, sans ordinateur, 90min Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 4/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Objectifs comprendre le rôle et la structure d’un Système d’Exploitation, les interactions avec le matériel et les logiciels savoir utiliser couramment un SE (installation basique, manipulation d’un système de fichiers, des processus, des entrées/sortie) utilisation de la console Unix : commandes de base, combinaison de commandes, expressions régulières programmation de scripts shell, interactions entre programmes C et scripts shell initiation à l’administration d’une machine Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 5/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Liens avec d’autres cours Programmation Système et Réseau (L2S4) : programmer certains éléments des SE Architecture des Ordinateurs (L2S4) : comprendre les mécanismes de fonctionnement d’un processeur, programmer en assembleur Fondements des Systèmes d’Exploitation (L3S5) : comprendre en détail les algorithmes utilisés par les systèmes d’exploitation pour en gérer les composants Systèmes Distribués (L3S6) : partage des ressources dans le cadre d’une architecture à plusieurs ordinateurs Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 6/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Bibliographie La bible Systèmes d’Exploitation, Andrew Tanenbaum Unix et Linux La Programmation sous Unix, Jean-Marie Rifflet Unix : Initiation et utilisation, Armspach, Colin, Ostré-Waerzeggers Unix et Linux, Utilisation et Administration, Jean-Marie Léry Scripts shell Scripts shell, Jean-Marc Baranger et Théo Schomaker Programmation shell sous Unix/Linux, Christine Deffaix-Rémy Ce cours est inutile Toutes les informations sont sur internet ou en bibliothèque : approfondissez ! Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 7/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Bibliographie La bible Systèmes d’Exploitation, Andrew Tanenbaum Unix et Linux La Programmation sous Unix, Jean-Marie Rifflet Unix : Initiation et utilisation, Armspach, Colin, Ostré-Waerzeggers Unix et Linux, Utilisation et Administration, Jean-Marie Léry Scripts shell Scripts shell, Jean-Marc Baranger et Théo Schomaker Programmation shell sous Unix/Linux, Christine Deffaix-Rémy Ce cours est inutile Toutes les informations sont sur internet ou en bibliothèque : approfondissez ! Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 7/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Plan du cours 1 Modalités pratique 2 Rôle d’un Système d’Exploitation Origines de l’informatique Architecture Rôle du Système d’Exploitation 3 Introduction aux SE Unix 4 Droits 5 Shell et ligne de commande 6 Shell scripts Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 8/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Rôle d’un Système d’Exploitation Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 9/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Origines de l’informatique De la philosophie à l’informatique 19è siècle : Leibniz, arithmétique binaire 1854 : Algèbre de Boole, fondée sur ET, OU et NON 1931 : Gödel : théorème d’incomplétude (on ne peut tout exprimer avec un système mathématique) 1938 : Turing se pose des questions sur la calculabilité des nombres peut-on obtenir tous les nombres avec un algorithme ? invention des machines de Turing, pour représenter des algorithmes 1944 : premiers prototypes d’une machine de Turing physique 30 tonnes multiplication de 2 nombres à 10 chiffres en 3 ms grosse calculette 1945 : von Neuman, architecture à 5 composants : 1 2 3 4 5 Unité arithmétique et logique Unité de contrôle Mémoire centrale Unité d’entrée Unité de sortie Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 10/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Origines de l’informatique La machine de von Neumann En réalité, de Eckert et Mauchly, mais c’est von Neumann qui a signé le papier Unité centrale / Processeur Unité de contrôle Unité arithmétique Unité d'Entrée/Sortie Permettre le déclenchement Effectuer les opérations d de l'action (instruction) au calcul moment voulu Sélectionner le circuit Série de registres (éléments logique correspondant à de mémoire spécifiques a l'instruction CPU) Communication avec le reste de l'architecture (mémoire, périphériques) Bus Mémoire pour les instructions et les données actions du processeur (primitives) : jeu d’instructions langage élémentaire de son utilisation : langage machine une instruction peut consulter le contenu de la mémoire et le modifier exécution d’une seule instruction à la fois indication du moment où lancer une action : dans le texte du programme texte du programme : dans la mémoire case mémoire : donnée, instruction ou adresse d’une autre donnée Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 11/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Origines de l’informatique Exemple de programme 1 2 charger dans le registre 1 le nombre qui est dans la case mémoire n°20 tester le contenu du registre 1 ; s’il vaut 0 aller à l’instruction n°5 ; sinon ne rien faire 3 additionner au contenu du registre 1 le nombre qui est dans la case mémoire n°21 et placer le résultat dans le registre 2 4 copier le contenu du registre 2 dans la case mémoire n°22 5 imprimer le contenu de la case mémoire n°22 6 FIN Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 12/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Origines de l’informatique Exemple de langage machine Instructions Supposons que l’on dispose de 16 bits pour représenter une instruction, sur un processeur à 4 registres. Bits 0 à 3 Code opération Bits 4 à 5 N° du premier registre concerné Bit 6 à 7 N° du second registre concerné Bits 8 à 15 Adresse mémoire Codes opérations Instruction Chargement mémoire → registre Copie registre → mémoire Addition mémoire à registre Imprimer mémoire Test registe et branchement si zéro Fin Code opération 0001 0010 0011 0100 0101 0110 Nom LOAD STORE ADD PRINT BZ END Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 13/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Origines de l’informatique Traduction du programme Traduction des instructions Code opération 0001 0101 0011 0010 0100 0110 1er registre 01 01 10 10 00 00 2ème registre 00 00 01 00 00 00 Adresse 0001 0100 0000 0101 0001 0101 0001 0110 0001 0110 0000 0000 Résultat en langage machine 0001010000010100 L’unité de contrôle cherche les instructions 0101010000000101 l’une après l’autre et déclenche l’exécution. 0011100100010101 Le décodage par l’unité de contrôle du code 0010100000010110 opération permet d’activer le circuit logique 0100000000010110 correspondant à l’instruction. 0110000000000000 Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 14/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Origines de l’informatique Assembleur Métalangage Étiquette FIN Nom opération LOAD BZ ADD STORE PRINT END Opérandes 1, 20 1, FIN 2, 1, 21 2, 22 22 assembleur : traduire un programme symbolique en un programme sous forme de mot binaire compréhensible par les circuits logiques compilateur : traduire un programme d’un langage de programmation à un autre Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 15/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Origines de l’informatique Unité d’entrée/sortie pendant l’exécution : le programme (sous forme binaire) est stocké en mémoire centrale (ou mémoire vive) hors exécution ou quand l’ordinateur est éteint : programme (sous forme binaire) stocké sur une mémoire « permanente » (HDD, CD, ...) accessible par l’unité d’E/S mémoire permanente : moins performante en terme de temps d’accès (accès registres < accès mémoire vive < < accès disque) unité d’E/S : copie de la mémoire permanente vers la mémoire centrale (via bus) Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 16/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Origines de l’informatique Suite à von Neumann, Eckert et Mauchly 1945 : von Neumann, Eckert et Mauchly proposent l’EDVAC (Electronic Discrete Variable Automatic Computer) programme et données sont en mémoire la machine n’est pas commandée par des fiches mais par le contenu de sa mémoire sauts, branchements conditionnels : l’ordinateur est né 1947 : premier transistor 1951–58 : premières machines commerciales (IBM 650 : 1500 exemplaires vendus) monoprogrammation traitement par lots (batch) cartes perforées, bandes magnétiques, imprimante fiabilité des tubes à vides (lampes) : le bug est né Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 17/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Origines de l’informatique Répartition des ressources chaque chiffre binaire est introduit manuellement à l’aide de commutateurs heures de calcul → affichage de résultat ⇒ utilisation de cartes perforées (programmes) et de bandes magnétiques (E/S) problème : l’impression des résultats, voire l’écriture sur bande, prennent plus de temps que le calcul proprement dit idée : stocker le résultat sur bande et imprimer via un autre programme vérifier que le calcul est terminé gérer un programme d’impression vérifier que l’impression des résultats précédents est terminée optimiser temps de calcul et temps de lecture des données du prochain calcul dernière mission : confiée à un méta-programme, nommé Moniteur → 1955 : le système d’exploitation est né Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 18/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Origines de l’informatique Du traitement par lot à la multiprogrammation traitement par lots : répartition manuelle du travail sur plusieurs machines par cartes performées programme en charge de distribuer « harmonieusement » le temps disponible entre des programmes qui s’exécutent pseudo-simultanément : multi-programmation programme en train de s’exécuter : processus programme partageant le temps : système d’exploitation arbitrage de la répartition du temps entre les processus : une des fonctions fondamentales du S.E. (ordonnanceur) N.B. : un mécanisme de protection entre les différents programmes est mis en place Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 19/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Origines de l’informatique Premiers S.E. commerciaux 1958 : premier circuit intégré (Texas Instruments) 1958–64 : transistors → vitesse et fiabilité apparition de mini-ordinateurs mode superviseur E/S asynchrones premiers systèmes à temps partagés 1964–78 : premiers circuits intégrés commerciaux 1971 : premier microprocesseur : Intel 4004 (4 bits, 108 KHz) 1974 : invention de la carte à puce 1974 : premier processeur Motorola : 6800 (8 bits) 1975 : Bill Gates et Paul Allen fondent Microsoft 1976 : Steve Jobs et Steve Wozniack fondent Apple 1978 : Intel lance le 8086 (16 bits, 4,7MHz) Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 20/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Origines de l’informatique Systèmes multi-utilisateurs multiprogrammation → temps partagé au lieu d’avoir un seul gros système (mainframe) qui partitionne sa mémoire entre les processus en optimisant le temps d’attente : 1 utilisateur ⇔ 1 terminal allocation des ressources aux processus actifs (et pas par utilisateurs) notion de temps partagé CTSS (Compatible Time Sharing System) dans les années 60 puis Multics, Unix, ... Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 21/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Origines de l’informatique Ordinateurs personnels puces : milliers de transistors : production de masse à faible coût possible 1972 : Micral, Intel 8008 1976 : Jobs & Wozniak : Apple I (666,66 dollars) 1977 : Apple II ; mémoire vidéo reliée à un moniteur de balayage 1979 : Visicalc (1er tableur) → entrée dans le monde de la gestion 1981 : 1er Micro IBM, Intel 8088, MS-DOS (monoprogrammation) 1981 : XEROX (interface graphique) 1985 : imprimante laser – langage de programmation PostScript 1987 : IBM lance OS/2 – Microsoft lance Windows (interface avec MS-DOS) 1980–90 : réseaux, cartes à plusieurs millions de transistors au mm2 , disques magnétiques/optiques, écrans couleurs graphiques, interfaces multi-fenêtres, réseaux par cable, fibre optique, satellite, ... loi de Moore : 2x plus de transistors par mm2 tous les 2 ans informatique d’aujourd’hui : presque la même qu’en 1980 (modulo loi de Moore) Simon E.B. Thierry processeurs multi-cœurs Pratique des Systèmes d’Exploitation – L2S3 Printemps 22/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Origines de l’informatique Conclusion sur l’évolution de l’informatique stagnation de l’accélération pour la plupart des algorithmes (temps CPU minoritaire sur transferts mémoire) accélération pour algorithmes parallèles (plusieurs cœurs : plus de registres) matériel extraordinairement varié SE ont un rôle essentiel à jouer : rendre les spécificités du matériel invisibles à l’utilisateur (ex : répartir la charge entre les cœurs de façon transparente) Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 23/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Architecture Différents niveaux architecture matérielle les composants électroniques de l’ordinateur architecture logicielle système d’exploitation applications Applications Word, Excel, WinZip, ... Vi, KDE, Gnome, ... Système d'exploitation Microsoft Windows 2000, XP, ... Sun Solaris, Linux, FreeBSD, ... Matériel Architecture PC Architecture Apple PowerPC Architecture Sun Sparc Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 24/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Architecture Micro-processeur Rôle exécuter les programmes suivant un jeu d’instructions programme : suite d’instructions (branchements possibles) instruction : commande unitaire adressé au micro-processeur, ordonnant une suite d’opérations Ils contiennent plusieurs millions de transistors Une famille de processeurs est caractérisée par leur type de jeu d’instructions leur vitesse (cadencement en nombre de cycles d’horloge par seconde) leur capacité d’adressage (en bits) Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 25/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Architecture Quelques familles de processeurs CISC (Complex Instruction-Set Computer) RISC (Reduced Instruction-Set Computer) VLIW (Very Long Instruction Word) Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 26/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Architecture CISC (Complex Instruction-Set Computer) Caractéristiques jeu d’instructions complexes, architecture complexe taille d’instruction variable le modèle le plus ancien Exemples : Intel 8086 → Pentium 4, Motorola 68xxx Avantage Architecture souple → permet des opérations complexes Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 27/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Architecture RISC (Reduced Instruction-Set Computer) Caractéristiques jeu d’instructions réduit, architecture simple taille des instructions fixe Exemples : PowerPC, ARM, Sparc, ... Avantages conception facile → moins de pannes possibles moins de transistors → faible consommation exécution d’une instruction très rapide Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 28/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Architecture VLIW (Very Long Instruction Word) Caractéristiques instructions de taille fixe, 4 à 8x plus grande que RISC jeu d’instructions de type RISC technologie récente Exemple : Transmeta Crusoe Avantages encore moins de transistors : très faible consommation exécution potentielle de 4 à 8 instructions RISC par cycle d’horloge Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 29/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Architecture Architecture d’un micro-processeur Unité Arithmétique et Logique Effectue les différentes opérations associées à l’instruction courante Registre d’instruction Contient l’instruction en cours d’exécution Registre «compteur ordinal» Contient la position de l’instruction courante en mémoire (incrémentation : instruction suivante) Registres (les autres) : mémoire interne au processeur permettant de contenir les informations nécessaires pour réaliser les opérations associées à l’instruction en cours Autre type de processeur : Graphical Process Unit (GPU) Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 30/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Architecture La mémoire Organisation hiérarchique en fonction de la vitesse d’accès mémoire interne au processeur (registres) mémoire vive (RAM : Random Access Memory) mémoire morte Rôle(s) contenir les informations nécessaires au cours de la vie d’un programme (instructions et données) : mémoire vive contenir les informations les plus demandées par un composant afin d’accéler le traitement : mémoire cache contenir les programmes même lorsque l’ordinateur n’est pas alimenté : mémoire de masse contenir des informations critiques de configuration et paramétrage du système informatique : mémoire ROM en particulier, contenant les instructions permettant de charger en mémoire vive le système d’exploitation (BIOS sur une architecture PC) Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 31/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Architecture Anecdote inutile : «Booter» périphérique sur lequel se trouve le S.E. : boot device identification de ce périphérique : booting raccourci de « bootstrapping » to pull oneself up by one’s bootstraps réussir par soi-même, sans aide extérieure, une tâche ardue (voire impossible) Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 32/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Architecture Anecdote inutile : «Booter» périphérique sur lequel se trouve le S.E. : boot device identification de ce périphérique : booting raccourci de « bootstrapping » to pull oneself up by one’s bootstraps réussir par soi-même, sans aide extérieure, une tâche ardue (voire impossible) Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 32/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Architecture Anecdote inutile : «Booter» périphérique sur lequel se trouve le S.E. : boot device identification de ce périphérique : booting raccourci de « bootstrapping » to pull oneself up by one’s bootstraps réussir par soi-même, sans aide extérieure, une tâche ardue (voire impossible) Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 32/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Architecture Anecdote inutile : «Booter» périphérique sur lequel se trouve le S.E. : boot device identification de ce périphérique : booting raccourci de « bootstrapping » to pull oneself up by one’s bootstraps réussir par soi-même, sans aide extérieure, une tâche ardue (voire impossible) Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 32/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Architecture Anecdote inutile : «Booter» périphérique sur lequel se trouve le S.E. : boot device identification de ce périphérique : booting raccourci de « bootstrapping » to pull oneself up by one’s bootstraps réussir par soi-même, sans aide extérieure, une tâche ardue (voire impossible) Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 32/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Rôle du Système d’Exploitation Rôle du SE Définitions Système d’Exploitation ou operating system Environnement logiciel permettant à l’utilisateur d’exploiter les ressources matérielles d’un système informatique Interface entre programmes d’un utilisateur (applications) et les ressources matérielles du système Importance du SE gestion efficace des ressources matérielles qualité du SE responsable des performances globales du système SE performant : exploitation performante du matériel, bonne répartition des ressources, applications performantes Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 33/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Rôle du Système d’Exploitation SE dans l’architecture Word, Excel, WinZip, ... Vi, KDE, Gnome, ... Applications Système d'exploitation Microsoft Windows 2000, XP, ... Sun Solaris, Linux, FreeBSD, ... Matériel Architecture PC Architecture Apple PowerPC Architecture Sun Sparc Applications : doivent fonctionner (ne dépend pas que du SE... bossez !) Système d’Exploitation : interface Matériel : modifications constantes, compliqué SE : programme pour «gérer le matériel» Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 34/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Rôle du Système d’Exploitation Missions du S.E. rendre transparente la complexité du matériel lancer des instructions complexes par des commandes simples offrir une notion de machine virtuelle rentabiliser l’utilisation minimiser les temps morts (multitâche, parallélisation E/S, ...) MSDOS est-il un OS ? minimiser le temps passé sur la machine préserver les investissements équipement, matériel et logiciel informations, programmes et données MSDOS ne serait donc pas un OS ? faciliter la vie des informaticiens Bon, là, plus de doute... Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 35/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Rôle du Système d’Exploitation Outils pour l’administration que doit fournir un (bon) SE protéger le système des utilisateurs, et les utilisateurs entre eux partager les périphériques (file d’attente) surveillance et maintenance du système diagnostic (test de la machine, gestion des erreurs) gestion des utilisateurs (mots de passe, quotas, priorité) gestion et partage des ressources système sauvegardes contrôle des performances (embouteillages, saturation de l’espace disque, du swap) Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 36/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Rôle du Système d’Exploitation Rôles du SE (continued) gestion de la communication entre processus : synchronisation, partage mémoire, appel à distance entre ordinateurs : réseau local, réseau global, internet fournir un environnement à l’utilisateur interface pour dialoguer avec le système outils (compilateur, éditeur de liens, ...) utilitaires (éditeurs de texte, débogueurs, interpréteurs de commandes) système de gestion de fichiers pour structurer, partager, ... traitement des erreurs heure, date Certains de ces éléments (outils, interface graphique) peuvent être vus comme extérieurs au SE. Mais ils doivent alors se baser sur l’interface proposée par le SE pour dialoguer avec le système. Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 37/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Rôle du Système d’Exploitation Complexité d’un S.E. → PSR, FSE Gestion du processeur Mono-tâche, «batch», puis multi-programmation (1960) MS-DOS : 1981 choisir les programmes à exécuter échanger les programmes dans le processeur répartir la mémoire partager le code entre plusieurs programmes multi-tâches préemptif : notion de temps partagé (quantum) reprendre périodiquement le contrôle nécessite un processeur préemptif avec un mode superviseur Gestion de la mémoire notion d’adressage mémoire allocation, protection mémoire segmentée, linéaire, paginée prise en compte de la spécificité du matériel pour optimiser les performances Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 38/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Rôle du Système d’Exploitation Types de S.E. Mono-tâche / multi-tâche mono-tâche une tâche ne peut utiliser les ressources du système que si la précédente est terminée simpliste, principé abandonné dans les années 70 multi-tâche plusieurs applications prises en compte simultanément par le S.E. présence de mécanismes de partage de temps entre les tâches plus compliqué à mettre en œuvre simplifie plus le travail des informaticiens et utilisateurs Ha... Mono-utilisateur / multi-utilisateur mono-utilisateur système utilisé par un seul utilisateur à la fois ordinateurs personnels, stations de travail, systèmes embarqués multi-utilisateur système utilisé par plusieur utilisateurs simultanément destiné aux serveurs à l’origine Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 39/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Rôle du Système d’Exploitation Ces SE qui ont marqué l’Histoire MS-DOS : MicroSoft Disk Operating System Mono-utilisateur, mono-tâche (1981) IBM OS/2 : Operating System/2 Mono-utilisateur, multi-tâche (1987) Windows 95/98/ME Mono-utilisateur, multi-tâches (1995) – sur-couche de MS-DOS Windows NT/2000/XP Multi-utilisateur, multi-tâche (1995) Apple MacOS Mono-utilisateur, mono-tâche puis multi-tâche (1986) UNIX System V, BSD, SCO, Linux, GNU Hurd, MacOS X, ... Multi-utilisateur, multi-tâche (1970) Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 40/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Rôle du Système d’Exploitation Deux grandes familles Aujourd’hui, deux grandes familles de systèmes d’exploitation SE Microsoft SE de type UNIX Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 41/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Rôle du Système d’Exploitation S.E. Microsoft : Historique 1981/82 : première version de MS-DOS 1992 : Windows 3.11, première interface graphique aboutie (pas un SE) 1995+ : gamme personnelle : Windows 95, Windows 98, Windows ME (pas des SE) gamme professionnelle : Windows NT, Windows 2000 (là, oui, c’est des SE) aujourd’hui : fusion des deux gammes Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 42/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Rôle du Système d’Exploitation S.E. Microsoft : Caractéristiques Windows XP, Vista, 7 : SE multi-utilisateur, multi-tâches pourvu d’une interface graphique intuitive ; support du multi-cœur destinés au grand public (installation et configuration «simples») ressources matérielles non exposées aux utilisateurs : convient aux utilisateurs, moins aux développeurs Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 43/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Rôle du Système d’Exploitation S.E. Unix : Historique 1969 : AT&T développe MULTICS (Multiplexed Information and Computing Service) première version, simplifiée, se nomme UNICS (Uniplexed ICS) adaptation à plusieurs architectures matérielles : langage C 1979 : AT&T veut vendre son SE, jusqu’alors distribué aux universités ; Berkeley décide de créer sa propre version : Berkeley Software Distribution 1983 : le MIT créé X Window, une interface graphique pour les différents UNIX (basés soit sur AT&T, soit sur BSD) 1991 : projet étudiant de Linus Torvalds, Linux (il l’avait appelé Freax) 1992 : Sun développe Solaris, basé sur AT&T 1992–1995 : procès AT&T vs BSDI → aucun effort commercial de l’un ni de l’autre, champ libre pour Apple et Microsoft Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 44/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Rôle du Système d’Exploitation S.E. Unix : Caractéristiques interface utilisateur réputée moins conviviale (jusqu’à RedHat et Ubuntu) plus complexe à installer, configurer ressources du SE apparaissent à l’utilisateur sous forme de fichier ou sont simples à utiliser : gestion aisée des ressources pour le développeur compatibles avec une série d’applications : projet GNU ((((((GNU)’s Not Unix)’s Not Unix)’s Not Unix)’s Not Unix)’s Not Unix)’s Not Unix Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 45/ 46 Modalités pratique Rôle d’un Système d’Exploitation Introduction aux SE Unix Droits Shell et ligne de commande Shell scripts Rôle du Système d’Exploitation Questions ? Sinon, à la semaine prochaine ! Semaine prochaine : les composants d’un S.E. plongée dans Unix Simon E.B. Thierry Pratique des Systèmes d’Exploitation – L2S3 Printemps 46/ 46