You are on page 1of 5

1) L’inconvénient de la solution à l’exclusion mutuelle basée sur l’alternance stricte

est qu’elle ne respecte la condition la condition suivante :

C- Aucun processus s'exécutant à l’extérieur de sa section critique ne doit bloquer


d’autres processus

2) Dans un système multiprogrammé les programmes s’exécutent tous en parallèle

A- Vrai

3) Lorsque les interruptions sont masqués le processeur peut recevoir des ordres de
basculement

B- Faux

4) L’inconvénient de la solution à l’exclusion mutuelle basée sur le masquage des


interruptions est qu’elle ne respecte la condition suivante :
B- Deux processus ne doivent pas se trouver simultanément dans leurs sections
critiques
5) L’inconvénient de la solution à l’exclusion mutuelle basée sur l’utilisation de la
variable de verrou est qu’elle ne respecte la condition suivante :

A- Deux processus ne doivent pas se trouver simultanément dans leurs sections


critiques

6) Un processus passe de l’état « prêt » l’état « bloqué » lorsque :


B- Le processus est en attente d’une donnée
7) L’opération P (sémaphore) :

A- Décrémente le compteur du sémaphore


8) Lorsque le compteur du sémaphore est = 0, l’opération P (sémaphore) :
A- Met le processus dans une file d’attente

9) Le processeur et la mémoire vive s’échangent les données à travers :

B- Les Bus de données

10) Le bus d’adresse est un ensemble de fils conducteurs :

B- Unidirectionnel

PARTIE 2 : Questions de cours


Série 1 : la mémoire et le processus
Répondez aux questions de façon précise et concise
1) Quel rôle joue la mémoire dans un ordinateur ?
La mémoire dans un ordinateur sert à stocker temporairement les données et les programmes
nécessaires au bon fonctionnement de l’ordinateur, en permettant au processeur d’y accéder
rapidement ;
2) Quels sont les types de mémoires que vous connaissez ? Donnez pour chacune les
caractéristiques principales

-la mémoire principale ou mémoire vive :


● En cas d’absence de mémoire, on ne peut rien faire, tout résultat calculé sera
automatiquement oublié.
● Le temps d’accès à une information dans la mémoire est très faible (plus rapide
que les mémoire de masse).
● Cette rapidité est essentielle pour fournir plus rapidement les données au
processeur
● Elle est volatile. En cas de perte d’alimentation électrique, les informations
présentes en mémoire sont perdues

-la mémoire de masse :


● Elles sont non volatiles, c’est-à-dire elles conservent les informations
enregistrées même à l’absence d’alimentation électrique.
● Elles ont un temps d’accès à l’information plus lent que la mémoire vive ;

-La mémoire en lecture seule ou ROM (Read Only Memory) :


● Conserve les informations en l’absence de courant.
○ Elle est donc utile au démarrage de l’ordinateur.
○ En effet, la mémoire vive est vide et le disque dur est inaccessible lors
du démarrage d’un ordinateur.
○ L’ordinateur ne peut donc compter que sur la mémoire morte pour lui
fournir les informations de configuration nécessaires au démarrage.
-La mémoire cache :
● Mémoire de petite taille intercalée entre le processeur et la mémoire principale.
● Dans cette mémoire, sont stockées les informations normalement en mémoire
principale dont le processeur se sert très souvent.

3) Le processeur désire lire le contenu d’une zone en mémoire principale. Décrire de


façon détaillée le processus d’échange effectué entre la CPU et la RAM
● Les informations échangées entre la mémoire et le processeur circulent sous
forme de signaux électriques à travers un système de câblage appelé bus: les
bus de données et le bus d’adresse.

1. La CPU envoie l'adresse mémoire cible via le bus d'adresse.


2. La RAM reçoit l'adresse mémoire et la décode pour localiser la zone de
mémoire souhaitée.

3. Les données correspondantes sont extraites de la mémoire et transmises


à la CPU via le bus de données.

4. La CPU stocke ces données dans ses registres internes via le bus de
données.

5. La CPU traite les données lues pour exécuter l'instruction requise.

Ce processus assure que la CPU peut accéder efficacement aux données en mémoire
principale en utilisant les bus d'adresse pour localiser les données et les bus de données pour
effectuer le transfert.

4) Quelle est la différence entre un processeur et un microprocesseur ?


● Processeur : Il est parfois appelé CPU (de l’anglais Central Processing
Unit). Le terme "processeur" est un terme générique qui désigne l'unité
centrale de traitement d'un ordinateur, responsable de l'exécution des
instructions et du traitement des données.
● Microprocesseur MPU (Micro-Processing Unit) :Un microprocesseur n’est
rien d’autre qu’un processeur dont les composants ont été suffisamment
miniaturisés pour que l’ensemble puisse tenir en un seul circuit intégré.

5) Qu’est-ce qu’un régistre ? Quel est le rôle du régistre accumulateur ? du


