Introduction aux systèmes d’exploitation Principes et notions Nicolas Belloir
1
Le système informatique
2
Définition d’un système informatique Ensemble des moyens logiciels et matériels fourni à un utilisateur à partir d’un poste de travail Ouvert / fermé Mono / multi utilisateur(s) Administrateur / Utilisateurs
3
Description physique d’un SI minimal Unité centrale Périphériques de : Traitements Conservation de l’information Communication avec l’extérieur
4
Evolution des SI (1) Premiers ordinateurs : une machine / un utilisateur Apparition des mécanismes d’entrée / sortie (carte/imprimante) Plusieurs utilisateurs Un seul programme en même temps
Accroissement de la puissance Gestion des interruptions
Années 70 : systèmes centralisés / terminaux Puissance et mémoire importante Parallélisme 5
Evolution des SI (2) Années 80 : apparition de PC (Personal Computer) Connexion entre PC et systèmes centralisés Réseaux informatiques externalisés Fin années 80 : Station de travail Intermédiaire entre PC et systèmes centralisés
Années 90 : apparition des terminaux X
6
Evolution des SI (3) Fin années 90 : Internet, un retour aux systèmes centralisés? Tendance années 2000 : la miniaturisation Ordinateurs portables Systèmes distribués Téléphones portables / PDA
Et après ????
7
SI : découpage en couche Programmes d’application
Programmes systèmes
Système bancaire, système de réservation, jeu, calculateur Compilateurs, Editeurs, Interpréteur de commandes Système d’exploitation Langage machine
Matériel
Micro-architecture Dispositifs physiques 8
SI : couche matériel Dispositifs physiques Périphériques, circuits intégrés, cables…
Micro-architecture Les périphériques sont regroupés en unités fonctionnelles Calculs logiques, traitement des registres, chemin de données
Langage machine Entre 50 et 300 instructions Transfert de données entre registres, opérations arithmétiques, …
9
SI : couche système Système d’exploitation Couche logicielle cachant la compléxité de la couche matériel Fournit au développeur un jeu d’instructions plis pratiques Fonctionne en mode noyau
Logiciels systèmes Fournis avec le SE mais différent du SE Différence subtile
10
Le système d’exploitation
11
Système d’exploitation Définition « Ensemble de tous les programmes permettant à l’utilisateur du système informatique d’exploiter au mieux les ressources de la machine de façon cohérente et coordonnée dans des conditions raisonnables de confort » Interface entre les utilisateurs du SI et la machine physique
12
Différentes catégories de programme des SE Le noyau : programme de « bas niveau » Allocation mémoire, gestion des E/S …
Les commandes de base Copie de fichier, listing des répertoire, création/destruction des fichiers …
Utilitaires Interpréteur de commande, éditeurs de texte, compilateurs …
Les interfaces graphiques X11, Motif, KDE, Gnome … 13
Le noyau Différents types de services assurés Gestion du(des) processeur(s) Chargement et lancement des programmes Gestion de la mémoire (principale et secondaire) Gestion des entrées/sorties (périphériques)
Différentes organisations logicielles Monolithique Sructuration en couches Micro-noyaux
14
Les principaux SE (1/2) Unix/Linux le meilleur compromis : fiable, efficace, souple, portable, évolutif, "customizable" reste (très) difficile d'accès pour un novice, voire pour un informaticien
MacOS désormais peu répandu car submergé par Windows ergonomie géniale (précurseur en la matière), fiable, stable a développé ses propres standards (y compris pour le hardware)…et a perdu le match contre Windows (il lui reste quelques niches, telles que la photo numérique)
15
Les principaux SE (2/2) Windows le plus diffusé, très orienté utilisateur lambda (configuration automatique toujours disponible), large gamme d'applicatifs (certains étant désormais des standards de-facto), prise en main très simple peu fiable même si des progrès depuis Win2000/XP, sécurité inexistante (virus, intrusions très fréquentes) peu ouvert, impose la plupart des choix technologiques et "enferme" les utilisateurs dans ces choix stratégie industrielle douteuse sur le plan de l'éthique
D'autres systèmes réservés aux gros serveurs VMS (Digital), GCOS (Bull), MVS et AS400 (IBM), …
16
Typologies des différents SE Ordinateur individuel Centre de calcul Systèmes transactionnels Systèmes temps réel
17
Ordinateur individuel (1/5)
18
Ordinateur individuel (2/5) Utilisation orientée bureautique exploitation de programmes applicatifs
Fonctionnalités à implanter interpréteur de commandes de plus en plus superflu car interface graphique suffisante interface graphique la nouvelle génération d’utilisateurs sait-elle qu’il fut un temps où on en avait pas ? gestion des entrées/sorties grande variété de dispositifs (et de modes de fonctionnement) nombreux protocoles
19
Ordinateur individuel (3/5) Fonctionnalités à implanter (suite) gestion des communications différents protocoles réseau gestion des fichiers utilitaires gestionnaire de fichiers, outils d’administration, … environnement de programmation (outils) pour les développeurs de solutions
20
Ordinateur individuel (4/5) Qualités attendues simplicité d'utilisation (matériel grand public) ergonomie procédures d’installation/configuration automatique interactivité temps de réponse acceptables
Problèmes simplifiés un seul utilisateur à la fois configuration matérielle simple (poste client) peu d'activités parallèles (quelques circuits spécialisés pour gérer certains périphériques) algorithme d’allocation des ressources simplifié
21
Ordinateur individuel (5/5) Solutions retenues développement de systèmes d'exploitation spécifiques monoutilisateur et mono-tâche (MS-DOS, MacOS, ...) fiabilité médiocre du fait de l'unicité du mode d'exécution donc de l'absence de protection du système utilisation de systèmes d'exploitation plus généraux, multiutilisateurs et multitâches (UNIX, Windows NT/2000/Me/XP) meilleure fiabilité (théorique pour Windows car notion d’utilisateur bidon sur versions client) mise en réseau (Intranet ou Internet) triviale requiert davantage de mémoire centrale (argument peu important aujourd’hui)
22
Centre de calcul (1/6)
23
Centre de calcul (2/6) Objectifs offrir des services communs, qui ne seraient pas accessibles individuellement, à un grand nombre d’utilisateurs matériels onéreux ou utilisés occasionnellement supercalculateurs, tables traçantes, …
logiciels onéreux ou utilisés occasionnellement ou nécessitant un environnement d’exécution complexe applicatifs orientés métiers, …
24
Centre de calcul (3/6) Objectifs (suite) offrir les possibilités découlant d'une communauté d'usagers amortissement de matériel du fait d’un grand nombre d’utilisateurs licences "volantes" centralisation de la gestion des contrats de maintenance
offrir une expertise au service des usagers service de maintenance voire de veille technologique séminaires de formation au outils assistance au développement de projets ou prestation de service
25
Centre de calcul (4/6) Modes de traitement traitement par lots / mode différé / mode batch non interactif justification : optimiser l'utilisation du matériel (héritage d'une époque révolue car les systèmes modernes le gèrent automatiquement) temps partagé (time sharing) interactif objectif : assurer un bon niveau d'interactivité et donc assurer un temps de réponse court aux petits travaux (jobs) remarque : les systèmes modernes sont capables d'assurer l'interactivité tout en gérant des jobs en batch
26
Centre de calcul (5/6) Fonctionnalités à implanter celles d'un ordinateur individuel allocation et partage des ressources communes processeurs, mémoires, périphériques gestion des informations communes et des droits d'accès outils de communication entre usagers de l'email aux outils de travail collaboratif
27
Centre de calcul (6/6) Qualités attendues protection des informations des utilisateurs sauvegardes régulières, droits d'accès sûreté de fonctionnement disponibilité, fiabilité, sécurité performance supporter la charge, assurer un bon niveau d'interactivité en toute situation adéquation aux besoins des usagers écoute, réactivité, adaptabilité, bonne stratégie (choix des équipements, adéquation au budget, politique à court comme à long terme)
28
Systèmes transactionnels (1/4)
29
Systèmes transactionnels (2/4) Objectifs gestion de grandes quantités d'informations gérer les accès d'un grand nombre d'utilisateurs connectés simultanément notion de session utilisateur : diagramme d'états mode interactif les utilisateurs sont généralement en ligne : nécessité d'une réponse rapide sytème en réseau (Intranet, Internet) évolutivité des outils faible mais fiabilité très importante
Exemples systèmes d'information bancaires, réservation de billets (SNCF, AirFrance, …), magasins, …
30
Systèmes transactionnels (3/4) Qualités attendues sécurité contrôle d'accès aux données, prévenir tout acte de piratage fiabilité des opérations fiabilité des informations obtenues par les usagers fiabilité des modifications apportées garantir à tout moment l'intégrité du système d'information contrôler la validité des modifications demandées
disponibilité assurer le service, si possible y compris en cas de panne performance temps de réponse supporter la charge, si possible y compris en cas de panne
31
Systèmes transactionnels (4/4) Fonctionnalités à implanter outils pour le maintien de l'intégrité de la base de données gestion des utilisateurs enregistrés (ou non) et des droits d'accès synchronisation des transactions procédures de sauvegarde procédure de reprise sur erreur et sur panne
32
Systèmes temps réel (1/4)
33
Systèmes temps réel (2/4) Objectifs gestion en temps réel du flux d'informations provenant d'un appareil en fonctionnement réaction aux évènements et éventuellement prise de décision
Types de missions à assurer surveillance, sécurité, aide au pilotage régulation/contrôle de production archivage d'informations plus traitements non prioritaires le cas échéant
Exemples centrale nucléaire, unité de fabrication, aciérie, gestion de traffic aérien, systèmes embarqués (avions, TGV, bateaux) 34
Systèmes temps réel (3/4) Qualités attendues fiabilité ne pas tomber en panne donner des informations fiables exemple : toujours alerter si danger mais ne pas alerter si pas de danger
temps de réaction le plus faible possible contraintes de temps pouvant être très sévères
Evolutivité faible car contrainte souvent orthogonale à celle de fiabilité qui dans ce cas prime
35
Systèmes temps réel (4/4) Fonctionnalités à implanter mesures et comandes informatique industrielle, gestion des entrées/sorties spécifique pour plus d'efficacité gestion des évènements gestion des priorités, évaluation fiable des temps de réponse politique décisionnelle claire, rigoureuse et fiable, cohérente avec la stratégie décisionnelle de l'entreprise
36
Systèmes embarqués Objectifs Gestion de très petits ordinateurs
Types de missions à assurer Simples : pilotages des ressources, fonctions TR, gestion de l’alimentation
Exemples PDA OS : Palm Os, Windows CE
Qualités attendues Faible utilisation des ressources
Evolutivité Forte car dynamique importante des marchés 37
Historique des SE
38
4 générations On distingue généralement 4 générations : 1ère génération : 1950-1960 les débuts de la révolution technologique 2ème génération : 1958-1968 périphériques et traitement par lots 3ème génération : 1960-1970 multiprogrammation et temps partagé 4ème génération : 1970-aujourd'hui réseaux / systèmes répartis
39
1ère génération Matériel à base de tubes encombrant et peu fiable
Mode d'exploitation l'utilisateur écrit un programme en langage machine il réserve la machine pour une durée déterminée il rentre son programme en mémoire "à la main" il l'exécute si exécution non conforme à ses attentes alors exécution pas à pas et modification éventuelle nouvel essai jusqu'à satisfaction ou temps de réservation atteint
Mode d'exploitation totalement inefficace
40
2ème génération (1/4) Amélioration du matériel mémoires à tore de ferrite transistors et circuits imprimés apparition et diversification des périphériques lecteurs de cartes perforées imprimantes supports magnétiques (bandes, cartes, …)
41
2ème génération (2/4) Mode d'exploitation travaux groupés en lots par un opérateur chargement de l'utilitaire (compilateur) nécessaire à l'exécution d'un lot chargement du lot sur le lecteur de cartes lancement de l'exécution du lot enchaînement des travaux
42
2ème génération (3/4) Premiers systèmes d'exploitation initialisation du système : bootstrap puis séquence câblée moniteur d'enchaînement des travaux avec le Job Control Language sous-programmes d'entrées-sorties allègement du travail des programmeurs partager les mémoires secondaires éviter les mauvais usages des périphériques contrôle et gestion des temps d'exécution permet de tuer les programmes trop longs permet de facturer l'utilisation du système protection mémoire pour éviter la destruction du système
43
2ème génération (4/4) Conclusion sur le traitement par lots améliorations augmentation du taux d'utilisation du processeur moins de chargements des utilitaires (compilateurs) diminution des temps d'entrées/sorties simplification de la programmation (plus d'entrées/sorties physiques à programmer)
insuffisances • • • •
un seul compilateur à la fois zone utilisateur restreinte inutilement par le compilateur processeur inutilisé pendant les entrées/sorties …
44
3ème génération (1/5) Amélioration du matériel – processeurs spécialisés d'entrées/sorties – accroissement des possibilités des machines et des périphériques – protection mémoire par zones – pagination ou segmentation – sauvegarde et restauration câblée des contextes de processus • Entrées/sorties en mode différé – tamponnement des E/S – symbionts (spool system)
45
3ème génération (2/5) Multiprogrammation plusieurs activités progressent en parallèle
– une activité garde le CPU jusqu'à la prochaine demande d'E/S – traitement des fins d'E/S du processeur grâce aux interruptions
46
3ème génération (3/5) Conditions pour la multiprogrammation mémoire centrale assez grande pour plus d'un programme temps d'affectation du processeur à une activité faible
Avantages bonne gestion des ressources (CPU, mémoire, périphériques) temps de réponse correct pour les travaux courts
Inconvénients complexité du matériel et du système d'exploitation partage et protection des ressources
47
3ème génération (4/5) Temps partagé objectif garantir un bon niveau d'interactivité en assurant une réponse rapide aux travaux courts mode d'exploitation travail à partir d'un terminal interactif solution allocation du processeur aux usagers à tour de rôle et pour un "quantum" de temps limité la fin du quantum est signalée par une interruption d'horloge
48
3ème génération (5/5)
49
4ème génération (1/2) Amélioration du matériel apparition des composants à haute intégration 1969 : premier microprocesseur développement des matériels et techniques de transmission de données
Intégration poussée des fonctions de communication dans les systèmes réseaux d'ordinateurs hétérogènes faiblement couplés modèle OSI, Internet réseaux locaux ordinateurs connectés via des liaisons à haut débit 1975 : protocole Ethernet
50
4ème génération (2/2) Systèmes d'exploitation répartis pour réseaux d'ordinateurs fortement couplés Objectifs disposer en local pour une opération donnée de la totalité de la puissance d'un microprocesseur rechercher une meilleure adéquation entre architecture matérielle et application traitée assurer, par l'existence de nombreux processeurs, une meilleure résistance aux pannes partager des ressources distribuées permettre l'accès à un périphérique spécial géré par une autre machine exemples serveurs de fichiers, serveurs d'impression, serveurs de calcul 51
Structure matérielle d’un ordinateur
52
Composants d’un ordinateur simple
CPU
Mémoire
Contrôleur Contrôleur Contrôleur Contrôleur vidéo clavier disquette disque
Bus
53
Le processeur (ou CPU) Cerveau de l’ordinateur Extrait les instructions de la mémoire centrale et les exécute Chaque processeur possède un ensemble spécifique d’instructions exécutables Problèmes de compatibilités entre processeurs différents
Temps d’accès à la mémoire bien plus long que l’exécution d’une instruction Les CPU possèdent des registres de stockage temporaires
54
La mémoire 2nd constituant fondamental Caractéristiques importantes : rapidité d’accès, capacité et coût Aucune technologie ne remplit ces 3 critères Temps d’accès type 1 ns
Capacité type Registres
< 1 Ko
2 ns
cache
2 Mo
10 ns
Mémoire principale
64-1024 Mo
10 ns
Disque magnétique
10-120 Go
100 s
Bande magnétique
20-200 Go
55
Les périphériques Lien entre un périphérique et son contrôleur (carte) Nécessite un driver pour communiquer Temps d’accès long => interrupteurs
3
Contrôleur d’interruption
CPU 1
4
Contrôleur disque 2
56
Composants du système
57
Gestion des processus Unité de traitement du système Vu comme un programme en exécution Utilise des ressources allouées par le SE Au démarrage du processus Dynamiquement Doivent être libérées en fin d’exécution
Exécution séquentielle ligne par ligne Processus utilisateurs et processus systèmes 58
Le système est responsable des activités Création/suppression des processus Suspension et reprise du processus (temps partagé) Mécanismes de synchronisation des processus Mécanismes de communication entre processus Traitement des interblocages
59
Gestion de la mémoire centrale Peut être vue comme un grand tableau d’octets Chaque octet a une adresse identifiée Accès rapide aux données Les entrées/sorties en mémoire sont gérées par le DMA (Direct Acces Memory) Chargement des données physiques en mémoire avant leur utilisation Chargement des instructions des processus avant leur exécution
Plusieurs processus en mémoire : amélioration des performances 60
Le système est responsable des activités Déterminer les zones mémoires utilisées Choix des processus chargés en mémoire Allocation et désallocation de l’espace mémoire
61
Gestion des fichiers Stockage de l’information sur différents supports physiques Caractéristiques propres, organisation physique propre ... (vitesse d’accès, capacité, méthode d’accès…)
Vue logique des supports : le fichier Fichier = ensemble d’informations en relation Format numérique ou texte Formaté (champs, enregistrements) ou texte
62
Le système est responsable des activités Création et destruction des fichiers Création et destruction des répertoires Support de primitives pour la manipulation des fichiers Correspondance entre fichiers et mémoire de stockage Sauvegarde des fichiers sur support de stockage stable
63
Gestion des E/S Le but du système est de cacher les particularités de certains périphériques Sous Unix : Composant de gestion mémoire Gestion du tampon Gestion du cache Spooling Interface générique de pilotes de périphériques Interface pour les matériels spécifiques
Exemple de la sortie vide (trou noir) /dev/null cp
* ~/sauv 2> /dev/null 64
Gestion du stockage secondaire Par opposition à la mémoire primaire Mémoire non volatile Gestion de l’espace libre Allocation de stockage Programmation des disques
65
Gestion des réseaux Non traitée dans ce cours
66
Système de protection Protection des données Droits d’accès
Protection de l’espace d’adressage Protection de l’accès CPU
67
Système d’interprétation de commandes Interface entre utilisateur et système d’exploitation Différence de convivialité (Unix/Linux Vs Windows) Accès aux rôles du système d’exploitation (création de processus, gestion de la mémoire de stockage…
68