JTC 2024 La relance de la filière de la viande de chevreau.pdf
ExamSessionPrincipale2014SE_ENICARTHAGE.pdf
1. Ecole Supérieure de Technologie
et d’Informatique
***
EXAMEN DE LA SESSION PRINCIPALE
SYSTEME D’EXPLOITATION
Mai 2014
1ère
année Ingénieur
***
1. Compléter le tableau suivant :
Table Structure Utilité
Table de bits
Table de pages
Table de processus
2. Compléter le tableau suivant :
Terme SE correspondant Utilité
Cluster
Clock
i-node
Jiffies
Page | 1
Exercice 1 : Questions de cours 4pts, 10 min
Enseignantes
Formation
Niveau / Groupes
Documents
Calculatrice
Nombre de pages
Durée
Barème
:
:
:
:
:
:
:
:
Ingénieur Informatique
1ère
année/ A, B, C, D, E et F
Non Autorisés
Non Autorisée
6
1 h 30 min
4; 4; 5 ; 5 ; 2;
Nom : ……………………………………………………..
Prénom : ……………………………………………………..
C.I.N : ……………………………………………………..
Section : ……………………………………………………..
Salle : ……………………………………………………..
Identifiant secret
2. Page | 2
On considère un système disposant d’une mémoire centrale de taille 12KO initialement libre. On
suppose que la mémoire est paginée avec des pages de taille 4K et que l’algorithme de remplacement
de page adopté est OPT. Au cours de l'exécution d’un processus de taille 18KO, on suppose avoir
dans l’ordre les dix référencements suivants :
0, 1, 2, 3, 2, 1, 3, 0, 2, 1
On vous demande de :
1. Déterminer le type et la valeur de la fragmentation.
)
2. Dresser l’évolution de la mémoire centrale et de la table de pages
Réf 0 1 2 3 2 1 3 0 2 1
Cadre0
Cadre1
Cadre2
Défaut
de page
Pages
0
1
2
3
4
NE RIEN ECRIRE ICI
Exercice 2 : Pagination 4 pts, 15 min
3. Page | 3
On considère un système disposant des informations suivantes :
Processus Date d’arrivée Références aux pages Taille Temps CPU
A 0 1; 0 10 KØ 4 ms (2; 2)
B 1 0; 1 14 KØ 4 ms (2; 2)
C 3 0; 1; 2; 3 30 KØ 5 ms (2; 1; 1; 1)
Le système utilise les hypothèses suivantes :
La mémoire centrale comporte trois cadres (initialement libres).
L'utilisation de la technique de pagination avec la taille d'une page est de 8 KØ.
La pagination est à la demande (la page n'est chargée en RAM que ssi elle est demandée).
Le remplacement de pages se base sur l'algorithme LRU.
Tant qu'une page est utilisée par le processeur, elle reste en RAM.
Si un processus termine son exécution alors ses pages sont retirées du système.
L’ordonnancement sur le processeur se fait selon la stratégie RR avec Q=2.
1. Déterminer le nombre de bits nécessaires pour représenter un déplacement.
2. Déterminer le nombre de bits nécessaires pour représenter le numéro d’un cadre.
3. En déduire la taille d’une adresse physique.
4. Dresser l'évolution de l'état de processeur et de l’état de la RAM aux différentes étapes de
Processeur
temps
Actif
Prêt
Bloqué
1A 1A 0B 0B 0A 0A 0C 0C 1B 1B 1C 2C 3C
RAM SE SE SE SE SE SE SE SE SE SE SE SE SE SE SE SE SE SE SE
Cadre 0 1A 1A 1A 1A 1A 1A 0C 0C 0C 0C 0C 0C 3C
Cadre 1 0B 0B 0B 0B 0B 0B 0B 0B 1C 1C 1C
Cadre 2 0A 0A 1B 1B 2C 2C
Exercice 3 : Ordonnancement des processus et gestion de la mémoire 5 pts, 25 min
4. Page | 4
traitement de ces processus.
Deux villes A et B sont reliées par une seule voie de chemin de fer. Les trains circulant sur cette voie
peuvent être classés en deux groupes:
les trains allant de A vers B (Train AversB)
les trains allant de B vers A (Train BversA).
Sur cette voie, la gestion de la traversée se passe comme suit :
Chaque train d’un groupe donné demande l’accès à la voie dans un sens qui lui est défini (de A vers B
ou de B vers A). Si la voie n’est pas occupée par des trains de l’autre groupe l’autorisation de passage
est permise. Une fois que ce train ait l’autorisation de passage alors il signale l’autorisation de
traverser la voie au train suivant en attente et du même groupe, s’il y en a bien sûr, et ainsi de suite
jusqu’au dernier train qui donnera, cette fois-ci, l’autorisation de passage à l’autre groupe bloqué s’il y
en a.
On se propose de gérer la circulation sur la voie, pour ce faire on suppose que chaque train fait appel à
des fonctions qui peuvent se décrire, selon son groupe, comme suit :
Train AversB :
Demande_voie_AversB( ) ;
Circulation sur la voie de A vers B;
Sortie_voie_par_B( );
Train BversA :
Demande_voie_BversA( ) ;
Circulation sur la voie de B vers A;
Sortie_voie_par_A( );
Ville A ⬟ ⬟ Ville B
1. Préciser la ressource critique dans ce problème.
2. Préciser le rôle de chacune des deux principales fonctions (Demande… et Sortie…) de chaque
groupe.
Exercice 4 : Section Critique 5 pts, 25 min
5. 3. En quoi ce problème diffère de celui de lecteurs/rédacteur ?
On se propose de résoudre le problème en utilisant les sémaphores.
int NbAB = 0 ; // donne le nombre de trains traversant la voie de A vers B
int NbBA = 0 ; // donne le nombre de trains traversant la voie de B vers A
semaphore S1, S2, M1, M2 ;
Sem_Init (S1, 1); // pour permettre que des trains de sens contraire ne s'engagent pas dans la voie en
même temps
Sem_Init (S2, 1); // pour protéger la ressource critique
Sem_Init (M1, 1); // pour protéger la mise à jour en exclusion mutuelle de la variable partagée NbAB
Sem_Init (M2, 1); // pour protéger la mise à jour en exclusion mutuelle de la variable partagée NbBA
Demande_voie_AversB ( )
{
}
Page | 5
NE RIEN ECRIRE ICI
Identifiant secret
7. 7
P1
P2 P3
Exercice 5 : Synchronisation des processus 2 pts, 5 min
Voici le graphe de précédence de quatre processus P1, P2, P3 et P4 :
Proposer une solution, à l’aide de sémaphores, pour
synchroniser ces processus tels présentés dans le graphe.
Chaque procédure Ai représente l’action du processus Pi.
P1( )
{
A1( );
}
P2( )
{
A2( );
}
P3( )
{
A3( );
}
P4
P4( )
{
A4()
}