Vous êtes sur la page 1sur 7

Module : SE1 / 2LMD / Révision_1_2_3_4

1) "Le système d'exploitation présente à ses usagers une interface mieux adaptée à leurs
besoins que celle directement fournie par le matériel". Expliquer.
R) – Il cache les détails de mise en œuvre;
- Il cache les limitations physiques et le partage des ressources entre plusieurs
utilisateurs.

2) Quel est l'objectif des appels système ?


R) Ils fournissent l'interface entre un processus et le SE.

3) Qu'est-ce que l'interface de commande ?


R) C'est l'interface utilisateur, utilisable par un usager humain, sous formes textuelles ou
graphiques et composée d'un ensemble de commandes textuelles ou graphiques.

4) Donner un exemple d'une commande système sous forme graphique.


R) Déplacer l'icône d'un fichier vers la corbeille (suppression).

5) Citer 07 qualités requises d'un SE ?


R) a. Utilisation efficace des ressources b. Fiabilité c. Tolérance aux fautes d. Qualité de
l'interface e. Bonne intégration au réseau f. Sécurité et protection g. Répertoire étendu des
fonctions.

6) Expliquer la notion d'amorçage qui était utilisée sur les premiers systèmes fonctionnant
en porte ouverte.
R) La réinitialisation (la mise en route) de l'ordinateur lance l'exécution d'un pgm câblé
de quelques instructions (l'amorce câblée), qui met le matériel en position de lecture d'une
carte, dont le contenu sera mémorisé dans un emplacement fixe de la mémoire. Dès que
cette 1ère carte est lue, le matériel exécute l'instruction qui se trouve à cet emplacement
fixe. Le contenu de cette 1ère carte doit être un court pgm qui assure le chargement en
mémoire des cartes qui suivent et le lancement du pgm correspondant.

Est-ce que ce concept est toujours utilisé sur les ordinateurs d'aujourd'hui ?
R) Oui, ce concept est toujours utilisé sur les ordinateurs d'aujourd'hui –lors de leur mise
en route (ou leur réinitialisation)- ; le seul changement intervenu est de pouvoir amorcer
la machine depuis n'importe quel périphérique et non plus à partir de cartes perforées.

7) Qu'est-ce qu'un programme d'amorce (bootstrap) ?


R) L'amorce (bootstrap) est un petit pgm qui est chargé en mémoire en une seule
opération d'entrée lors de la mise en route de l'ordinateur et dont l'exécution permet le
chargement et le lancement d'un pgm plus important.

8) Quel est le principal avantage de l'exploitation à portes ouvertes ?


R) L'utilisateur pouvait interagir avec son pgm  Mise au point relativement facilitée.

9) Qu'est-ce qu'un superviseur d'E/S ?


R) C'est un ensemble de sous-pgms qui assure le contrôle de la bonne exécution des E/S
pour le compte des pgms des utilisateurs.

1
10) Qu'est-ce que le moniteur d'enchaînement des travaux ?
R) C'est un pgm spécifique activé automatiquement à la fin de l'exécution d'un job pour
lire, charger en mémoire centrale et lancer l'exécution du prochain job.

11) Citer les 3 concepts qui ont été introduit avec le moniteur d'enchaînement des
travaux.
R) a) Le langage de commande b) La protection des données et des instructions du
moniteur c) Le superviseur d'E/S.

12) Qu'est-ce que le débit des travaux ? R) Le nombre de travaux par unité de temps.
Qu'est-ce que le temps de réponse ? R) Le délai qui sépare le moment où l'utilisateur
donne son pgm et celui où il obtient le résultat.

13) Quels sont les avantages du traitement par lots ? R) – Le débit des travaux est
amélioré – Le temps de réponse est augmenté. Quels sont ses inconvénients ? R) – Le
processeur restait inutilisé pendant les opérations des E/S – Le temps d'attente des
résultats était trop long – Il n'y avait pas d'interaction avec l'utilisateur.

14) Quels sont les désavantages des E/S tamponnées ?


