Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
Plan
• Introduction à L’Informatique
• Architectures matérielles des ordinateurs
• La nécessité d’un système d’exploitation
• Les rôles du système d’exploitation
• Les Caractéristiques du système d’exploitation
• Les composants d’un système d’exploitation
• Les différents types d’architectures des systèmes d’exploitation
2Ben N’Cir chiheb-Eddine-ESEN-Manouba
Traitement automatique de l’information
3Ben N’Cir chiheb-Eddine-ESEN-Manouba
ENIAC (1946)Electronic Numerical Integrator Analyser and computer
Poids 30 tonnes
Surface 72 m2
330 multiplication/s
4Ben N’Cir chiheb-Eddine-ESEN-Manouba
Ordinateur (computer)
• Qu’est ce qu’un ordinateur ?
• Le mot « ordinateur » fut introduit par IBM France en 1955
• Il veut dire: « ordonnateur » : celui qui met en ordre
• Mot Ordinant: utilisé dans l'église catholique
• Propose encore Ordinatrice électronique
5Ben N’Cir chiheb-Eddine-ESEN-Manouba
Ordinateur
caractéristiques fondamentales nécessaires pour être considérées comme un ordinateur sont :
• qu'il soit électronique,
• numérique (au lieu d'analogique),
• qu'il soit programmable,
• qu'il puisse exécuter les quatre opérations élémentaires (addition, soustraction, multiplication, division)
• qu'il puisse exécuter des programmes enregistrés en mémoire.
6Ben N’Cir chiheb-Eddine-ESEN-Manouba
Exemples d’ordinateur
7Ben N’Cir chiheb-Eddine-ESEN-Manouba
Architecture matérielle de l’ordinateur
8Ben N’Cir chiheb-Eddine-ESEN-Manouba
Imitation du monde naturel
9Ben N’Cir chiheb-Eddine-ESEN-Manouba
10Ben N’Cir chiheb-Eddine-ESEN-Manouba
Imitation du monde naturel
Processeur
• Le composant qui exécute les programmes
• En anglais « CPU »
11Ben N’Cir chiheb-Eddine-ESEN-Manouba
R.A.M: La mémoire Vive
• Random Access Memory
• R.A.M:Mémoire Volatile
12Ben N’Cir chiheb-Eddine-ESEN-Manouba
Disque Dur
• Mémoire de stockage permanente (magnétique)
• Grande Capacité
13Ben N’Cir chiheb-Eddine-ESEN-Manouba
Chargement des données
14Ben N’Cir chiheb-Eddine-ESEN-Manouba
Support: Carte mère
15Ben N’Cir chiheb-Eddine-ESEN-Manouba
Comment introduire et exploiter les résultats
16Ben N’Cir chiheb-Eddine-ESEN-Manouba
Périphériques
• périphérie est la surface externe
17Ben N’Cir chiheb-Eddine-ESEN-Manouba
Exemples de Périphériques
18Ben N’Cir chiheb-Eddine-ESEN-Manouba
Le langage de l’ordinateur:Langage binaire
19Ben N’Cir chiheb-Eddine-ESEN-Manouba
Langage de l’ordinateur et langage de l’utilisateur
20Ben N’Cir chiheb-Eddine-ESEN-Manouba
Comment peut-on assurer une bonne
Exploitation des
performances des ordinateurs ?
21Ben N’Cir chiheb-Eddine-ESEN-Manouba
Langage de l’ordinateur et langage de l’utilisateur
22Ben N’Cir chiheb-Eddine-ESEN-Manouba
Intermédiaire entre ordinateur et utilisateur
23Ben N’Cir chiheb-Eddine-ESEN-Manouba
Programmes
• une suite d’opérations prédéterminées destinées à être exécutées de manière automatique par un appareil informatique en vue d’effectuer des travaux, des calculs arithmétiques ou logiques.
24Ben N’Cir chiheb-Eddine-ESEN-Manouba
Intermédiaire entre ordinateur et utilisateur
25Ben N’Cir chiheb-Eddine-ESEN-Manouba
La nécessité d’un SE
Deux besoins majeurs :
• Point de vue utilisateur- Comment un utilisateur (ou plusieurs) peut exploiter les
ressources matérielles.
- Trouver des mécanismes pour optimiser l’utilisation du matériels (facilité, rapidité, partage,…)
• Point de vue système-Comment exploiter d’une manière optimale les ressources
matérielles pour améliorer leur fonctionnement
- Trouver des mécanismes pour gérer efficacement les ressources matérielles (mémoires centrales, disque dur, temps processeur, …)
26Ben N’Cir chiheb-Eddine-ESEN-Manouba
Système d’exploitation: un élément du système informatique
27
Compilateur Editeur Base de données
Applications et Logiciels
Système d’exploitation
Matériel
Utilisateur 1 Utilisateur 2 … Utilisateur N
Ben N’Cir chiheb-Eddine-ESEN-Manouba
Exemples de Systèmes d’exploitation
28Ben N’Cir chiheb-Eddine-ESEN-Manouba
Système d’Exploitation:
Définitions, rôles, Tâches…
29Ben N’Cir chiheb-Eddine-ESEN-Manouba
Définition d'un SE ? ? ?
• Le terme « système d'exploitation » couvre un grand nombre de fonctionnalités
Une grande diversité d'architecture d'équipement ayant besoin
d'un SE (des supercalculateurs au smartphones)
• Une grande évolution du matériel informatique
puissance des équipements en constante augmentations
émergence de nouvelles fonctionnalités/besoins
30Ben N’Cir chiheb-Eddine-ESEN-Manouba
Définition d'un SE ? ? ?
• Il n'y a pas une définition consensuelle
Selon Prof. Avi Silberschatz :« we have no completely adequate
definition of an operating system »
• Est-ce qu’on peut lister les composants d'un SE ? « we have no universally accepted definition of what is part of
the operating system »
• Une vision simpliste : « the operating system is the one program running at all times on the
computer »
31Ben N’Cir chiheb-Eddine-ESEN-Manouba
Qu’est ce qu’un Système d’Exploitation
Wikipedia:
• 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éo, …)
• Il fournit aux programmes applicatifs des points d'entrée génériques pour les périphériques
32Ben N’Cir chiheb-Eddine-ESEN-Manouba
Les rôles du SE
• Le SE a deux rôles principaux:
1. le rôle du système d’exploitation en tant que machine étendue (ou « machine virtuelle »),
2. Le rôle du système d’exploitation en tant que gestionnaire de ressources.
33Ben N’Cir chiheb-Eddine-ESEN-Manouba
Le rôle du SE en tant que Machine virtuelle
• Le système d’exploitation correspond à « l’interface » entre les applications et le matériel.
• De ce point de vue le système d’exploitation est assimilé à une machine étendue ou virtuelle plus facile à programmer ou à utiliser que le matériel :
- Un programmeur doit se concentrer sur les fonctionnalités de son logiciel et non pas sur le fonctionnement du matériel.
- Un utilisateur peut aussi manipuler un système d’exploitation, sans pour autant avoir à créer un programme ou connaitre le matériel. (masquer la complexité du matériel).
34Ben N’Cir chiheb-Eddine-ESEN-Manouba
Exemple du rôle du SE en tant que Machine virtuelle
• Sauvegarde d’un fichier sur disque
Le disque est composé de plusieurs plateaux
Le plateau est composé de secteurs et de pistes
• Comment l’utilisateur peut chercher
une adresse vide, un espace disque nécessaires, etc..
• Comment faire tourner la tête de lecture du disque
35Ben N’Cir chiheb-Eddine-ESEN-Manouba
Le rôle du SE en tant que gestionnaire de ressources
• Les différents composants d’un ordinateur doivent coopérer et partager des ressources.
• Dans cette optique, le travail du système d’exploitation consiste à :– ordonnancer,– contrôler l’allocation des ressources :
• processeurs, • mémoires,• périphériques d’E/S,• ...
entre les différents programmes qui y font appel.
36Ben N’Cir chiheb-Eddine-ESEN-Manouba
• Pour chacune des ressources d’un ordinateur, le système d’exploitation doit :– connaître à tout moment l’utilisateur de la ressource,– en accorder l’usage de manière équitable,– éviter les conflits d’accès entre les différents programmes ou
utilisateurs.
• Le Système d’Exploitation doit assurer– Le partage des ressources.– La protection de l'accès aux ressources.
37Ben N’Cir chiheb-Eddine-ESEN-Manouba
Le rôle du SE en tant que gestionnaire de ressources
Exemple du rôle du SE comme étant gestionnaires de ressources
• Trois programmes d’impression sur la même imprimante.
- Désordre total: Les premières lignes imprimées pourraient provenir du programme 1, les suivantes du programme 2, puis du programme 3 et ainsi de suite.
• Comment éviter ce problème ?
- Système d'exploitation peut éviter ce chaos potentiel en transférant les résultats à imprimer dans un fichier tampon sur le disque. Lorsqu'une impression se termine, le système d'exploitation peut alors imprimer un des fichiers se trouvant dans le tampon.
38Ben N’Cir chiheb-Eddine-ESEN-Manouba
Exemple du rôle du SE comme étant gestionnaires de ressources
39
Edition Fic1
Edition Fic2
SPOOL
Fic1Fic2
Impression
Imprimante
Ben N’Cir chiheb-Eddine-ESEN-Manouba
Les taches(de base) d’un OS
1. La gestion des processus– qui correspondent à l’exécution des programmes.
2. La gestion de la mémoire– qui permet de gérer les transferts entre les mémoires principales et secondaires.
3. Le système de fichiers– qui offre à l’utilisateur une vision homogène et structurée des données et des
ressources : disques, périphériques.
4. Les entrées-sorties– qui correspondent aux mécanismes qu’utilisent les processus pour communiquer
avec l’extérieur.
40Ben N’Cir chiheb-Eddine-ESEN-Manouba
Autres Tâches du OS
• Les réseaux d’ordinateurs– avec les protocoles de communication, d’interconnexion et d’application.
• Les systèmes répartis – avec les protocoles d’appels de procédures à distance (RPC)
– ou les objets distribués.
• Les systèmes de fenêtrage graphiques, … etc.
41Ben N’Cir chiheb-Eddine-ESEN-Manouba
Caractéristiques
des Systèmes d’Exploitation
42Ben N’Cir chiheb-Eddine-ESEN-Manouba
Systèmes multi/mon Tâches
• Un système d'exploitation est dit «multi-tâches» (en anglais multithreaded) lorsque plusieurs «tâches» (processus) peuvent être exécutées simultanément.
• par exemple effectuer une compilation et consulter le fichier source du programme correspondant.
• Un système est dit préemptif lorsqu'il possède un ordonnanceur (planificateur), qui répartit, selon des critères de priorité, le temps machine entre les différents processus qui en font la demande.
43Ben N’Cir chiheb-Eddine-ESEN-Manouba
Systèmes multi/mono utilisateur• Multiutilisateurs c’est la capacité à pouvoir gérer un panel d'utilisateurs
utilisant simultanément les mêmes ressources matérielles.
• Un système multiutilisateurs est capable d'exécuter de façon concurrente et indépendante des applications appartenant à plusieurs utilisateurs.
• Concurrente signifie que les applications peuvent être actives au même moment et se disputer l'accès à différentes ressources comme le processeur, la mémoire, les disques durs...
• Indépendante signifie que chaque application peut réaliser son travail sans se préoccuper de ce que font les applications des autres utilisateurs.
Remarque: Un système multiutilisateurs est nécessairement multitâches mais la réciproque est fausse
44Ben N’Cir chiheb-Eddine-ESEN-Manouba
Systèmes multi/mono processeurs
• Systèmes monoprocesseur (temps partagé ou multiprogrammation)
Ressource processeur unique : Il a fallu développer un mécanisme de gestion des processus pour offrir un (pseudo) parallélisme à l'utilisateur : c'est la multiprogrammation;
Multiprogrammation :il s'agit d'une commutation rapide entre les différents processus pour donner l'illusion d'un parallélisme.
• Systèmes multiprocesseurs (parallélisme) :
-SIMD (Single Instruction Multiple Data) : Tous les processeurs exécutent les mêmes instructions mais sur des données différentes.
- MIMD (Multiple Instructions Multiple Data) : Chaque processeur et complètement indépendant des autres et exécute des instructions sur des données différentes.
- Pipeline : Les différentes unités d'exécution sont mises en chaîne et font chacune partie du traitement à effectuer.
45Ben N’Cir chiheb-Eddine-ESEN-Manouba
comparaison des systèmes d’exploitation
Système Codage Mono-/multi-utilisateur
Mono-/multi-tâche
DOS 16 mono mono
Windows 3.1 16/32 mono non préemptif
Windows 95 32 mono coopératif
Win. NT/2000 32 multi préemptif
Windows XP, vista,seven
32/64 multi préemptif
Unix/Linux 32/64 multi préemptif
Mac OS X 32 multi préemptif
46Ben N’Cir chiheb-Eddine-ESEN-Manouba
Composition du
Système d’Exploitation
47Ben N’Cir chiheb-Eddine-ESEN-Manouba
Composition du système d’exploitation
48Ben N’Cir chiheb-Eddine-ESEN-Manouba
Noyau (kernel)
Le noyau assure ces fonctionnalités :– gestion des périphériques (au moyen de pilotes)– gestion des files d'exécution (aussi nommée processus) :
• attribution de la mémoire à chaque processus• ordonnancement des processus (répartition du temps
d'exécution sur le ou les processeurs)• synchronisation et communication entre processus
(services de synchronisation, d'échange de messages, mise en commun de segments de mémoire, etc.)
– gestion des fichiers (au moyen de systèmes de fichiers)– gestion des protocoles réseau (TCP/IP etc.)
49Ben N’Cir chiheb-Eddine-ESEN-Manouba
Noyau• Au lancement:
– Boot: le programme qui initialise l’ordinateur
– Permet aux premiers services d’accéder aux applications système : gestion de la mémoire, accès aux disques durs et accès aux périphériques
• Mémoire centrale (vive): répartition– Réservée pour le système
– Réservée pour les applications
• Assure une indépendance entre les applications et les matériels
50Ben N’Cir chiheb-Eddine-ESEN-Manouba
Les bibliothèques dynamiques
• = Libraries
• Regroupent les opérations souvent utilisées, selon les fonctionnalités (E/S, fichier, …)
• Ces opérations sont disponibles pour être appelées et exécutées par d’autres programmes
51Ben N’Cir chiheb-Eddine-ESEN-Manouba
Le système de fichiers
• Un système de fichiers est une structure de données permettant de stocker les informations et de les organiser dans des fichiers sur des mémoires secondaires (disque dur, disquette, CD-ROM, clé USB, etc.)
• Ce stockage de l'information est persistant
• Une telle gestion des fichiers permet de traiter, de conserver des quantités importantes de données ainsi que de les partager entre plusieurs programmes informatiques
• Il offre à l'utilisateur une vue abstraite sur ses données et permet de les localiser à partir d'un chemin d'accès
52Ben N’Cir chiheb-Eddine-ESEN-Manouba
Interface utilisateur-machine
• Via ligne de commande (interpréteur de commandes)– shell, MSDos
• Interface graphique (Graphical User Interface)– Xterm, Linux, Windows, Macintosh
53Ben N’Cir chiheb-Eddine-ESEN-Manouba
Shell
• Shell (coquille par opposition au noyau) = L'interpréteur de commandes permettant la communication avec le SE par l'intermédiaire d'un langage de commandes
• Permet à l'utilisateur de piloter les périphériques en ignorant toutes les caractéristiques du matériel qu'il utilise, (exemple: la gestion des adresses physiques).
• E.g. sur Unix/Linux: csh, tcsh, …– ls : lister les répertoires et les fichiers du répertoire courant– mv x y : changer le nom du fichier/répertoire « x » en « y »
54Ben N’Cir chiheb-Eddine-ESEN-Manouba
Deux Modes d’exécution
• But: protéger l'exécution du système d'exploitation de celles des programmes utilisateurs,
• Le mode utilisateur dans lequel les programmes utilisateurs sont exécutés.
Dans ce mode certaines instructions sont interdites, de cette manière on contraint les programmes à faire appel au système d'exploitation pour certaines opérations.
• Le mode protégé ou superviseur (également appelé mode noyau) est réservé à l'exécution des primitives du système d'exploitation. Dans ce mode le processeur peut exécuter toutes les instructions. Les appels système s’exécutent dans ce mode.
55Ben N’Cir chiheb-Eddine-ESEN-Manouba
Les appels systèmes
• Les appels système sont des fonctions :
– appelées depuis un programme du mode utilisateur.
– dont l’exécution (le traitement) est effectuée dans le mode noyau .
– dont le retour est effectué dans le programme appelant dans le mode utilisateur.
56Ben N’Cir chiheb-Eddine-ESEN-Manouba
utilitaires
57Ben N’Cir chiheb-Eddine-ESEN-Manouba
Les différents types
d’architectures
des systèmes d’exploitation
58Ben N’Cir chiheb-Eddine-ESEN-Manouba
Les différents types d’architecture de systèmes d’exploitation
• On parle de structures du noyau du système d’exploitation– Monolithiques
– Modulaire / Multicouches
– Micronoyaux
– Exonoyaux
– Machine virtuelle
• Le noyau est généralement exécuté dans un espace mémoire séparé de l’espace des applications: espace noyau. Par opposition à l’espace utilisateur. Le passage entre ces deux espaces se fait via des appels systèmes. L’intérêt de cette séparation est que le système ne crash/se plante pas si une application plante.
Partie 1 : Introduction 59
Système d’Exploitation Monolithiques
• Un seul bloc contenant l’ensemble des services système (mode noyau).
• Facilité de conception
• Rapidité d’exécution
• Code dur à maintenir
• Dos, très vieux UNIX et Linux, etc.
Partie 1 : Introduction 60
Application Application
serviceservice
serviceservice
serviceservice
serviceservice
serviceservice
serviceservice
Application
serviceservice
serviceservice
Matériel
Système d’exploitation
Système d’Exploitation Multicouches
– SE organisé en hiérarchie de couches. Chacune construite sur la base des services offerts par la couche inférieure.
– Facilité de conception et de développement
– Code plus organisé et maintenable.
– Chargement des fonctionnalités à la demande
– Linux, BSD, SOLARIS
Partie 1 : Introduction 61
Application Application
serviceservice
serviceservice
serviceservice
serviceservice
serviceservice
Application
serviceservice
Matériel
Système d’exploitation
serviceservice serviceservice
Système d’Exploitation Micronoyau
• Déplace plusieurs fonctions du SE vers des « processus serveur » s’exécutant en mode utilisateur réduction au maximum de la taille du code privilégié (en mode noyau).
• But: gérer les communications entre applications et serveurs pour:
– Renforcer la politique de sécurité
– Permettre l’exécution de fonctions système (accès aux registres d’E/S, etc.).
• Fiabilité augmentée: si un processus serveur « crash », le système continue à fonctionner et il est possible de relancer ce service sans redémarrer.
• Modèle facilement étendu à des systèmes distribués
• MAC OS X, GNU HURD, WindowsNT
62
MicronoyauMicronoyau
Processus client
Processus client
Processus client
Processus client
Processus serveur
Processus serveur
Serveur de terminaux
Serveur de terminaux
Serveur de fichiers
Serveur de fichiers
Serveur de mémoire
Serveur de mémoire
Mode utilisateur
Mode noyau
Autres types de noyaux…
SE à Noyaux hybrides
SE à Méta-noyaux
SE à Exo-noyaux
SE machine virtuelle(VMWARE)
SE à noyaux temps réel
Partie 1 : Introduction 63