Support de Cours Système d’Exploitation I

Page 1 sur 63Lecteur de document UniversityLib

Support de Cours Système d’Exploitation I

Informatique, Systèmes d’Exploitation, Architecture Matérielle · course

Voir tous les documents en systèmes d'exploitation et cloud

Support de Cours Système d’Exploitation I

Chiheb Eddine Ben N’Cir

[email protected]

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

Ben N’Cir chiheb-Eddine-ESEN-Manouba 2

Traitement automatique de l’information

Ben N’Cir chiheb-Eddine-ESEN-Manouba 3

ENIAC (1946) Electronic Numerical Integrator Analyser and computer

Poids 30 tonnes

Surface 72 m2

330 multiplication/s

Ben N’Cir chiheb-Eddine-ESEN-Manouba 4

Ordinateur (computer)

Ben N’Cir chiheb-Eddine-ESEN-Manouba 5

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.

Ben N’Cir chiheb-Eddine-ESEN-Manouba 6

Exemples d’ordinateur

Ben N’Cir chiheb-Eddine-ESEN-Manouba 7

Architecture matérielle de l’ordinateur

Ben N’Cir chiheb-Eddine-ESEN-Manouba 8

Imitation du monde naturel

Ben N’Cir chiheb-Eddine-ESEN-Manouba 9

Imitation du monde naturel

Ben N’Cir chiheb-Eddine-ESEN-Manouba 10

Processeur

  • Le composant qui exécute les programmes

  • En anglais « CPU »

Ben N’Cir chiheb-Eddine-ESEN-Manouba 11

  • Random Access Memory

  • R.A.M:Mémoire Volatile

Disque Dur

  • Mémoire de stockage permanente (magnétique)

  • Grande Capacité

Ben N’Cir chiheb-Eddine-ESEN-Manouba 13

Chargement des données

Ben N’Cir chiheb-Eddine-ESEN-Manouba 14

Support: Carte mère

Ben N’Cir chiheb-Eddine-ESEN-Manouba 15

Comment introduire et exploiter les résultats

Ben N’Cir chiheb-Eddine-ESEN-Manouba 16

Périphériques

  • périphérie est la surface externe

Ben N’Cir chiheb-Eddine-ESEN-Manouba 17

Exemples de Périphériques

Ben N’Cir chiheb-Eddine-ESEN-Manouba 18

Le langage de l’ordinateur:

Langage binaire

Ben N’Cir chiheb-Eddine-ESEN-Manouba 19

Langage de l’ordinateur et langage de

l’utilisateur

Ben N’Cir chiheb-Eddine-ESEN-Manouba 20

Comment peut-on assurer une bonne

Exploitation des

Publicité

performances des ordinateurs ?

Ben N’Cir chiheb-Eddine-ESEN-Manouba 21

Langage de l’ordinateur et langage de

l’utilisateur

Ben N’Cir chiheb-Eddine-ESEN-Manouba 22

Intermédiaire entre ordinateur et utilisateur

Ben N’Cir chiheb-Eddine-ESEN-Manouba 23

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.

Ben N’Cir chiheb-Eddine-ESEN-Manouba 24

Intermédiaire entre ordinateur et utilisateur

Ben N’Cir chiheb-Eddine-ESEN-Manouba 25

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, …)

Ben N’Cir chiheb-Eddine-ESEN-Manouba 26

Système d’exploitation : un élément du système informatique

Utilisateur 1 Utilisateur N Col3
Compilateur Editeur
Base de données
Applications et Logiciels
Système d’exploitation
Compilateur Editeur
Base de données
Applications et Logiciels
Système d’exploitation
Compilateur Editeur
Base de données
Applications et Logiciels
Système d’exploitation
Matériel Matériel Matériel

Ben N’Cir chiheb-Eddine-ESEN-Manouba

27

Exemples de Systèmes d’exploitation

