Académique Documents
Professionnel Documents
Culture Documents
Chapitre 2 - Fonctions de Base Système D'exploitation
Chapitre 2 - Fonctions de Base Système D'exploitation
Chapitre 2 - Fonctions de Base Système D'exploitation
Bibliothèque Utilitaires
SE
Noyau (protection de la couche matériel)
Matériel
Noyau = couche qui rend transparent au applicatif ce qu’il y a en dessous
Il s’agit :
- de masquer à l’utilisateur les problèmes de gestion interne des ressources
- de lui présenter une machine virtuelle plus simple à exploiter que la machine réelle
- et qui lui offre des services
1
Trois unités fonctionnelles
- Processeur Traiter
- Mémoire centrale Mémoriser
- Entrée/Sortie Communiquer
Interface d’E/S
2
1.2. Définitions
1.2.1. Processus
Un processus est une suite d’instructions chargée totalement ou partiellement en mémoire
centrale, et constituant un ensemble logique en cours d’exécution ou susceptible de s’exécuter.
La notion de processus est dynamique : un processus naît lors du chargement d’un programme
et meurt à la fin de l’exécution du programme.
Un processus est donc caractérisé par un état à un instant donné.
1.2.2. Programme
Un programme est une entité composée de séquences d’instructions agissant sur un ensemble
de données.
C’est du code obtenu par compilation d’un fichier source suivie d’une phase d’édition des
liens.
La notion de programme est essentiellement statique car c’est un fichier stocké sur disque.
Des processus distincts peuvent exécuter un même programme (programme réentrant).
1.2.3. Thread
Un processus peut être parfois décomposé en unités d’activité distinctes appelées thread et
qui :
- s’exécutent de façon parallèle ou concurrente
- partagent l’espace d’adresse du processus
Le processus représente donc pour ses threads une unité d’encapsulation des ressources
utilisées
T1
T2
T3
Processus
Et le thread est un sous ensemble d’exécution du processus sur cet ensemble de ressources.
1.2.4. Tâche
Nous conviendrons que la tâche représente la plus petite unité sémantique d’exécution au
niveau macroscopique.
3
1.2.5. Topologie des systèmes
1.2.5.1.Système en monoprogrammation
Système dans lequel, une seul tâche est exécuté à la fois
Une tâche ne peut être exécutée que lorsque la précédante a été terminé
1.2.5.2.Système multi-tâches
Plusieurs tâches résident en mémoire centrale
Le système d’exploitation doit alors gérer l’attribution et le partage des ressources les
différentes tâches
pose les problèmes liés à la programmation concurrente
pose le problème de protection du code et des données
1.2.5.3.Système multi-threads
Supporte l’exécution d’un processus en unités indépendantes
Implémente au niveau du noyau la gestion des threads
L’ordonnancement se fait alors sur des threads et non plus des processus
Possibilité d’ordonnancer les threads sur plusieurs processeurs dans une architecture parallèle
1.2.5.4.Système mono-utilisateur
Système où un seul utilisateur dispose de toutes les ressources de la machine
1.2.5.5.Systèmes multi-utilisateurs
Système où plusieurs utilisateurs se partagent les ressources de la machine
le système est alors multi-tâches
1.2.7.2.Mode interactif
Dans ce mode toute action de l’utilisateur est traitée immédiatement par le système
4
On distingue de 2 types
Le time sharing : les utilisateurs ont accès simultanément à l’ensemble des ressources
et le système gère l’allocation cyclique des ressources
Le transactionnel : c’est le principal mode d’utilisation en info de gestion : il s’agit
d’application qui gèrent le dialogue homme machine suivant une logique liée aux
fonctionnalités attendues.
- Principe du chargement
o le chargeur est automatiquement appelé au démarrage de la machine
o pour cela il doit être stocké à une adresse disque convenu (exemple le MBR =
Master Boot Record)
o ce petit programme une fois chargé et lancé a pour rôle de charger le noyau du
système en mémoire centrale
o il est possible de changer de chargeur sur un système
5
1.3.5. Gestion des E/S
- Pour le système d’exploitation, traiter les E/S c’est desservir les demandes de transfert
d’information en
o gérant des matériels divers (CPU, interface d’E/S, contrôleur de périphérique,
DMA, périphérique)
o en s’appuyant sur la mise en mode noyau pour les opérations de bas niveau.
Schéma PUBLIC
7
- Une interruption externe est émise sur un niveau
- Généralement sur les systèmes le nombre de niveaux disponibles sur le CPU pour les
IT externes est très inférieur au nombre de sources possibles d’IT (un seul sur les
micro processeur)
- Il faut alors un mécanisme supplémentaire pour permettre à la CPU d’identifier la
source
SCH Public
8
o de désarmer un niveau : dans ce cas toutes les demandes d’interruption émises
sur ce niveau sont perdues
o de réarmer un niveau : dans ce cas les demandes d’interruption sont à nouveau
autorisées sur ce niveau
o grâce à des instructions particulières
SCH public
2.4. Conclusion
- Une interruption peut-être soit
o une interruption externe (exemple l’horloge)
o un appel système (exemple une demande d’E/S)
o ou encore un déroutement en cas de plantage du programme
- Toute interruption génère une commutation lors de laquelle le noyau reprend la main
pour assurer
o la sauvegarde du contexte de la tâche suspendue
o la restauration du contexte à exécuter
- La gestion des interruptions par le noyau de l’OS s’appuis donc le niveau matériel (le
système d’interruption du processeur)
- Le noyau représente un ensemble de services uniquement accessibles par le biais des
interruptions et des appels système
- Il est toujours résident en mémoire et sa taille, doit être aussi petite que possible pour
laisser suffisamment de mémoire aux applications
- Les appels système :
o s’exécutent en mode noyau (mode protégé)
o sont non interruptibles (intégrité du noyau)
o permettent d’accéder sous le contrôle du noyau hors de l’espace d’adressage
de la tâche
o assurent les grandes fonctionnalités du système
gestion des E/S
gestion de la mémoire
gestion de la communication inter-processus
gestion des fichiers et des répertoires
gestion du temps
9
3. Processus et Threads
3.1. Gestion des processus
3.1.1. Description d’un processus
- Problématique d’un système multitâche
o plusieurs processus sont présents simultanément en mémoire centrale
o il faut donc partager la ressource CPU entre ces différents processus
- Ceci implique que chaque processus
o possède un certain nombre de caractéristiques propres
o passe au cours de son « existence » par plusieurs états
- Caractéristique d’un processus
o l’identification ou PID :
entier attribué par le noyau du système
au moment de la création
unique
o la priorité
indique le caractère d’urgence du processus
sert à déterminer l’ordre d’allocation de la CPU
- Espace d’adressage d’un processus
o ensemble des objets (instructions et données) qui est propre au processus
o comprend 3 zones
zone programme : code et constante (en lecture)
zone données : variables globales et variables locales déclarées static
(en lecture et écriture)
zone pile : informations temporaire (paramètres d’appel, adresse de
retour, variables locales)
zone tas : allocation dynamique de mémoire
SCH public
10
- Descripteur d’un processus (PCB)
o structure système en mémoire centrale qui contient les informations
nécessaires à la connaissance exacte du processus à un instant t
identificateur (PID)
état et priorité du processus
contexte utilisateur (zone code, zone données, zone pile)
compteurs de temps d’exécution
- Table des descripteurs = table système
o localisé à une adresse fixe en zone mémoire non swappée
o constitue le point d’entrée à l’ensemble des descripteurs des processus présents
sur le système
o les descripteurs sont chaînés entre eux par des pointeurs
o chaque descripteur est représenté par une structure
o il y a un descripteur par processus
11