Gestion Des Processus Et Des Ressources Par Un Système D'exploitation

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 7

Term NSI Gestion des processus et des ressources par un système d’exploitation

AD : Gestion des processus et des ressources par un


système d’exploitation
Extrait de pixees, Ouvrage Ellipses et Nathan, vidéo formation ICN
Ex1 : Appliquer la méthode du tourniquet, le plus court d’abord puis FIFO au 3 process,
au 3 process ci-dessous, hypothèse : chaque instruction à la même durée d’exécution

Exécution le microprocesseur

Process1 Exécution le microprocesseur

Instruction 1 Tourniquet Le plus court d’abord FIFO

Instruction 2

Instruction 3

Instruction 4

Instruction5

Instruction6

Process2

Instruction 1

Instruction 2

Instruction 3

Process3

Instruction 1

Instruction 2

Instruction 3

Instruction 4

Instruction 5

2- Document1 1/7
Ex2 : Schématiser l’ordonnancement des tâches d’impression soumît par des ordinateurs
d’un réseau local sur une imprimante connectée et partagée sur un réseau

Liste d’impression P1
P1-fichier_1 10h55 Liste d’impression F3
P1-fichier_2 11h55 F3-fichier_1 10h51

Liste d’impression F2
F2-fichier_1 11h01

Liste d’impression P2
P2-fichier_1 10h54
P2-fichier_2 11h56
P2-fichier_3 11h57

Ex3 : Écrire en python, un programme correspondant aux l’ordonnancement effectué


dans l’exercice 1
Pour la modélisation des 3 processus, nous créons une structure de données adaptées : les
processus seront stockés dans une liste ( liste_processus ), chaque élément de
liste_processus (liste_processus[i_processus]) est la liste des instructions du process et
chaque élément de liste_processus[i]), (liste_processus[i_processus] [i_instruction])
est la liste des instructions du process i_processus
3-a créer le programme python Pour l’algorithme de l’ordonnancement FIFO

Algo ordonnancement FIFO


liste_processus = (processus_1, processus_2, processus_3)
(avec processus_1 = instruction-1 à i, processus_2 = instruction-1 à j, processus_3 =
instruction-1 à k )

2- Document1 2/7
3-b créer le programme python Pour l’algorithme de l’ordonnancement du tourniquet
Algo ordonnancement tourniquet
liste_processus = (processus_1, processus_2, processus_3)
(avec processus_1 = instruction-1 à i, processus_2 = instruction-1 à j, processus_3 =
instruction-1 à k )

tant qu’il existe des instructions (utiliser un compteur)


i_processus =0
i_instruction = 0
tant qu’il existe des processus
if il existe encore une instruction pour le processus courant
afficher instruction i_instruction du process i_processus
i_processus = i_processus +1
i_instruction = i_instruction + 1
3-c créer le programme python Pour l’algorithme de l’ordonnancement le plus court
d’abord

Ex4 : Processus sur linux. Utilisation de la machine TinyCore-current.iso voir doc

Démarrer puis la machine


rappel : cette machine est en live (sans installation), minimale et uniquement avec un

clavier Qwerty
Depuis la vmware pour revenir à Windows Ctrl + Alt

À faire vous-même 1 lancer la commande who puis pwd et expliquer les fonctions de
ces 2 commandes
La commande who _(zho qwerty)____________________________________________

la commande pwd _(pzd qwerty) ______________________________________

2- Document1 3/7
Donner puis expliquer ce que représente le PID (en partant du principe qu'il est créé juste
après init) , le PPID et l’utilisateur ayant initié le process "init". Voir pour cela le
document Sous Linux il existe des commandes permettant de visualiser les processus.

Vous aurez besoin de lancer un terminal puis puis ps -


aef ( ps )qef qwerty )

Ici init : PID= __________________________________________________

Puis top (pour stopper, utilisez la touche q ( a qwerty ) )

Processus init (/sbin/init) :


- PID = __________________________________________________
- PPID = __________________________________________________
- ____________ (utilisateur ayant lancé le process)

À faire vous-même 2 expliquer la différence entre la commande ps et top

__________________________________________________

__________________________________________________

. Pour en savoir plus sur la commande top, consultez la page http://debian-


facile.org/doc:systeme:top
__________________________________________________

__________________________________________________

À faire vous-même 3 : Ouvrez un deuxième terminal, placez-les 2 terminaux l'un à côté


de l'autre.

Dans le terminal de gauche : nous allons créer un utilisateur exemple avec les
commandes suivantes

2- Document1 4/7
sudo adduser toto ( sudo qdduser toto qzerty )

(sudo permet de lancer une commande en root (super administrateur) au leu de la lancer avec
l’utilisateur tc)
newpassword toto
password toto

Toujours dans le terminal de droite : nous allons nous « logger » avec l’utilisateur toto
et lancer la commande ps

login toto
Pasword toto
pwd (pzd qwerty)
who (zho qwerty)

Quels sont les utilisateurs connectés sur la machine, dans quel terminal et à quelle
heure ?

Terminal de gauche : utilisateur ___________________________________________

Terminal de droite: utilisateur ___________________________________________

À faire vous-même 4 :

depuis le terminal de droite (loggé en toto) lancer les commandes ps-aef puis top
depuis le terminal de gauche (loggé en tc) lancer les commandes top
donner les PID et les PPID des processus crée par l’utilisateur tc lancé par le processus
init et les commenter

Utilisateur tc
Processus wbar : PID = _____________________,

PPID Processus flum_topside : PID= _____________________,

2- Document1 5/7
PPID = _____________________,

depuis le terminal de droite (loggé en toto) lancer les commandes ps-aef puis top
depuis le terminal de gauche (loggé en tc) lancer la commande top
donner les PID et les PPID des processus crée par l’utilisateur toto et pour chacun trouver
le processus parent , commenter :

Utilisateur toto
Processus -sh : PID=_____________________,PPID =___________________________

Processus top : PID=_____________________,PPID =___________________________

À faire vous-même 5 : compléter l’arborescence simplifiée des processus avec les


PID

Processus PID= ___

Processus init PID= ___

Login tc

Processus wbar PID= ___

Processus sh PID= ___


Processus aterm PID= ___ Terminal de droite

Login toto
Processus sh PID= ___ Processus -sh PID= ___
Terminal de droite

Processus top PID= ___

2- Document1 6/7
À faire vous-même 6 : Utilisez la commande kill afin de supprimer le (ou les) processus
lié(s) à l’utilisateur toto. Que se passe-t-il ?

Sur internet trouvez la fonction de la commande kill

Dans les systèmes Unix et apparentés (linux), kill permet d'envoyer des messages simples

aux processus en cours d'exécution. Par défaut, le message est un signal ______________

demandant la fin ________________________

Depuis le depuis le terminal de gauche (loggé en tc) lancer la commande kill puis ps
pour vérifier les conséquences de ces commandes

utiliser sudo kill -1 PID (de top de toto) soit ________________________

________________________

utiliser sudo kill -1 PID (de -sh de toto) soit ________________________

________________________________________________________________________

________________________________________________________________________

Lancer la commande (terminal de gauche) sudo kill -1 1733, remplacer 1733 par le PPID
de parent du processus précédent parent de toto

Le terminal de droite se________________________…..

2- Document1 7/7

Vous aimerez peut-être aussi