Système d`exploitation

publicité
Système d’exploitation
Concepts de base
Les processus
• Un processus est une structure de donnée représentant
un programme en cours d'exécution.
• Un processus contient toute l'information qu'il est
nécessaire de conserver pour poursuivre l'exécution d'un
programme interrompu.
• En particulier, chaque processus possède:
– Un espace d'adressage (programme,données, pile)
– Des registres (incluant PC, SP, PSW)
– D'autres informations (fichier ouverts, priorité, etc.)
Table des processus
• La table des processus est un tableau de structures
contenant une entrée pour chaque processus actifs dans
le système.
• Périodiquement, le système d'exploitation décide
d'interrompre un processus pour en exécuter un autre.
Il doit alors:
–
–
–
–
–
suspendre l'exécution d'un processus A
sauver l'information de A dans la table des processus
choisir un nouveau processus B
recupérer l'information de B
démarrer l'exécution de B
Interblocage
• Un ensemble de processus est en interblocage
(deadlock) si chacun est en attente d'un évènement ne
pouvant être réalisé que par un autre.
• Exemple: Deux processus voulant copier le contenu d’un
ruban sur un CD.
– Processus 1 demande et obtient l’accès au ruban
– Processus 2 demande et obtient l’accès au CD
– Processus 1 demande l’accès au CD et est suspendu jusqu’à ce
que le processus 2 le libère.
– Processus 2 demande l’accès au ruban et est suspendu jusqu’à
ce que le processus 1 le libère.
Le système de fichiers
• Répertoire: groupe de fichiers et de répertoires
Les répertoires possèdent une structure d’arbre.
– Répertoire racine
– Chemin d’accès
– Répertoire courant
•
Fichier
–
–
–
–
descripteur de fichier
ouverture/fermeture
lecture/écriture
déplacement
Les types de fichiers
•
•
•
•
•
•
Ordinaires
Répertoires
Liens symboliques
Tubes nommés
Spéciaux mode bloc
Spéciaux mode caractère
Le shell
• Interpréteur de commandes sur UNIX (ne
fait pas parti du noyau).
• Exemples:
– ls : affiche les fichiers du répertoire courant
– cd : change de répertoire
– mkdir: crée un répertoire
– cat: affiche le contenu d’un fichier
– cp: copie un fichier
Les appels systèmes
• Sert d’interface au noyau. Dépend de la
machine et habituellement écrit en assembleur.
• Bibliothèque de procédures fournie pour pouvoir
utiliser les appels système à partir d’un
programme en C.
• Solaris:
– Environ 250 procédures correspondant aux appels
système.
• Windows:
– Plusieurs milliers de procédures.
Exemple: read(df, tampon, nboctets);
Appels système UNIX et Windows
Téléchargement