Système d`exploitation Généralités

publicité
PLAN DU COURS
!
Système d’exploitation
Généralités
!
!
!
Qu ’est ce qu ’un système d ’exploitation
Historique : les premiers S.E.
Les différents systèmes existants
Les différentes tâches d ’un S.E.
IUT G.T.R
1ère Année
Sylvain MERCHEZ
!
1
2
Qu ’est ce qu ’un système d ’exploitation ?
Qu ’est ce qu ’un système d ’exploitation ?
Définition :
!
!
!
!
Un système d ’exploitation (Operating System) est un
ensemble d ’instructions qui alloue des ressources aux
programmes
Exemples de ressources
!
!
!
le CPU
!
la mémoire
!
les périphériques d ’entrées et de sorties
!
les données (fichier, disque)
S.E = un gestionnaire de ressources et
ordonnanceur
Ce gestionnaire doit être efficace, équitable et simple.
S.E = contrôleur des ressources
!
Vérifie le bon fonctionnement, évite les erreurs,
exploite et contrôle les E/S.
S.E = noyau qui tourne en permanence pour
coordonner et contrôler l ’utilisation du matériel
et faciliter le travail de l ’utilisateur.
3
4
Qu ’est ce qu ’un système d ’exploitation ?
Qu ’est ce qu ’un système d ’exploitation ?
Un S.E permet de cacher les détails matériels et
de proposer un environnement agréable
Système
Bancaire
Réservation
Spectacles
Jeux
Compilateurs
Editeurs
Interpréteur de
commandes
!
Programmes
d’application
Impossible de couvrir tous les besoins
=> diversité des S.E.
Programmes
Systèmes
Gouvernement:
Système d’exploitation
Langage Machine
Microprogramme
Un S.E. dépend
! du matériel
! des applications
Matériels, logiciels, données = composants du système
S.E. est un moyen d ’utiliser correctement le système
S.E. n ’est pas utile en lui-même mais propose un
environnement de travail efficace.
Matériel
Couche Matérielle
5
6
1
A quoi sert un système
d ’exploitation ?
!
A quoi sert un système
d ’exploitation ?
Un système d ’exploitation doit :
!
!
Définition :
!
!
!
allouer des ressources
assurer le partage et la communication des ressources
entre les processus
Un système d ’exploitation cache les détails
matériels pour :
!
!
Un processus est un programme en cours
d ’exécution
permettre l ’exécution d ’un maximum de tâches
!
simplifier (conventionner) l ’utilisation de certaines
ressources
rendre disponible des ressources qui n ’existent pas
nécessairement sur la machine
(e.g. via réseaux)
assurer un niveau de sécurité entre les processus et
entre le système lui-même
Système multi-tâches, multi-utilisateurs,
multi-ressources
=> Problèmes de sécurité
7
8
PLAN DU COURS
!
Qu ’est ce qu ’un système d ’exploitation
!
Historique : les premiers S.E.
!
!
Les premiers ordinateurs
!
Les différents systèmes existants
Les différentes tâches d ’un S.E.
!
Un ordinateur = une grosse machine
commandée par une console
Le programmeur est aussi l ’opérateur
!
!
!
!
!
il charge le programme en mémoire
il indique l ’adresse de début
il vérifie le fonctionnement grâce à des diodes
il examine le contenu de la mémoire (registres) en cas
de problèmes
le résultat est imprimé ou stocké sur bandes
9
10
Les premiers besoins
!
Les premiers systèmes
Multiplicité des périphériques
!
Chaque E/S a ses propres caractéristiques : buffers,
registres, drapeaux, bits de contrôle, etc …
=> écriture de drivers
!
!
!
!
Introduction de compilateurs
!
!
Comment augmenter les temps d ’utilisation ?
faciliter et aider le travail du programmeur pour gérer
tous les types de matériels et logiciels
!
Nécessité de charger les compilateurs, les
drivers avant d ’exécuter son propre
programme
11
Seuls les opérateurs ont accès à l ’ordinateur
(moniteur)
Le traitement est regroupé par nature afin de faciliter
le travail des opérateurs (traitement par lots)
Le temps de réponse du point de vue
utilisateur est encore long
S.E encore inactif pendant les changements
Peu d ’interactivité
12
2
Les premiers systèmes
!
PLAN DU COURS
Le CPU va beaucoup plus vite que les
périphériques
(vitesse du CPU en MIPS, vitesse périphérique en µs)
! Remplacer les périphériques par des plus rapides
!
!
!
Qu ’est ce qu ’un système d ’exploitation
Historique : les premiers S.E.
!
Les différents systèmes existants
!
Les différentes tâches d ’un S.E.
!
Utilisation du disque magnétique (permet de lire et d ’écrire
en même temps)
Utilisation de cache, de tampon (buffer)
Idée : Traitement hors ligne des E/S
13
14
Les systèmes multi-programmes
!
!
Les systèmes temps-partagé
Plusieurs programmes sont en attente
d ’exécution sur le disque
Le système charge en mémoire centrale un sousensemble des programmes à exécuter
!
Variante du système précédent
!
Le système choisit le programme à exécuter par le
CPU en fonction :
des demandes d ’entrées/sorties
de la consommation du temps d ’utilisation du CPU par les
programmes (avec une période maximale)
=> Tous les processus avancent à un rythme régulier
Si la période est faible, tous les utilisateurs ont l ’impression
qu ’ils sont seuls à utiliser la machine
!
!
Choix du programme à exécuter sur le CPU
Lorsqu ’un programme utilise les entrées/sorties, un
autre programme peut utiliser le CPU
=> Augmentation du taux d ’utilisation du CPU
!
!
Traitement peut dépendre d ’un
résultat précédent
!
15
16
Les systèmes temps-partagé
!
Ce système est plus complexe et demande
!
!
!
!
!
Les autres systèmes
!
une gestion plus complexe de l ’occupation de la
mémoire centrale par les processus
la mise en place de systèmes de protection
l ’utilisation d ’un système de fichiers facilement
accessible et une gestion efficace du stockage des
données
la gestion de la communication et la synchronisation
entre les processus
Systèmes pour ordinateur personnel
Offrir une utilisation simplifiée des ressources
+ Faible besoin de calculs
Systèmes mono-utilisateur, uni-tâche : Apple, Windows
- manque de protection, favorise le développement de
virus informatiques
New : Important besoin de communiquer (Internet)
Systèmes multi-utilisateur, multi-tâches : Linux, Windows NT,
etc)
Pb : maintenir plusieurs programmes
UNIX est le fondement des nouveaux S.E.
17
18
3
Les autres systèmes
!
Les autres systèmes
Systèmes distribués
!
Coopération entre machines qui mettent en commun
leurs ressources (nécessité de matériels et de fonction
de communication)
Systèmes parallèles
Répartition de la charge de calcul sur une architecture
matériel dotée de plusieurs CPUs
Multi-processeurs partageant bus, horloge, mémoire,
périphériques, ...
+ Calcul plus important, réduction des coûts, fiabilité
- Gestion des communications, adapter le traitement
+ Plus grande tolérance aux pannes, augmentation
des possibilités de calcul, partage des ressources
- Gestion de la communication entre les machines et
les processus
19
20
Les autres systèmes
!
PLAN DU COURS
Systèmes temps-réel
!
Qu ’est ce qu ’un système d ’exploitation
Historique : les premiers S.E.
Les différents systèmes existants
!
Les différentes tâches d ’un S.E.
!
Assure la date de fin d ’un processus
Répond à tout instant
Adapté pour le multi-média, pour la réalité virtuelle,
pour les systèmes embarqués
!
+ Grande possibilité d ’adaptation des algorithmes
- Pas le temps de calculer les optimums
21
22
Architecture d ’un Ordinateur
Opérations de Base
!
!
CPU
Contrôleur
disques
Contrôleur
mémoire
!
Contrôleur
imprimante
Chargement d ’un programme initial (bootstrap)
Chargement du système d ’exploitation
(le noyau)
Lancement de programmes en attente
d ’événement extérieurs
BUS
23
24
4
Opérations de Base
!
Chaque événement est signalé par une
interruption de type
!
!
!
!
!
Gestion des processus
Un processus est un programme en cours
d ’exécution, il a besoin de ressources (CPU,
mémoire, fichiers, E/S)
=> Ces ressources sont fournies au lancement
ou en cours d ’exécution.
matériel (signal vers CPU)
logiciel (appel système)
Dès réception d ’une interruption, le CPU donne la main à un
programme qui traite les interruptions. Ce programme déclenche à
son tour une routine spécifique à l ’interruption
Tous les systèmes modernes sont pilotés par les interruptions
Si pas de processus à exécuter, pas d ’entrées-sorties à effectuer,
pas d ’utilisateurs connectés alors le système est en attente d ’un
événement.
Un programme
! peut être une entité passive
! peut être une entité active (compteur d ’instructions)
! peut être exécuté par plusieurs processus.
25
26
Gestion des processus
!
Contrôle des processus
Le système d ’exploitation gère l ’ensemble des
processus et assure
!
!
!
!
!
Le système d ’exploitation contrôle
!
la création et la destruction des processus utilisateurs
ou système
l ’arrêt et la reprise de l ’exécution d ’un processus
la synchronisation des processus (accès à des
ressources partagées)
la communication entre processus
!
!
!
le chargement et l ’exécution des processus
la fin (normal ou anormal) des processus
la réservation des ressources
(utilisation exclusive)
connexion entre processus
! envoi de messages
! gestion de la mémoire partagée
27
28
Gestion des Entrées/Sorties
!
Structures des Entrées-Sorties
L ’une des tâches d ’un système d ’exploitation
est de cacher les spécificités du matériel en la
gestion
!
!
!
!
Les interruptions d ’E/S
!
!
des buffers pour les périphériques
de l ’interface avec les pilotes des périphériques
des pilotes particuliers
!
Pendant le traitement de l ’opération, la CPU peu soit
Chaque périphérique (E/S) est sous la responsabilité
d ’un contrôleur.
!
CPU initie l ’opération d ’E/S
le contrôleur effectue l ’opération
le contrôleur informe de la fin de l ’opération en
déclenchant une interruption
!
!
Le contrôleur a la charge du déplacement des données (en
provenance ou en destination) d ’un périphérique vers un
tampon mémoire.
!
La structure DMA
!
29
travailler (mode synchrone)
attendre (mode asynchrone)
Transfert de données entre périphériques et tampon
mémoire par bloc
30
5
Gestion Mémoire
Gestion de l ’occupation disque
La mémoire est un tableau de mots (ou d ’octets),
chacun avec une adresse.
La mémoire est utilisée par le CPU et les E/S
!
Le système d ’exploitation a la responsabilité de:
!
!
!
Les disques sont utilisés pour stocker de manière
persistante les données de taille importante et
les programmes
!
garder une trace de qui occupe la mémoire
choisir le programme qui sera chargé en mémoire
quand il y aura de la place
la stratégie d ’allocation et de libération de la mémoire
Le système d ’exploitation a la responsabilité de:
!
!
!
la gestion de l’espace libre
du stockage des données
des accès au disque
31
32
Structure et hiérarchie de stockage
!
Structure et hiérarchie de stockage
La mémoire centrale
!
C ’est la seule mémoire qui peut être accédée
directement par la CPU. Chaque mot a son adresse.
! Trop petit pour stocker programmes et données
! Mémoire volatile
La mémoire secondaire
!
Les disques magnétiques
2 types :
!
!
les registres : accessible en 1 temps d ’horloge
la mémoire accessible depuis le bus : plusieurs temps
d ’horloge
!
Les bandes magnétiques, les disques optiques sont
plus utilisées pour l ’archivage et la sauvegarde
33
34
Structure et hiérarchie de stockage
!
Protection mémoire
La mémoire cache
!
!
Permet de palier à la différence de vitesse entre les
matériels
La protection mémoire contre les accès illégaux
peut se faire en utilisant deux registres :
!
Elle est utilisée pour diminuer les temps d ’attente des
instructions suivantes. De capacité réduite, elle peut
contenir de 80 à 99% des instructions suivantes.
!
Le registre base indique la valeur de la plus petite
adresse valide
Le registre limite donne l ’espace accessible
La CPU compare chaque adresse soumise avec les registres
base et limite. Si l ’adresse n ’est pas valide, une interruption
est générée.
35
36
6
Protection mémoire
Gestion des fichiers
Le fichier représente la structure de stockage
des données.
Le fichier n ’a pas de format particulier, il peut
contenir des données alphanumériques,
numériques, alphabétiques, binaires …
Les fichiers sont généralement regroupés en
répertoire
=> composant le plus visible du système d’exploitation
=> il permet d ’uniformiser la visualisation des données
quelque soit le support de stockage
(disque, CD-ROM, DVD, DAT, …)
37
Gestion des fichiers
!
Protection du système
Le système d ’exploitation est responsable de :
!
!
!
!
!
38
En mode multi-utilisateurs et multi-tâches, il faut
protéger les activités des uns contre celles des
autres
la création et la destruction des fichiers
la création et la destruction des répertoires
la couche liaison avec les primitives de manipulation
des fichiers et des répertoires
le placement des fichiers sur la mémoire (centrale et
secondaire)
la sauvegarde sur disque
!
!
Mise en place de mécanismes pour que chaque
ressource utilisée le soit après autorisation du
système d ’exploitation
=> Définition de droits des utilisateurs sur les
processus et les ressources qui sont à la charge du
système d ’exploitation
Eviter les interblocages (E/S)
39
Protection matériel
Protection matériel
Le matériel doit pouvoir détecter et informer le S.E.
de certaines erreurs
!
!
40
Accès d ’un programme utilisateur à un autre
programme utilisateur (ou pire au noyau)
Bouclage infini
La protection CPU contre les boucles infinies est
assurée par un compteur.
!
!
Le compteur est décrémenté par le temps
Lorsque le compteur passe à zéro, une interruption
est déclenchée.
Pour assurer la protection des accès, les S.E
proposent deux modes d ’exécution
!
!
mode utilisateur (user)
mode moniteur (super user)
Seul le noyau s ’exécute en mode moniteur.
41
42
7
Autres gestions
!
!
Interpréteur de commandes
Gestion horloge
Gestion communications
!
Interface entre l ’utilisateur et le système
d ’exploitation
Reseaux : acheminement, connexion, encombrement,
...
Il peut être intégré au noyau ou exécuté au début
d ’une session d ’un utilisateur comme tout autre
processus
But : lire la prochaine commande à exécuter par le
système d ’exploitation
43
Interpréteur de commandes
44
Interpréteur de commandes
L ’interpréteur de commandes a la charge de créer
les processus qui vont exécuter les commandes,
il est en liaison directe avec les autres
composants du système d ’exploitation.
Un appel système peut être programmé = routine
échange de fichiers (nom, lecture, copie, …)
Les paramètres de telles routines sont stockés :
!
Une commande va déclencher des appels systèmes
pour :
! contrôler les processus
! manipuler des fichiers, des périphériques
! contrôler les communications
!
dans un registre ou une adresse de départ
dans une pile
45
Interpréteur de commandes
46
En résumé
Il existe beaucoup d ’interpréteur de commmandes :
! basé sur l ’utilisation de menus déroulants (Mac)
! basé sur des commandes en lignes (shell Unix)
Un Système d ’Exploitation permet
! d ’exécuter des programmes
! d ’allouer les ressources
! de gérer les E/S
! de stocker des informations par un système de fichiers
! d ’ordonnancer la CPU
! d ’échanger de l ’information (communications)
! de détecter des erreurs
! de comptabiliser utilisateurs, connexions, … (factures)
! de protéger ressources, données, ...
(bash, csh, tsh, …)
47
48
8
Système Linux : caractéristiques
Système Linux : principes
Mandrake 8.0
!
!
!
!
!
Multi-utilisateurs : multiples sessions
Multi-tâches : exécution de plusieurs programmes
Orienté temps partagé
Orienté réseaux : SE réseau
!
!
49
Le système d’exploitation présente un ensemble
d’instructions étendues (appels système) aux
programmes utilisateurs.
Ces appels permettent de manipuler (créer, détruire,
utiliser) les objets logiciels gérés par le SE.
Les plus importantes de ces objets sont : les processus
et les fichiers.
50
9
Téléchargement