You are on page 1of 4

D´epartement R´eseau et T´el´ecom - 1`ere Ann´ee- TD 2

Architecture des ordinateurs

TD 2: Architecture des ordinateurs
Damien Martin-Guillerez
IUT de Saint-Malo
9 Janvier 2008

1 OS
I Question 1 Quelles est la diff´erence entre un syst`eme batch et un syst`eme en temps partag´e ?
I Question 2 Quelles est la diff´erence entre un programme et un processus ?
I Question 3 Qu’est-ce que le bloc de contexte ?
I Question 4 Quelles sont les diff´erentes zones m´emoires associ´ees `
a un processus ? Quelle est la
fonction de chacune d’entre elles ?
I Question 5 Qu’est-ce qu’un thread ?
I Question 6 Quelles sont les zones m´emoires partag´ees entre les threads d’une mˆeme tˆ
ache, et celles
qui ne le sont pas ?
I Question 7 Soit une ressource multiple compos´ee de 3 lecteurs/graveurs de CD, et un programme
de duplication de CDs. Ce programme n´ecessite l’utilisation de 2 lecteurs/graveurs pour pouvoir fonctionner. Le programme peut se r´esumer au pseudo-code suivant :
a. Lgr1 ← getLecteurGraveur() ; // demande de r´eservation du premier lecteur/graveur
b. Lgr2 ← getLecteurGraveur() ; // demande de r´eservation du second lecteur/graveur
c. copie(Lgr1, Lgr2) ; // copie du contenu du lecteur/graveur Lgr1 vers Lgr2
d. f ree(Lgr1); // lib´eration du premier lecteur/graveur
e. f ree(Lgr2); // lib´eration du second lecteur/graveur
Expliquer le probl`eme qu’il risque de se produire si plusieurs processus de ce programme s’ex´ecutent
en mˆeme temps. O`
u est la section critique de ce programme ? Qu’elle doit ˆetre la condition d’entr´ee
dans cette section critique ?

2 Gestion m´
emoire
I Question 8 Soit un espace m´emoire de 800Mo g´er´e par un syst`eme de gestion m´emoire `
a partitions.
Supposons que 6 processus de 100Mo soient ex´ecut´es, et que les processus 2 et 4 se terminent.
- Quelle est alors la m´emoire disponible ?
- Un programme de 300Mo peut-il s’ex´ecuter ?
- Comment rem´edier `
a ce probl`eme ?
I Question 9 Un syst`eme utilise des adresses virtuelles sur 48 bits et des adresses physiques sur 32
bits. Les pages font 8ko (les mots m´emoires sont de 1 octet).
- Combien y a-t-il d’entr´ees dans la table des pages ?
1

000C2330h 6.1`ere Ann´ee. 00040000h 7. 000B3240h 5. 00030320h 2 . 00055554h 3. 000A2240h 4.D´epartement R´eseau et T´el´ecom . 00050560h 8. 00080020h 10.TD 2 Architecture des ordinateurs .Quelle solution proposez-vous pour r´eduire la taille de la table ? I Question 10 Voici le sch´ema du d´ebut d’une table des pages (pages de 64ko) d’un processus : Num´ero de page 0 1 2 3 4 5 6 7 8 9 A B C D E F Acc`es RWX RX RW R – RX R – – X RW – – – R – Adresse physique 12340000 12350000 12360000 10000000 Absente 44440000 20000000 Absente Absente 40000000 43210000 Absente Absente Absente 43220000 Absente Traduisez les adresses suivantes (en donnant l’erreur s’il y en a une et le type d’acc`es) : 1. 00070220h 9. 00001232h 2.

..Pile (LIFO) : stocke les variables temporaires (variables locales.Code : contient le programme ` a ex´ecuter . param`etres de fonctions. registres I Question 7 Section critique (section ininterruptible) : a-b Condition d’entr´ee : il doit rester au moins 2 lecteurs graveurs disponibles.Non partag´es : Pile. I Question 4 .Non car le plus grand espace contig¨ ue est de 200Mo .Donn´ees statiques : stocke les variables statiques (espace m´emoire connu `a la compilation) . 1 .SP. . I Question 6 .). I Question 8 . I Question 5 C’est un processus “all´eg´e”. ´etat. dont la conception est `a la charge du programmeur. table des pages.. Il reste 48-13=35 bits..Registres : “contexte de l’ex´ecution du processus” : CO. dans laquelle le syst`eme d’exploitation m´emorise les informations utiles ` a la gestion du processus (identifiant. code .Fragmentation → Syst`emes ` a pagination I Question 9 . I Question 3 Structure de donn´ees associ´ee `a chaque processus. registres. etc.) . qui permet un parall´elisme efficace grˆ ace ` a un partage des ressources d’une mˆeme tˆache. emplacement et taille de la pile. donn´ees statiques.Tas : utilis´e pour les variables allou´ees dynamiquement (malloc) .Faire une table des pages ` a 2 niveaux : par ex Un champ de 17 bits pour le premier niveau (table de taille 21 7). I Question 2 Un programme est statique alors qu’un processus est dynamique.TD2: Architecture des ordinateurs– Correction TD2: Architecture des ordinateurs– Correction Damien Martin-Guillerez IUT de Saint-Malo 9 Janvier 2008 1 Un corrig´ e I Question 1 Un syst`eme batch doit attendre la fin d’une tˆache avant d’en commencer une autre alors qu’un syst`eme en temps partag´e partage le temps processeur en changeant de contexte lors des entr´ees/sorties ou ` a la fin d’un quantum de temps.Pages de 8ko → 23 ∗21 0 = 21 3 mots. Un processus est un “programme en cours d’ex´ecution”.Partag´es : tas. Le nombre de pages est donc de 23 5 = 32 Giga pages ! . Et un champ de 18 bits pour le deuxi`eme niveau (21 7 tables de taille 21 8). m´emoire allou´ee...400Mo . les E/S utilis´ees.

Faute de page 5.TD2: Architecture des ordinateurs– Correction I Question 10 1. Faute de page 7. 44440560h . 43212240h .RX 3. 10000320h . Faute de page 10. Faute de page 6. Faute de page 9.RX 8.RWX 2. 44445554h .RW 4. 12341232h .R 2 .