Vous êtes sur la page 1sur 6

Université de Carthage

Institut National des Sciences


Appliquées et de Technologie
————
Département du Génie
Informatique et Mathématiques

TD No 1 : Concepts de base
Niveau : GL2, RT2 et IIA2 Année universitaire : 2014-2015

1. Quel est le rôle du système d’exploitation ?


• Joue le rôle d'un intermédiaire entre l'utilisateur et la machine
• Gère les ressources de l'ordinateur (processus, mémoire, fichiers…) de
manière efficace.
2. Qu’est ce qu’un système multiprogrammé ? Un système de traitement par lots ?
Un système en temps partagé ?
• Système de traitement par lots (Batch processing):
o Exécution des jobs de manière séquentielle et automatique, sans
intervention de l'utilisateur
o Utilisation d'une queue (ou file) d'exécution
• Système multiprogrammé
o Plusieurs programmes sont en mémoire
o Exécution d'un autre programme quand le premier attend une E/S
• Système en temps partagé
o Possibilité d'interagir avec plusieurs utilisateurs
o Exécution de chaque programme pendant un temps limité (quelques
milli-secondes), puis transition vers un autre programme
o Pseudo-parallélisme, plusieurs usagers desservis, sans délais notables

3. La conception d’un système d’exploitation est basée sur une structure à couches.
Elle consiste à le découper en un certain nombre de couches (niveaux), chacune
d’entre elles étant construite au dessus des couches inférieures.
a. Enumérez ces différentes couches en précisant le rôle de chacune.
• Gestion des Fichiers
• Gestion des périphériques
• Gestion des processus
• Gestion de la mémoire

b. Pour le modèle en couche, pourquoi est-ce que la couche « Gestion des


Fichiers » se trouve-t-elle sous la couche « Applications »?

• Parce que les applications agissent directement sur le système de fichiers, qui
doit donc être géré en premier par le SE.
c. Les interpréteurs de commandes et les compilateurs font-ils parties du
système d’exploitation ?
4. Quels sont les deux modes de fonctionnement des processeurs ?

• Mode superviseur/moniteur/privilégié / noyau:


o Mode d'exécution propre au système d'exploitation, lui permettant de
réaliser des opérations critiques (appelées instructions privilégiées)
que l'utilisateur normal n'a pas le droit de faire.
• Mode usager (utilisateur):
o Mode d'exécution des programmes ou applications utilisateur, c'est un
mode non-privilégié dans lequel l'exécution de certaines instructions
est interdite.
a. Qu’est ce qu’un appel système ? Citez quelques exemples et décrivez
son principe d’exécution

• Quand un processus usager a besoin d’un service du SE, par ex. E/S, il
exécute un appel du système
• C’est une instruction qui cause une interruption (trap) et changement de mode
(mode superviseur)
• Est associée à des paramètres qui indiquent le type de service désiré
• Le S/E prend la relève et exécute le service, il retourne puis au processus
appelant avec des params qui indiquent le type de résultat
• changement de mode (mode usager)

Exemples d'appels système : open, read, write et close qui permettent les
manipulations sur les systèmes de fichiers ;

b. Expliquer la différence entre l’interruption et le déroutement.

• Interruption : arrêt temporaire de l'exécution normale d'un processus,


provoqué par des causes externes au programme
• Déroutement : arrêt de l'exécution d'un processus, provoqué par une
condition exceptionnelle (ou exception) dans le programme

5. En utilisant le diagramme des états d’un processus, expliquez chacune des


transitions de ce diagramme en précisant, avec exactitude, le ou les événements
propres à chaque transition.
6. Qu’est ce qu’une commutation de contexte ?

Commutation de contexte (ou context switch) : consiste à sauvegarder l'état d'un


processus (PCB : Process Control Block) pour restaurer à la place celui d'un autre dans
le cadre de l'ordonnancement d'un système d'exploitation multitâche.

7. On vous propose la structure suivante d’un PCB. Parmi toutes les informations
contenues dans cette structure, précisez, en justifiant vos réponses, quelles sont celles
qui sont statiques et celles qui sont dynamiques.

Numéro Processus Statique


Etat Processus Dynamique
Limites mémoire centrale Dynamique
Registres Processeur Dynamique
Liste Fichiers Ouverts Dynamique
Compteur Ordinal Dynamique
Adresse sur Disque Statique

Pointeur Dynamique
9. Soit un programme P qui occupe sur le disque 1 bloc (Bloc 7). Ce programme a été
chargé en MC pour exécution. Avant la terminaison de ce programme, le système
décide de le suspendre et de le décharger momentanément sur disque (swap out).

a) Que doit sauvegarder le système pour reprendre l’exécution du programme


P ? L'adresse de la dernière instruction exécutée
b) Où doit se faire cette sauvegarde ? Dans le PCB du processus
c) Sachant que le programme P occupait un seul bloc sur disque, peut-il au
moment de son déchargement avoir besoin de plus d’un bloc ? Justifiez
votre réponse. Oui si la taille du PCB a augmenté.

10. Dans Un système d’exploitation interactif tel qu’Unix, rappelez précisément


pourquoi un processus exécutant une boucle infinie ne monopolise pas pour autant
le processeur s’il existe d’autres processus prêts dans le système? Expliquez le rôle de
l’ordonnanceur ?

Le système d'exploitation exécute les différents processus en temps partagé, c'est à


dire qu'il alloue un temps d'exécution fixe à chacun des processus. Au bout de ce
temps, et si le processus n'a pas terminé son exécution ou s'il n'est pas bloqué, il est
suspendu pour laisser la place à un autre processus. Le choix du processus à élire,
l'ordre de préemption et la gestion de l'exécution des processus sont réalisés par
l'ordonnanceur.

L'ordonnanceur (scheduler) est le programme du système d'exploitation qui contrôle


et pilote l'exécution des autres programmes.

Vous aimerez peut-être aussi