R) – La réservation de tampons d'E/S en mémoire centrale était une solution coûteuse.
- L'ajout et le retrait simultanés dans le tampon.

15) Que permet un mécanisme d'IT ?


R) Il permet à un dispositif extérieur d'arrêter momentanément le déroulement normal
d'un pgm pour exécuter un traitement spécifique.

16) Qu'est-ce que le SPOOL ?


R) SPOOL (Simultaneous Peripheral Operation On-Line) : Les jobs sont lus et stockés
sur disque au fur et à mesure de leur soumission aux opérateurs.

17) a) En quoi consiste la multiprogrammation ?


R) La multiprogrammation consiste à mettre plusieurs pgms en mémoire centrale au
même moment, de façon à pouvoir exécuter l'un d'entre eux pendant que les autres sont
en attente de la fin d'une E/S.
b) Quels sont les avantages de la multiprogrammation ?
R) - Augmentation du temps d'occupation du CPU : Lorsque le pgm en cours d'exécution
effectue une E/S, le système attribue le processeur à un autre pgm. – Le temps de réponse
d'un travail court diminue : Il n'est plus nécessaire d'attendre la fin de l'exécution de tous
les travaux précédents.
c) Quel est le principal inconvénient qui découle d'un abus de multiprogrammation ?
R) Gestion de trop de processus ; trop peu de ressources mémoire pour gérer tous les
processus  Dégradation des performances du système.

18) a) Qu'est-ce qu'un système multitâche ? R) C'est un système capable d'exécuter


plusieurs processus simultanément (système multiprocesseur) ou en pseudo-parallélisme
(systèmes à temps partagé).
b) Qu'est-ce qu'un système distribué ? R) C'est un système qui s'exécute sur un ensemble
de machines sans mémoire partagée, mais que pourtant l'utilisateur voit comme une seule
et unique machine.

2
19) Donner la classification des systèmes d'exploitation par grandes fonctions.
R) – SE pour serveurs;
- SE pour machines clientes;
- SE de réseaux;
- SE enfouis.

20) Qu'est-ce qu'une structure monolithique d'un SE ?


R) – Toutes les fonctionnalités sont regroupées dans un seul gros morceau de code – Pas
de structure bien définie.

21) Quelle différence y a-t-il entre compilateur et interpréteur ?


R) Voir le tableau comparatif du cours.

22) Décrire le principe de l'analyse lors de la 1ère phase d'un compilateur.


R) – Sachant où commence un symbole ;
- Rechercher où il se termine ;
- Chercher où commence le suivant.

23) Quel est le rôle de l'édition de liens ?


R) L'EDL est l'opération qui consiste à reconstituer le pgm complet à partir des modules
objets. Elle est réalisée par un pgm spécifique, appelé éditeurs de liens (relieur, linker ou
link editor).

24) Qu’est-ce qu’un processus ?


R)- Un processus est l’entité dynamique qui correspond à l’exécution d’une suite
d’instructions définie par un programme.
- Un processus est une abstraction utile pour décrire le déroulement des activités dans un
système multiprogrammé. Contrairement à la notion de programme, indiquant une suite
statique d’instructions, la notion de processus met l’accent sur l’aspect dynamique de
l’exécution. L’exécution d’un programme utilisateur est un processus. Le système
d’exploitation crée continuellement des processus.

25) Expliquer les 2 types de relations entre processus.


R) Compétition et coopération (voir cours).

26) Expliquez les différents états d’un processus, et ce qui provoque les transitions entre
ces états.
R) * Un processus peut être dans trois états :
- actif, le processeur travaille pour ce processus,
- prêt, il dispose de toutes les ressources dont il a besoin, à l’exception du
processeur,
- bloqué, il lui manque une ressource autre que le processeur pour s’exécuter.
* - Les transitions actif-prêt sont effectuées par l’allocateur du processeur.
- La transition actif vers bloqué est la conséquence d’une demande de ressource non
disponible.
- La transition bloquée vers actif est la conséquence de l’allocation des ressources
demandées (à l’exclusion du processeur).