Ben N’Cir chiheb-Eddine-ESEN-Manouba 28

Système d’Exploitation:

Définitions, rôles, Tâches…

Ben N’Cir chiheb-Eddine-ESEN-Manouba 29

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

Ben N’Cir chiheb-Eddine-ESEN-Manouba 30

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 »

Ben N’Cir chiheb-Eddine-ESEN-Manouba 31

Qu’est ce qu’un Système d’Exploitation

Wikipedia:

Ben N’Cir chiheb-Eddine-ESEN-Manouba 32

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 »),

  1. Le rôle du système d’exploitation en tant que

gestonnaire de ressources .

Ben N’Cir chiheb-Eddine-ESEN-Manouba 33

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).

Ben N’Cir chiheb-Eddine-ESEN-Manouba 34

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

Le rôle du SE en tant que gestionnaire de

ressources

Publicité

  • 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.

Ben N’Cir chiheb-Eddine-ESEN-Manouba 36

Le rôle du SE en tant que gestionnaire de

ressources

  • 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.

Ben N’Cir chiheb-Eddine-ESEN-Manouba 37

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.

Ben N’Cir chiheb-Eddine-ESEN-Manouba 38

Exemple du rôle du SE comme étant

gestionnaires de ressources

Ben N’Cir chiheb-Eddine-ESEN-Manouba

39

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.

Ben N’Cir chiheb-Eddine-ESEN-Manouba 40

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.

Ben N’Cir chiheb-Eddine-ESEN-Manouba 41

Caractéristiques des Systèmes d’Exploitation

Ben N’Cir chiheb-Eddine-ESEN-Manouba 42

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.

Ben N’Cir chiheb-Eddine-ESEN-Manouba 43

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

Ben N’Cir chiheb-Eddine-ESEN-Manouba 44

Systèmes multi/mono processeurs

  • Systèmes monoprocesseur (temps partagé ou multiprogrammation)

Publicité

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.

Ben N’Cir chiheb-Eddine-ESEN-Manouba 45

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

Ben N’Cir chiheb-Eddine-ESEN-Manouba 46

Composition du Système d’Exploitation

Ben N’Cir chiheb-Eddine-ESEN-Manouba 47

Composition du système d’exploitation

Ben N’Cir chiheb-Eddine-ESEN-Manouba 48

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.)

Ben N’Cir chiheb-Eddine-ESEN-Manouba 49

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

Ben N’Cir chiheb-Eddine-ESEN-Manouba 50

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

Ben N’Cir chiheb-Eddine-ESEN-Manouba 51

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

Ben N’Cir chiheb-Eddine-ESEN-Manouba 52

Interface utilisateur-machine

  • Via ligne de commande (interpréteur de commandes)

    • shell, MSDos
  • Interface graphique ( Graphical User Interface)

    • Xterm, Linux, Windows, Macintosh

Ben N’Cir chiheb-Eddine-ESEN-Manouba 53

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 »

Ben N’Cir chiheb-Eddine-ESEN-Manouba 54

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.

Publicité

Ben N’Cir chiheb-Eddine-ESEN-Manouba 55

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.

Ben N’Cir chiheb-Eddine-ESEN-Manouba 56

utilitaires

Ben N’Cir chiheb-Eddine-ESEN-Manouba 57

Les différents types d’architectures des systèmes d’exploitation

Ben N’Cir chiheb-Eddine-ESEN-Manouba 58

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 utlisateur . 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.

Système d’exploitation

sseerrvviiccee Col2 Col3 sseerrvviiccee Col5 sseerrvviiccee
service
service
service
service
service
service
service
service
service
service
service
service
service
service
service
service
service
service
service
service
service
service
service
service
service
service

Partie 1 : Introduction 60

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
Application Col2

Système d’exploitation

Partie 1 : Introduction 61

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

Processus Processus

clientclient

Processus Processus

Mode utilisateur

clientclient

62

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