Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) Cours Dokeos 625 | |||||
Informatique générale - Systèmes d’exploitation | |||||
| |||||
| |||||
Le système d’exploitation | |||||
• Le système d'exploitation (SE, en anglais Operating System ou OS) est un ensemble de programmes responsables de la liaison entre les ressources matérielles d'un ordinateur et les applications de l'utilisateur (traitement de texte, jeu vidéos, etc.). Il assure le démarrage de l'ordinateur, et fournit aux programmes applicatifs des interfaces standardisées pour les périphériques. • Typiquement, un Système d'Exploitation est composé : – d'un noyau ; – de bibliothèques dynamiques ; – d'un ensemble d'outils système ; – de programmes applicatifs de base. | |||||
Informatique générale - Systèmes d’exploitation | |||||
| |||||
| |||||
Le système d’exploitation Autres composantes de l’OS | ||||||||
• Les bibliothèques dynamiques regroupent les opérations les plus utilisées dans les programmes informatiques – éviter la redondance de ces opérations dans tous les programmes – certains systèmes ne proposent pas de bibliothèques dynamiques • Les outils système permettent : – de configurer le système – de passer le relais aux applications proposant des services à un ou plusieurs utilisateurs ou à d'autres ordinateurs • Les programmes applicatifs de base offrent des services à l'utilisateur (calculatrice, éditeur de texte, navigateur web, etc.) | ||||||||
Informatique générale - Systèmes d’exploitation | ||||||||
| ||||||||
| ||||||||
J. Mauchly / J. P. Eckert - ENIAC (1943-1945) | |||||
• Moore School (Université de Pennsylvanie) – Electronic Numerical Integrator And Computer – destiné au calcul de tables balistiques – souvent considéré comme le premier ordinateur • Caractéristiques – 30 tonnes / 150 KW / 18000 tubes à vide / 200 KHz – programmation par recablage – utilise la base 10 – accumulateurs • Fonctionne jusqu’en 1952 – fragile (1 panne / 3 jours) | |||||
Informatique générale - Systèmes d’exploitation | |||||
| |||||
| |||||
Du point de vue du système... | |||||
• Protocole d’utilisation de la machine – Le programmeur apporte son paquet de cartes dans la salle de soumission des jobs (tâches, programmes à exécuter) – L’opérateur fait lire et exécuter les cartes par la machine – L’opérateur récupère la trace d’exécution sur une imprimante et la stocke dans la salle des résultats pour que le programmeur la récupère – L’opérateur prend ensuite un autre paquet de cartes soumis et répète le processus précédent – De plus, si le compilateur FORTRAN est nécessaire, l’opérateur doit également le charger dans la machine • Systèmes d’exploitation – FMS (Fortran Monitor System) – IBYS (1er système d’exploitation de l’IBM 7094) | |||||
Informatique générale - Systèmes d’exploitation | |||||
| |||||
| |||||
Nouvelles techniques dans les systèmes d’exploitation | |||||
• Multiprogrammation – possibilité de faire co-exister plusieurs programmes simultanément en mémoire, et de mettre à profit les "temps morts" d'un programme (par exemple les opérations d'entréesortie) pour "faire avancer" les autres programmes • Mémoire partagée • Mécanismes de protection • Spool (Simultaneous Peripheral Operation On-Line) – Processus de communication de données entre programmes par l’intermédiaire d’une zone de travail temporaire • rendu possible grâce au fait de pouvoir réaliser des opérations de lecture et d’écriture de manière simultanée sur le disque • IBM 1401 n’est plus nécessaire • Manipulations de bandes ont disparu | |||||
Informatique générale - Systèmes d’exploitation | |||||
| |||||
| |||||
Du point de vue du système (1) | |||||
• CP/M (Control Program for Microcomputers) – En 1974, CP/M est conçu pour Intel par leur consultant Gary Kildall pour le processeur Intel 8080 – Comprend un contrôleur pour le tout récent lecteur de disquettes 8’’ – En 1977, Digital Research est fondé par G. Kildall pour commercialiser des CP/M • MS-DOS (MicroSoft-Disk Operating System) – En 1980, IBM propose l’IBM PC • demande à Digital Research de porter CP/M sur PC • demande à Microsoft – achète QDOS (Quick and Dirty Operating System) – le revend à IBM après quelques modifs (PC-DOS / MS-DOS) – obtient qu’il soit facturé avec chaque PC vendu (taxe Microsoft) | |||||
Informatique générale - Systèmes d’exploitation | |||||
| |||||
| |||||
Les fonctions du SGF | |||||
• API pour manipulation des fichiers par les programmes d’application – créer/détruire des fichiers – insérer, supprimer et modifier un article dans un fichier. • Allocation de la place sur mémoires secondaires – les fichiers étant de taille différente et cette taille pouvant être dynamique, le SGF alloue à chaque fichier un nombre variable de blocs • Localisation des fichiers – chaque fichier possède un ensemble d’informations descriptives (nom, adresse…) regroupées dans un inode. • Sécurité et contrôle des fichiers – le SGF permet le partage des fichiers par différents programmes d’applications tout en assurant la sécurité et la confidentialité des données – nom et clé de protection associés à chaque fichier | |||||
Informatique générale - Systèmes d’exploitation | |||||
| |||||
| |||||
Formatage physique du disque | |||||
• Architecture physique – plusieurs plateaux empilés les uns au-dessus des autres – têtes de lecture solidaires • une tête de lecture par face • fixées au bout d’un bras qui pivote | |||||
Informatique générale - Systèmes d’exploitation | |||||
| |||||
| |||||
Qu’est-ce qu’un fichier ? | |||||
• Une suite de secteurs – l’ordre est essentiel !!! | |||||
Informatique générale - Systèmes d’exploitation | |||||
| |||||
| |||||
Temps de lecture | |||||
• Temps de lecture d’un secteur = durée de 1 tour / nombre de secteurs par piste • Durée constante (ex : 0,5 ms) • Débit = le nombre d'octets lus par seconde si on lisait sans arrêt = le nombre d'octets qui passent sous la tête en 1 seconde • Temps de latence = durée moyenne d’attente d’un secteur = durée d’un 1/2 tour • Exemple – secteurs de 512 octets, 32 secteurs par piste, 7200 tours/min • 16 ko par piste, 120 tours / s • débit max = 1920 ko/s = 1,875 Mo/s • temps de lecture d’un secteur = 1/(120*32) = 2,5.10-4s = 0,25ms • temps de latence = 1/(120*2) = 4,2ms | |||||
Informatique générale - Systèmes d’exploitation | |||||
| |||||
| |||||
Formatage logique | |||||
• On divise le disque en partitions formées de cylindres consécutifs – Chaque partition est utilisée par le système comme un disque ?un peu moins de déplacement de têtes ?on peut mettre un système par partition (double boot) | |||||
Informatique générale - Systèmes d’exploitation | |||||
| |||||
| |||||
Les noms de fichiers sous Unix | |||||||||||||||||||
• une suite de caractères – en nombre variable – à l’exception de \ / | < > $ ? & [ ] * – minuscule et majuscules distinguées – espaces déconseillés – les fichiers commençant par . sont cachés (ls -l) • les fichiers sont désignés par – leur nom • plusieurs fichiers sur le disque peuvent avoir le même nom – leur chemin absolu • Ex : /home/dupond/fort/main.f • nécessairement unique – un chemin relatif, à partir du nœud où l’on se trouve dans l’arboresence • Ex : fort/main.f si l'on se trouve dans /home/dupond | |||||||||||||||||||
Informatique générale - Systèmes d’exploitation | |||||||||||||||||||
| |||||||||||||||||||
| |||||||||||||||||||
La notion d’inode | |||||
• À tout fichier est associé un i-node. Un i-node est un bloc de 128 octets du SGF qui comporte : – le numéro d'i-node – les liens avec les blocs du fichier – les caractéristiques du fichier : • type '-', 'd', ... • mode = permissions • nombre de liens physiques • propriétaire et groupe propriétaire du fichier • taille en octets • date dernier accès au fichier last access time • date dernière modification du contenu du fichier last modification time • date dernière modification du i-node (contenu, propriétaire, groupe, permissions) last change time | |||||
Informatique générale - Systèmes d’exploitation | |||||
| |||||
| |||||
Opérations sur les fichiers (1) | |||||
• Création d’un fichier $ cat > test L1 annee 2006 ^D $ touch test • Visualisation du contenu d’un fichier $ cat test L1 annee 2006 $ more test L1 annee 2006 $ head -1 test (juste la première ligne) L1 $ tail -1 test (juste la dernière ligne) annee 2006 • Méta-données du fichier (contenu de l’inode) $ stat test • Suppression d’un fichier $ rm test | |||||
Informatique générale - Systèmes d’exploitation | |||||
| |||||
| |||||
Ordonnanceur | |||||
• Objectif = utiliser efficacement les ressources de la machine. • Rôles de l’ordonnanceur – détermine quelle tâche doit s'exécuter en priorité et sur quel processeur – gère l'ordre dans lequel les instructions de différentes tâches sont exécutées – est responsable de la commutation de contexte • sauvegarde et restauration du contexte des tâches • ce contexte est constitué des registres processeurs • Types d’ordonnancement – « coopératif » : chaque processus doit suspendre de lui-même son exécution pour permettre aux autres de s’exécuter – « préemptif » : l'ordonnanceur a la responsabilité de l'interruption des tâches et du choix de la prochaine à exécuter | |||||
Informatique générale - Systèmes d’exploitation | |||||
| |||||
| |||||
La gestion des processus sous Unix (1) | |||||
• Afficher la liste des processus (1) $ ps -a PID TT STAT TIME COMMAND 6202 p1 Ss+ 0:00.02 bash 6203 p1 S 0:00.07 xterm 6205 p2 Ss 0:00.02 bash • Afficher la liste des processus (2) $ top Processes: 70 total, 2 running, 68 sleeping... 234 threads 20:55:49 Load Avg: 1.11, 0.53, 0.36 CPU usage: 62.7% user, 9.5% sys, 27.8% idle SharedLibs: num = 197, resident = 25.3M code, 2.63M data, 3.00M LinkEdit MemRegions: num = 35516, resident = 677M + 7.56M private, 188M shared PhysMem: 111M wired, 595M active, 304M inactive, 1011M used, 12.1M free VM: 10.3G + 144M 189901(0) pageins, 328936(0) pageouts PID COMMAND %CPU TIME #TH #PRTS #MREGS RPRVT RSHRD RSIZE VSIZE 3449 top 13.4% 0:05.53 1 18 22 1008K 288K 1.41M 27.0M 3427 bash 0.0% 0:00.04 1 14 17 228K 740K 864K 27.2M 3426 login 0.0% 0:00.02 1 16 37 124K 320K 564K 26.9M 3424 Terminal 1.1% 0:02.02 4 91 145 1.89M 9.93M 7.98M 217M | |||||
Informatique générale - Systèmes d’exploitation | |||||
| |||||
| |||||
Le gestionnaire de mémoire (2) | |||||
• Les programmes dans l'espace utilisateur – doivent demander au noyau de la mémoire – le noyau fait appel à son gestionnaire de mémoire pour allouer (ou non) la mémoire au processus qui la demande – si un programme tente d'utiliser des zones de mémoire ne lui appartenant pas, il est évincé automatiquement | |||||
Informatique générale - Systèmes d’exploitation | |||||
| |||||
| |||||
Sources |
• Andrew Tanenbaum, Systèmes d'exploitation, Pearson Education France, 2003, 2e éd. • • Internet et le Web |
Informatique générale - Systèmes d’exploitation |