3
27) La tâche la plus prioritaire est en train de s’exécuter sur une machine mono-
processeur. Est-il possible que des tâches moins prioritaires s’exécutent avant la fin de la
tâche la plus prioritaire ? Justifier votre réponse.
R) Oui, c'est possible puisqu’une tâche peut se bloquer (passer de l’état actif à l’état
bloqué) pour des raisons diverses (E/S, …). Lorsque la tâche prioritaire se bloque, le
processeur est alloué à une autre tâche, éventuellement moins prioritaire.

28) Quelle est la tâche de l’ordonnanceur (scheduler) dans un système d’exploitation ?


R) Si plusieurs processus sont prêts, l’ordonnanceur doit choisir le processus à exécuter
en utilisant un algorithme d’ordonnancement.

29) Quels sont les critères d’un bon algorithme d’ordonnancement ?


R) Un bon algorithme d’ordonnancement doit être capable :
a. De s’assurer que chaque processus reçoit sa part du temps processeur (équité);
b. D’utiliser le temps processeur à 100 % (efficacité);
c. De minimiser le temps de réponse pour les utilisateurs en mode interactif (temps
de réponse) ;
d. De minimiser l’attente des utilisateurs qui travaillent en traitement par lots (temps
d’exécution) ;
e. De maximiser le nombre de travaux effectués en une heure (rendement).

30) Expliquer le principe de l’ordonnancement circulaire.


R) Dans l’ordonnancement circulaire, chaque processus possède un intervalle de temps,
son quantum, pendant lequel il est autorisé à s’exécuter. Si un processus s’exécute
toujours au bout de son quantum, le processeur est réquisitionné et alloué à un autre
processus. Si, en revanche, le processus se bloque ou se termine avant la fin de son
quantum, le processeur est immédiatement alloué à un autre processus. L’ordonnanceur
doit mémoriser une liste des processus prêts. Lorsque son quantum est épuisé, le
processus en cours est mis à la fin de la liste.

31) A quel degré les algorithmes suivants favorisent-ils les processus tributaires de l’UC ?
a) FCFS b) SJF c) SRT d) Tourniquet.

R) * L’algo FCFS est le seul à favoriser les jobs tributaires de l’UC.


* Les travaux tributaires des E/S n’utilisent l’UC que très rapidement, en bloquant les E/S
et en libérant l’UC.
* Les travaux tributaires de l’UC attendront relativement peu pour obtenir l’UC et seront
en mesure d’en conserver le contrôle pendant de longues périodes de temps.
* Les algos SJF et SRT favorisent les travaux courts.
* De par son caractère non préemptif, l’algo SJF est plus favorable aux travaux tributaires
de l’UC que l’algo SRT.
* L’algo du tourniquet traite généralement tous les processus de la même manière.

32) Qu’est-ce qu’un processus coopératif ?


R) 1 processus est dit coopératif s’il peut affecter les autres processus en cours
d’exécution dans le système ou être affecté par eux.

33) Qu’est-ce qu’une section critique ?


4
R) Une section critique est la partie du programme où se produit le conflit d’accès.

34) Qu’est-ce qu’un conflit d’accès (race condition) ?


R) On parle d’un conflit d’accès lorsque deux processus ou plus, lisent ou écrivent des
données partagées et où le résultat dépend de l’ordonnancement des processus.

35) Quels sont les besoins d’un mécanisme de contrôle d’accès à une section critique ?
R) a) Exclusion mutuelle : 2 processus ne peuvent être en même temps en SC.
b) Déroulement : Aucun processus suspendu en dehors d’une SC ne doit bloquer les
autres processus.
c) Attente limitée : Aucun processus ne doit attendre longtemps avant d’entrer en SC.

36) Qu’est-ce que « l’attente active » & qu’est-ce que « l’attente passive » ?
R) – L’attente active est le terme par lequel on désigne le fait que des processus utilisent
du temps de calcul pour tester si 1 ressource dont ils ont besoin pour réaliser leurs tâches
est disponible.  Attente active signifie la présence d’1 boucle de scrutation.
- L’attente passive est le terme par lequel on désigne le fait que chaque processus
attendant 1 ressource est endormi par le SE jusqu’à ce que la libération de la ressource
attendue provoque 1 événement qui décide le SE à réveiller le processus et à lui attribuer
la ressource demandée.

