cours se chap1_2
TRANSCRIPT
Décembre2010
1
2AGE Ecole Nationale d’Ingénieurs de Tunis 1
SYSTÈMES D’EXPLOITATION
Département TIC
Meriem KASSAR BEN JEMAA [email protected]
Ecole Nationale d’Ingénieurs de Tunis
2AGE Ecole Nationale d’Ingénieurs de Tunis 2
FICHE DESCRIPTIVE �• Objectifs généraux :
– Comprendre les fonctionnalités essentielles d’un système d’exploitation. – Connaître le système Unix du point de vue de l’utilisateur. – Apprendre la notion de processus : définition, communication, exécution.
• Public Cible : 2ème Année, Spécialité « Génie Electrique » • Pré requis : Informatique, Programmation • Durée : 15 heures • Formules pédagogiques : Exposé informel, Exercices
• Moyens pédagogiques : Tableau, Support de cours
• Bibliographie : [1] I. Mounier & M. Gradinariu , « Programmation Système & Internet », Support de cours, UPMC, 2007. [2] F. Pellegrini & D. Sherman, « Systèmes d’exploitation », Support de cours, ENSEIRB, 2001. [3] A. Belkhir, « Systèmes d’exploitation, Mécanismes de base », 2005. [4] F. Bourdon, « Systèmes d’exploitation », Support de cours, IUT de Caen. [5] Y. Bagnotte, « Systèmes d’exploitation & Programmation Système », 2001. [6] H.Bourzoufi , « Cours de Systèmes d'Exploitation (Unix) », Université de Valenciennes - ISTV.
2AGE Ecole Nationale d’Ingénieurs de Tunis 3
CHAPITRE 1�INTRODUCTION[1] [4]
1. Qu’est ce qu’un système d’exploitation ? 2. Fonctionnalités d’un système d’exploitation 3. Historique
2AGE Ecole Nationale d’Ingénieurs de Tunis 4
L’ordinateur « nu » • Une machine inutilisable
– Programmation en langage binaire seulement – Accès aux périphériques très difficiles – Exécution d'un seul programme à la fois
• Pour exécuter un programme – Aller le chercher sur le disque dur
• Trouver sa position
• Lire les mots qui le décrivent – Le mettre en mémoire
• Lui allouer un espace – L'exécuter...
• Gestion du clavier par ce programme? • Gestion de l'écran ?
Décembre2010
2
2AGE Ecole Nationale d’Ingénieurs de Tunis 5
Un ordinateur contient… • un ou plusieurs processeurs, • une mémoire principale, • des horloges, • des terminaux, • des disques, • des interfaces de connexion à des réseaux, • et des périphériques d'entrées/sorties. La complexité évidente du matériel implique la
réalisation d'une machine virtuelle qui gère le matériel : c'est le système d'exploitation.
2AGE Ecole Nationale d’Ingénieurs de Tunis 6
Un ordinateur contient…
• Dispositifs physiques : ils se composent de circuits intégrés, de fils électriques, de périphériques physiques ...
• Microprogramme : c'est un logiciel de contrôle des périphériques (interprête).
• Langage machine : C'est un ensemble (entre 50 et 300) d'instructions élémentaires (ADD, MOVE, JUMP) pour effectuer le déplacement des données, des calculs, ou la comparaison de valeurs.
• Système d'exploitation : c'est un ensemble d'instructions plus simples, comme LIRE UN BLOC DU FICHIER.
2AGE Ecole Nationale d’Ingénieurs de Tunis 7
Deux catégories de logiciels • Les programmes systèmes pour le fonctionnement
des ordinateurs, • Les programmes d'application qui résolvent les
problèmes des utilisateurs. • Le programme « système d'exploitation » est le
programme fondamental des programmes systèmes. Il contrôle les ressources de l'ordinateur et fournit la base sur laquelle seront construits les programmes d'application.
• Deux modes de fonctionnement : – Le mode noyau ou superviseur et le mode utilisateur
(compilateur, éditeur, programmes utilisateurs ...). 2AGE Ecole Nationale d’Ingénieurs de Tunis 8
Un système d’exploitation… • C’est le logiciel le plus important de la machine puisqu’il
fournit : – une gestion des ressources de la machine : processeurs, mémoire,
disques, horloges, périphériques, communication inter-processus et inter-machines.
– une base pour le développement et l’exécution de programmes d’application.
deux fonctions : – une machine virtuelle
Son rôle est de masquer des éléments fastidieux liés au matériel,
– un gestionnaire de ressources • l'ordonnancement et le contrôle de l'allocation des processeurs, des
mémoires et des périphériques d'E/ S entre les différents programmes qui y font appel.
Décembre2010
3
2AGE Ecole Nationale d’Ingénieurs de Tunis 9
Un système d’exploitation… • Fonctions :
– Services « visibles » • Interface utilisateur • Accès aux périphériques • Gestion des disques • Lancement des programmes
– Services « cachés » • Partage du processeur • Partage de la mémoire • Gestion d'événements • Mécanismes de synchronisation entre les programmes
2AGE Ecole Nationale d’Ingénieurs de Tunis 10
Historique
2AGE Ecole Nationale d’Ingénieurs de Tunis 11
Historique
• Il n'existait pas de système d'exploitation. • Les utilisateurs travaillaient chacun leur tour sur
l'ordinateur qui remplissait une salle entière. • Ils étaient d'une très grande lenteur. • Ils étaient d'une très grande fragilité.
La 1ère génération (1945 1955) : les tubes à vide et les cartes enfichables.
2AGE Ecole Nationale d’Ingénieurs de Tunis 12
Historique
• Le passage aux transistors rendait les ordinateurs plus fiables. • Ils pouvaient être vendus à des utilisateurs (grandes
compagnies, université ou administrations. • Mais devant les coûts d'équipement élevés, on réduisait
les temps grâce au traitement par lots. • Les utilisations principales étaient le calcul scientifique et
l'ingénierie (équations différentielles). • Apparition des langages FORTRAN et assembleur. • Apparition des systèmes d'exploitation (SE) :
– FMS (Fortran Monitor System) – et IBSYS (IBM 7094).
La 2ème génération (1955 1965) : les transistors et le traitement par lots.
Décembre2010
4
2AGE Ecole Nationale d’Ingénieurs de Tunis 13
Historique
• Amélioration des coûts et des performances (circuits intégrés). • Une famille d'ordinateurs compatibles entre eux. • Une seule architecture et un même jeu d'instructions. • Des ordinateurs uniques pour les calculs scientifiques et
commerciaux. • Apparition du spoule (spool, Simultaneous Peripheral Operation
On Line) pour le transfert des travaux des cartes vers le disque. • Apparition de la multiprogrammation (partitionnement de la
mémoire pour des tâches différentes). • Mais, un système d'exploitation énorme et très complexe pour
satisfaire tous les besoins (plusieurs millions de lignes d'assembleur).
La 3ème génération (1965 1980) : les circuits intégrés et la multiprogrammation.
2AGE Ecole Nationale d’Ingénieurs de Tunis 14
Historique
• Apparition du partage de temps, une variante de la multiprogrammation (chaque utilisateur possède un terminal en ligne) ; naissance du système MULTICS (MULTiplexed Information and Computing Service) pour ordinateur central.
• Apparition des miniordinateurs (DEC PDP1 en 1961, 4K mots de 18 bits, pour un prix de 120 000 $).
• K. Thompson écrivit une version simplifiée (monoutilisateur) de MULTICS ; B. Kernighan l'appela avec humour UNICS (Uniplexed Information and Computer Service) ; ce nom allait devenir UNIX.
• D. Ritchie se joignit à K. Thompson pour réécrire UNIX en langage C ; ce système d'exploitation a été le plus porté sur toutes sortes de machine.
La 3ème génération (1965 1980) : les circuits intégrés et la multiprogrammation.
2AGE Ecole Nationale d’Ingénieurs de Tunis 15
Historique
• Ils sont dû au développement des circuits LSI (Large Scale Integration) contenant des centaines de transistors au cm2.
• Ils ont la même architecture que les miniordinateurs mais leur prix est beaucoup moins élevé.
• Il existe deux systèmes d'exploitation principaux : MSDOS (Microsoft Inc.) et UNIX. MSDOS intègre petit à petit des concepts riches d'UNIX et de MULTICS.
• Dans le milieu des années 80, on voit l' apparition de réseaux d'ordinateurs individuels qui fonctionnent sous des systèmes d'exploitation en réseau ou des systèmes d'exploitation distribués.
La 4ème génération (1980 1990) : les ordinateurs personnels.
2AGE Ecole Nationale d’Ingénieurs de Tunis 16
Historique
• Apparition des PIC (Personal Intelligent Communicator de chez Sony) et des PDA (Personal Digital Assistant, comme le Newton de chez Apple), grâce à l'intégration des composants et l'arrivée des systèmes d'exploitation de type « micronoyau ».
• Ils sont utiles pour les « nomades » et les systèmes de gestion des informations (recherche, navigation, communication).
• Ils utilisent la reconnaissance de caractère (OCR) et les modes de communication synchrone et asynchrone (mode messagerie).
• Très bon marché, ils sont capables de se connecter à des ordinateurs distants et performants.
• Les systèmes d'exploitation de type « micronoyau » sont modulaires (un module par fonction) ; ils peuvent être réalisés avec plus ou moins de modules et donc adaptables à des très petites machines (PDA et PIC).
La 5ème génération (1990 ????) : les ordinateurs personnels portables et de poche.
Décembre2010
5
2AGE Ecole Nationale d’Ingénieurs de Tunis 17
Différentes classes de systèmes
2AGE Ecole Nationale d’Ingénieurs de Tunis 18
Différentes classes de systèmes
2AGE Ecole Nationale d’Ingénieurs de Tunis 19
Différentes classes de systèmes
2AGE Ecole Nationale d’Ingénieurs de Tunis 20
Différentes classes de systèmes
Décembre2010
6
2AGE Ecole Nationale d’Ingénieurs de Tunis 21
Différentes classes de systèmes
2AGE Ecole Nationale d’Ingénieurs de Tunis 22
Programme et leur environnement d’exécution �
• Comment le système d'exploitation peut invoquer un programme ?
2AGE Ecole Nationale d’Ingénieurs de Tunis 23
Classification des SE
OpenVMS (Open Virtual Memory System) anciennement VAX-11/VMS, VAX/VMS ou (officieusement) VMS est un système d’exploitation propriétaire créé par DEC en 1977 pour ses ordinateurs VAX. OpenVMS est réputé pour sa stabilité et sa sûreté, bien que l'on ne sache pas vraiment si cette réputation est due à ses qualités propres ou à sa rareté qui le mettrait à l'abri de la majorité des "pirates". Système très répandu avant la vague UNIX, OpenVMS est le plus souvent employé au sein de systèmes bancaires, militaires ou industriels.
2AGE Ecole Nationale d’Ingénieurs de Tunis 24
Besoins pour un SE �multi-tâche et multi-utilisateur
• Identification des usagers • Partage du processeur • Partage de la mémoire • Accès aux composants matériel • Partage de l'écran/clavier (périphériques) • Présentation multi-fenêtrage • Partage du disque • Système de repérage des fichiers
24
Décembre2010
7
2AGE Ecole Nationale d’Ingénieurs de Tunis 25
CHAPITRE 2 �NOTIONS SUR UNIX[1][5][6]
1. Historique 2. Caractéristiques 3. Système de Gestion de Fichiers 4. Premiers pas en shell
2AGE Ecole Nationale d’Ingénieurs de Tunis 26
Historique (Rappel) • Ken THOMPSON et Dennis RITCHIE de Bell Laboratories
développent une première version en 1970, avec deux originalités : un système de gestion de fichiers arborescent et un shell conçu comme processus utilisateur.
• UNIX, nom qui a succédé à MULTICS (Uniplexed Information and Computer Service).
• Version V4 écrite en langage C. • V6 la première version commercialisée en 1974. • Plus d’une vingtaine de versions d’UNIX ont vu le jour • Les quatre versions principales sont BSD, SYSTEM V, POSIX
(tentative de fédérer les deux familles précédentes) et LINUX proposé par Linus TORVALDS en 1991.
• Le label UNIX 98 de l’Open Group prescrit les tâches standardisés, le temps réel, les 64 bits et les systèmes de fichiers étendus.
2AGE Ecole Nationale d’Ingénieurs de Tunis 27
Caractéristiques d’UNIX
• Portabilité (écrit en C) • Multi-utilisteurs : Plusieurs utilisateurs peuvent se
connecter et travailler en même temps. Chaque utilisateur a son environnement personnel.
• Multi-tâches : Un même utilisateur peut lancer plusieurs travaux simultanément.
• Interactif : Il est possible de dialoguer avec l'ordinateur. Possibilité aussi de lancer des processus (tâches) en arrière plan et en mode différé (batch).
• Un système de fichiers hiérarchisé : Organisation arborescente.
2AGE Ecole Nationale d’Ingénieurs de Tunis 28
Caractéristiques d’UNIX • Un mécanisme de protection
– Identification des utilisateurs par mot de passe – Protection des fichiers – Un super-utilisateur
• Une vision simplifiée par l'utilisateur des entrées- sorties : les périphériques sont représentés par des noms de fichier, et peuvent être utilisés comme des fichiers ordinaires.
• Le choix d’un langage de commandes : Les shells.
Décembre2010
8
2AGE Ecole Nationale d’Ingénieurs de Tunis 29
Structure du système UNIX • Le noyau gére les tâches de base du
système : – L'initialisation du système – La gestion des ressources – La gestion des processus – La gestion des fichiers – La gestion des Entrées/Sorties
• L’utilisateur communique avec le noyau par l'intermédiaire d'un SHELL.
• Les shells sont aussi des langages de commandes et de programmation.
• Les shells les plus connus sont : BOURNE SHELL KORN-SHELL C-SHELL TC-SHELL • Les utilitaires sont des outils d'interfaçage avec le système, de programmation et de communication.
2AGE Ecole Nationale d’Ingénieurs de Tunis 30
Système UNIX • UNIX est construit autour de deux notions essentielles :
– fichiers organisés en structure arborescente, – processus : un processus correspond à l’exécution d’un
programme (système ou utilisateur) et à son environnement (descripteurs de fichiers, registres, compteur ordinal, …). La gestion de la mémoire centrale constitue un aspect important du contrôle des processus.
• UNIX dispose d’utilitaires standards nombreux parmi lesquels : • compilateurs (notamment C) avec son vérificateur lint, ses
débogueurs adb, sdb et dbx et son archiveur de bibliothèques ar • gestionnaire d’applications make et sccs • outils de génération de compilateurs lex et yacc • éditeurs de texte / manipulateurs de documents ed, sed, vi, emacs,
nroff, troff
2AGE Ecole Nationale d’Ingénieurs de Tunis 31
Structure d’un disque
31 2AGE Ecole Nationale d’Ingénieurs de Tunis 32
Structure d’un disque
Décembre2010
9
2AGE Ecole Nationale d’Ingénieurs de Tunis 33
Notion de bloc
2AGE Ecole Nationale d’Ingénieurs de Tunis 34
Notion de bloc
• Propriétés – Lorsque la tête arrive sur une piste, elle dispose d'un
moyen de retrouver le début d'un secteur... • Conséquences
• De l'espace de stockage est consommé ➥Disque dur : 60 Go non formatés => 55,88 Go utiles
2AGE Ecole Nationale d’Ingénieurs de Tunis 35
Lecture/écriture d’un bloc • Positionner la tête sur la bonne piste • Attendre que le bon secteur passe sous la tête • Lire/écrire le secteur • Conséquences sur le temps d'accès:
– T = Tp + Tl + To ➥Positionnement de la tête de lecture ➥Latence (attente de l'arrivée du secteur ➥Opération (écriture ou lecture)
• Pour caractériser un disque – On parle de temps moyen d'accès (quelques ms) – On parle de débit (lecture de blocs consécutifs)
2AGE Ecole Nationale d’Ingénieurs de Tunis 36
Chaînage de blocs
Décembre2010
10
2AGE Ecole Nationale d’Ingénieurs de Tunis 37
Système de gestion de fichiers UNIX
2AGE Ecole Nationale d’Ingénieurs de Tunis 38
• Le S.G.F. gère une structure d'arbre : - la racine est désignée par / - les nœuds sont les répertoires non vides - les feuilles sont les répertoires "vides" et les fichiers. • Les chemins sont décrits avec le séparateur / • Un fichier est une suite d'octets, généralement non structurée. • Les noms de fichiers et répertoires sont limités à 14 caractères (/ est
interdit et - ne peut être le premier caractère). • Le rôle d'un fichier est de conserver, de traiter et transmettre de
l'information. • Différents types de fichiers :
– Ordinaires (ascii ou binaires) – Répertoires ( contiennent des noms de fichiers et/ou de catalogues – Spéciaux : ils sont associés aux périphériques (disques, imprimantes,..) – Les filtres : permettent la communications entre processus
Système de gestion de fichiers UNIX
2AGE Ecole Nationale d’Ingénieurs de Tunis 39
Accès à un fichier
2AGE Ecole Nationale d’Ingénieurs de Tunis 40
Compte utilisateur
Décembre2010
11
2AGE Ecole Nationale d’Ingénieurs de Tunis 41
Se déplacer dans l’arborescence
2AGE Ecole Nationale d’Ingénieurs de Tunis 42
Commande ls
2AGE Ecole Nationale d’Ingénieurs de Tunis 43
Commande ls
2AGE Ecole Nationale d’Ingénieurs de Tunis 44
Commande ls • l'option -R permet d'afficher récursivement le contenu d'un répertoire. Ex: ls / dev bin usr users etc unix ... ls -R / /dev : liste des fichiers dans /dev /bin : liste des fichiers dans /bin /users : /deustiosi : /iosi01 : /iosi02 ........ /minfo : /minf01 ...........
Décembre2010
12
2AGE Ecole Nationale d’Ingénieurs de Tunis 45
Droits d’accès
2AGE Ecole Nationale d’Ingénieurs de Tunis 46
Opérations de base sur les répertoires • Création d'un répertoire mkdir <nom_répertoire> rmdir <nom_répertoire> Supprime un répertoire vide. rm -R <nom_répertoire> supprime tout le répertoire.
• Montage d'un système de fichiers – Il est possible d'ajouter un système de fichiers extérieur en
l'insérant dans la hiérarchie. – Les commandes mount et unmount permettent de démonter
et de démonter un système de fichiers. => L'ajout d'une mémoire de masse est transparent pour
l'utilisateur.
2AGE Ecole Nationale d’Ingénieurs de Tunis 47
• Visualisation du contenu d’un fichier cat <nom_fichier> (option –n pour numéro de lignes) more <nom_fichier> (en mode page) • Renommage et déplacement d'un fichier mv <source> <destination> Ex : mv essai.c tp1.c (renommage) mv tp TPSE (déplacement ) mv tp TPSE/tp2 (déplacement et renommage) • Copie d’un fichier �
cp <source> <destination>
Opérations de base sur les fichiers
2AGE Ecole Nationale d’Ingénieurs de Tunis 48
Opérations de base sur les fichiers • Création de liens sur un fichier ln <ancien> <nouveau> • Suppression d'un fichier rm <nom_fichier> Ex : rm *.o (supprimer tous les fichiers d’extension “.o”)
rm a* (supprimer tous les fichiers dont le nom commence par "a”)
rm * (supprime tous les fichiers) rm *.? (supprimer tous les fichiers ayant une extension
d’une lettre.) * : une chaîne quelconque de caractères ? : un caractère quelconque
Décembre2010
13
2AGE Ecole Nationale d’Ingénieurs de Tunis 49
Autres commandes utiles • touch créer un fichier vide • wc donne le nombre de caractères (-c), de mots (-w) ou de
lignes (-l) • sort permet de trier par ordre alphabétique les lignes d'un
fichier. • grep recherche d'un motif dans un fichier Exemple: grep printf essai.c grep -l printf *.c (affiche la liste des fichiers contenant "printf"). • head –n afficher les n premières lignes du fichier. • tail -n afficher les n dernières lignes du fichier.
2AGE Ecole Nationale d’Ingénieurs de Tunis 50
• diff édite les lignes différentes entre deux fichiers. • cmp édite les numéros de lignes différentes entre
deux fichiers. • slocate affiche la liste des fichiers contenant
<chaine> dans leur chemin absolu. • find permet de rechercher un fichier. • lpr imprimer un fichier • lpq afficher les fichiers en attente d’impression. • lprm détruire des fichiers en attente d'impression.
Autres commandes utiles
2AGE Ecole Nationale d’Ingénieurs de Tunis 51
Premiers pas en Shell[1]
Chapitre 2 : Notions d’UNIX
2AGE Ecole Nationale d’Ingénieurs de Tunis 52
Shell ?
Décembre2010
14
2AGE Ecole Nationale d’Ingénieurs de Tunis 53
Une commande ?
2AGE Ecole Nationale d’Ingénieurs de Tunis 54
Exécution d’une commande shell
2AGE Ecole Nationale d’Ingénieurs de Tunis 55
Ligne de commande shell
2AGE Ecole Nationale d’Ingénieurs de Tunis 56
Premières commandes shell
Décembre2010
15
2AGE Ecole Nationale d’Ingénieurs de Tunis 57
Tests en shell
2AGE Ecole Nationale d’Ingénieurs de Tunis 58
Premier script en shell
2AGE Ecole Nationale d’Ingénieurs de Tunis 59
Premier script en shell (v1)
set –x toute commande suivant cette instruction sera tracée sur la sortie erreur standard.
2AGE Ecole Nationale d’Ingénieurs de Tunis 60
Premier script en shell (v1)
Décembre2010
16
2AGE Ecole Nationale d’Ingénieurs de Tunis 61
Premier script en shell (v2)
2AGE Ecole Nationale d’Ingénieurs de Tunis 62
Premier script en shell (v2)
2AGE Ecole Nationale d’Ingénieurs de Tunis 63
Premier script en shell (v3)
2AGE Ecole Nationale d’Ingénieurs de Tunis 64
Premier script en shell (v3)
Décembre2010
17
2AGE Ecole Nationale d’Ingénieurs de Tunis 65
Séquences spéciales de caractères
2AGE Ecole Nationale d’Ingénieurs de Tunis 66
Boucles en shell
2AGE Ecole Nationale d’Ingénieurs de Tunis 67
Méta-caractères
2AGE Ecole Nationale d’Ingénieurs de Tunis 68
Méta-caractères (exemple)