compteur ordinal ?
Régistre Définition : Les régistres sont des petites mémoires (8, 16 ou 32 bits) très
rapides internes au processeur et sont utilisées pour stocker temporairement une
donnée, une instruction ou une adresse.
Rôle du régistre accumulateur : le registre accumulateur est utilisé pour stocker les
résultats des opérations arithmétiques et logiques.
Compteur Ordinal : Pointeur sur l'adresse de la prochaine instruction à exécuter pour
ce processus.
Série 2 : le système d’exploitation
Répondez aux questions ci-dessous de façon précise et concise
-Processus-Thread-Programme
1) Comment définissez-vous au mieux un système d’exploitation ?
En somme, le système d’exploitation peut-être vu comme « un maître d’orchestre » qui gère
de manière équitable et optimale l’allocation de la mémoire, du processeur et des
périphériques d’E/S aux différents programmes concurrents qui les sollicitent. Un système
d'exploitation gère la communication entre périphériques via leurs pilotes respectifs.
2) Quelle différence y’a-t-il entre un thread et un processus ?
Threads : Les threads sont des entités planifiées pour leur exécution par le processeur. Ils
représentent en réalité les programmes en activité là où les processus servent à regrouper les
ressources. Ayant certaines propriétés des processus, ils sont parfois qualifiés de processus
légers (lightweight processes). En résumé un thread est une unité d'exécution plus légère qui
partage la mémoire d'un processus.
Processus : De façon schématique, un processus est un programme en cours d’exécution.
Lorsque nous lançons l'exécution d'un programme, il devient un processus qui exécute toutes
les tâches mentionnées dans le programme. En résumé, un processus est une entité
indépendante avec son propre espace mémoire
3) Quelle différence il y’a-t-il entre un processus et un programme ?
Programme : Un programme est un ensemble d'instructions informatiques .Il s'agit d'un
fichier binaire ou de code source qui définit une séquence d'opérations à effectuer. Un
programme ne s'exécute pas par lui-même ; il doit être chargé en mémoire et exécuté par un
processeur. Plusieurs processus peuvent être créés à partir du même programme en cours
d'exécution.
Processus : un processus est une activité. Il inclut un programme, une entrée, une sortie et un
état. C’est un programme en cours d’exécution. Cela signifie que le programme a été chargé
en mémoire et s'exécute actuellement.
4) Qu’est-ce qu’un PCB ? Quelle est son importance dans la gestion des processus ?
PCB Définition :C’est une structure de données gérée par le système d'exploitation pour
chaque processus. Il est identifié par un ID de processus entier (PID).
Rôle : Il conserve toutes les informations nécessaires pour suivre un processus (son état, son
compteur ordinal, son pointeur de pile, …). Il enregistre également toutes les informations
relatives au processus lorsqu’il bascule de l’état en exécution vers les états Prêt ou Bloqué.
5) Quels sont les différents états d’un processus ? Décrivez-les et expliquez les transitions
possibles.
En général, un processus peut avoir l'un des cinq états suivants à la fois : Créé (Started), Prêt
(Ready), En exécution (Running) , Bloqué (Waiting), Terminé (Terminated).
● Créé(Started) : C'est l'état initial lorsqu'un processus est démarré / créé pour la
première fois.
● Prêt (Ready): Le processus attend d'être affecté à un processeur. Les processus prêts
attendent que le processeur leur soit alloué par le SE (son ordonnanceur) pour pouvoir
s'exécuter. Le processus peut entrer dans cet état après le démarrage ou lors de son
exécution, interrompu par le planificateur pour affecter le processeur à un autre
processus.
● En exécution (Running) : Une fois que le processus a été affecté à un processeur par
l’ordonnanceur du SE, l'état du processus est configuré pour s'exécuter et le processeur
exécute ses instructions.
● Bloqué (Waiting) : Le processus passe à l'état bloqué s'il doit attendre une ressource,
par exemple en attente d'une entrée utilisateur ou en attente de la disponibilité d'un
fichier.
● Terminé (Terminated) : Une fois que le processus a terminé son exécution ou qu'il
est arrêté par le système d'exploitation, il passe à l'état terminé où il attend d'être
supprimé de la mémoire principale.
Les transitions possibles pour un processus commencent par l'état "Créé," où un processus est
initialisé. Il passe ensuite à l'état "Prêt" une fois prêt à être exécuté. De là, il peut passer à
l'état Exécution lorsqu'il obtient le CPU. En cours d'exécution, il peut retourner à "Prêt"
lorsque le CPU est partagé ou passer à "Bloqué" s'il attend des ressources. Lorsque le travail
est terminé, le processus passe à l'état "Terminé" et ne peut pas être exécuté.
6) Quelle différence faites-vous entre la « section critique » et la « zone partagée » ?
Section Critique : C’est la partie du programme à partir de laquelle on accède à la mémoire
partagée.
Zone partagée : La "zone partagée" fait référence à l'ensemble des ressources, des données
ou de la mémoire partagée par plusieurs processus ou threads dans un système. Contrairement
à la "section critique", la "zone partagée" est plus large et englobe l'ensemble des ressources
partagées dans un système.
7) En quoi consiste l’attente active ?
L'attente active est une technique où un processus, thread ou programme surveille
régulièrement l'état d'une condition ou d'une ressource en effectuant des vérifications répétées
au lieu d'attendre passivement une notification ou un événement.
8) En quoi consiste l’ « exclusion mutuelle » ?
L’exclusion mutuelle est une méthode qui permet de s’assurer que si un processus utilise une
ressource (fichier ou variable), les autres processus seront automatiquement exclus de la
même activité.
9) Quelles peuvent-être les conséquences du non-respect de l' exclusion mutuelle dans un
système multiprogrammé ?
Le non-respect de l'exclusion mutuelle dans un système multiprogrammé peut entraîner des
conséquences graves, notamment des incohérences de données, des conflits, des
interblocages, des pertes de données, des plantages du système, et des performances
médiocres. Cela peut compromettre la fiabilité et la stabilité du système.
10) Décrivez le principe du « sommeil/ activation »
Lorsqu'un processus ou un thread souhaite accéder à une ressource partagée mais trouve cette
ressource déjà occupée, il entre dans un état de "sommeil" (attente) au lieu de rester actif et de
monopoliser le processeur. Lorsque la ressource devient disponible, le processus ou le thread
est "activé" pour reprendre son travail.

You might also like