37) Quelle est la différence entre attente active et blocage ?


R) - L’attente active c’est lorsqu’un processus teste continuellement une variable pour
détecter l’apparition d’une valeur.
- Le blocage c’est lorsqu’un processus est suspendu en attente d’une ressource ou son tour
pour passer à l’état élu.

38) Expliquer la notion de l’exclusion mutuelle ?


R)- Deux processus voulant accéder à une ressource critique sont en exclusion mutuelle :
l’un ou l’autre, mais pas les deux.
- L’exclusion mutuelle indique qu’une ressource n’est, à un instant donné, utilisée que par
un seul processus au plus.

39) Plusieurs approches du problème de la section critique existent :


a. les solutions purement logicielles (exemple : Peterson) ;
b. les solutions purement matérielles ;
c. les solutions mixtes basées sur des appels systèmes implémentés grâce aux
primitives matérielles (exemple : les sémaphores de Dijkstra).
Expliquer en quoi les deux premières solutions ne sont pas satisfaisantes pour un
système d’exploitation ?
R) Contrairement aux solutions basées sur des appels systèmes, les solutions purement
matérielles ou purement logicielles génèrent de l’attente active.

40) Comment se fait la programmation de l’exclusion mutuelle ?


R) exclusion mutuelle (section critique)
Début
Entrée ;
Section critique ;
Sortie
Fin
5
41) Donner 1 généralisation de la solution de l’alternance (qui assure l’exclusion
mutuelle) pour N processus.
R) Entree_SC(MonNumero)
Tque (tour <> MonNumero) faire fintque
Sortie_SC(MonNumero)
Tour  (MonNumero + 1) % N
// %N = Modulo

42) Quel est le rôle du gestionnaire de la mémoire dans un système d'exploitation?


R) Le gestionnaire de la mémoire doit :
- connaître l'état de la mémoire (les parties libres et occupées de la mémoire) ;
- allouer de la mémoire à un processus avant son exécution ;
- récupérer l'espace alloué à un processus lorsque celui-ci se termine ;
- traiter le va-et-vient (swapping) entre le disque et la mémoire principale lorsque cette
dernière ne peut pas contenir tous les processus.
- posséder un mécanisme de calcul de l'adresse physique (absolue) car, en général, les
adresses générées par les compilateurs et les éditeurs de liens sont des adresses relatives
ou virtuelles.

43) - Quel est le problème qui peut se produire avec les files d'attente multiples, dans un
système multiprogrammé avec des partitions fixes sans va-et-vient ?
- Quel est la solution pour ce problème ?
R) - Avec les files multiples, chaque nouveau processus est placé dans la file d’attente de
la plus petite partition qui peut le contenir. L’espace inutilisé dans une partition allouée à
un processus est perdu (fragmentation interne). La situation suivante peut se produire :
Des processus en attente alors qu’il y a des partitions vides.
- Solution : Utilisation d’une seule file d’attente. Les processus sont placés dans une file
d’attente jusqu’à ce qu’une partition se libère. Lorsqu’une partition se libère, il faut
choisir dans la file d’entrée le prochain processus à charger dans la partition. Le
processus chargé résidera en mémoire jusqu’à ce qu’il se termine (pas de va-et-vient).

44) - Expliquer la solution aux problèmes de translation d’adresse et de protection par


utilisation des registres de base et limite.
- Quel est l'avantage de cette solution ?
R) - Pour éviter la translation d'adresse au cours du chargement d'un processus, une autre
solution consiste à doter la machine de 2 registres matériels spéciaux :Le registre de base
et le registre limite. Quand on lance un processus, on charge dans le registre de base la
limite inférieure de la partition qui lui est attribué (adresse absolue du début de la
partition) et dans le registre limite la longueur de la partition. Pendant l'exécution d'une
instruction, les adresses relatives référencées par l'instruction sont translatées en adresses
physiques en ajoutant le contenu du registre de base à chaque adresse mémoire
référencée, on vérifie ensuite que les adresses ne dépassent pas le registre de limite afin
d'interdire tout accès en dehors de la partition courante.
- Un important avantage du registre de base : les programmes peuvent être déplacés en
mémoire après le début de leur exécution, il suffit pour cela de changer la valeur du
registre de base (et éventuellement celle du registre limite).

45) Dans un système multiprogrammé avec partitions variables et va-et-vient,


l’allocation est simple si les processus ont une taille fixe qu’ils ne modifient jamais. Par
6
contre, si les tailles des segments de données des processus peuvent varier (allocation
dynamique), on a des difficultés dès qu’un processus demande de la mémoire. Quelles
sont les différentes solutions pour surmonter ces difficultés ?
R) - S’il existe un espace libre adjacent au processus, ce dernier pourra occuper cet
espace mémoire.
- Si cela n’est pas le cas, il faut soit le déplacer dans un emplacement plus grand qui peut
le contenir, soit déplacer un ou plusieurs processus sur le disque pour créer un
emplacement de taille suffisante.
- Si la mémoire est saturée et si l’espace de va-et-vient sur le disque ne peut plus contenir
de nouveaux processus, il faut tuer le processus qui a demandé de la mémoire.
- La taille des processus augmente en général au cours de leur exécution. On peut donc
allouer à chaque processus déplacé ou recopié à partir du disque un peu plus de mémoire
qu’il ne demande afin de réduire le temps système perdu pour cette gestion. Il faut
cependant recopier sur disque uniquement la mémoire réellement utilisée par le
processus.

46) - Expliquer le principe de la gestion de la mémoire par table de bits.


- Quel est l'inconvénient de cette méthode ?
R) - La mémoire est divisée en unités d’allocation dont la taille peut varier de quelques
mots à plusieurs k octets. A chaque unité, on fait correspondre un bit dans la table des bits
qui est à 0, si l’unité est libre et à 1 si elle est occupée. Plus l’unité d’allocation est faible
plus la table de bits est importante. En augmentant la taille de l’unité d’allocation, on
réduit la taille de table des bits mais on perd beaucoup de place mémoire (fragmentation
interne).
- Inconvénient : Lorsqu’on doit ramener un processus de k unités. Le gestionnaire de la
mémoire doit alors parcourir la table des bits à la recherche de k zéros consécutifs. La
recherche est donc lente et cette méthode est rarement utilisée.

47) Comment se fait l’allocation de l’espace de va-et-vient ?


R) - Le va-et-vient est mis en œuvre lorsque tous les processus ne peuvent pas tenir
simultanément en mémoire. On doit alors en déplacer temporairement certains sur une
mémoire provisoire, en général, une partie réservée du disque (mémoire de réserve, swap
area ou backing store).
- Sur le disque, la zone de va-et-vient d'un processus peut être allouée à la demande dans
la zone de va-et-vient générale (swap area).
- Quand un processus est déchargé de la mémoire centrale, on lui recherche une place.
Les places de va-et-vient sont gérées de la même manière que la mémoire centrale.
- La zone de va-et-vient d'un processus peut aussi être allouée une fois pour toute au
début de l'exécution. Lors du déchargement, le processus est sûr d'avoir une zone d'attente
libre sur le disque.

48) - Quel est le problème posé par les systèmes à partitions variables avec va-et-vient ?
- Expliquer le principe de la solution des overlays.
R) - Le système de va-et-vient, s’il permet de pallier le manque de mémoire nécessaire à
plusieurs processus, n’autorise cependant pas l’exécution de programmes de taille
supérieure à celle de la mémoire centrale.
- Une solution consiste à permettre à l’utilisateur de diviser son programme en segments
(segments de recouvrement ou Overlays) et à charger un segment en mémoire. Le
segment 0 s’exécute en premier. Lorsqu’il se termine, il appelle un autre segment de
recouvrement. Cette solution n’est pas intéressante, car c’est le programmeur qui doit se
charger du découpage de son programme en segments de recouvrement.
7