13S08686
INFORMATIQUE FONDAMENTALE 4
DEVOIR DE IN406
6-
Deux personnes qui utilisent des toilettes communes quand l’une d’elle est au
toilette elle doit poser un verrou que l’autre verra et n’accèdera pas au toilette.
Deux processus qui veulent manipuler le même fichier ne le feront pas en même
temps. Celui sera en train de travailler avec le fichier verrou pour qu’aucun n’autre
processus ne puisse modifier le fichier.
7- Deux situations ou le sémaphore convient mieux que le verrou.
La signalisation pour diriger la circulation
Un jeu de question réponse tel que « question pour un champion » où chaque
concourant à un temps pour répondre pendant ce temps personne d’autre ne peut
répondre et une autre personne pourra répondre si le temps de la personne
précédente est épuisé ou si elle a répondu.
8- Enseignant
Processus : enseignement
Espace de travail : Salle de classe
Processeur : Enseignant
Médecin
Processus : Soins
Espace de travail : salle de soins
Processeur : Médecin
9- Un système multi thread est un système dans lequel on peut subdiviser des opérations
spécifiques au sein d’une même application en threads individuels, chacun de ces threads
pouvant s’exécuter en parallèle.
10- Dans un processus traditionnel le programme s’exécute en une seule opération alors que
pour un processus multi thread le programme est diviser en plusieurs opérations spécifiques.
11- Avantages :
Le thread continue à s’exécuter même si certaines de ses ressources bloquées
Partage de certaines ressources.
Economie d’espace mémoire et temps.
Inconvénients :
La programmation utilisant des threads est rigoureuse, l’accès à certaines ressources
partagées doit être restreint par le programme lui-même
Les programmes deviennent plus complexes.
12- Les threads utilisateurs sont supportés au-dessus du noyau et sont implémentés par une
bibliothèque de thread au niveau utilisateur. Ils sont portables sur différentes plate-forme.
Le changement de contexte est rapide.
Les threads noyaux sont directement supportés par le noyau du système d’exploitation. Le
S.E se charge de leur gestion et le changement de contexte est lent.
13-
Lancement du programme Wampserver
Lancement d’un navigateur
La recherche dans un ordinateur
14- Inter-blocage : est un phénomène qui peut survenir en programmation concurrente.
L'interblocage se produit lorsque des processus concurrents s'attendent mutuellement.
15- Prévenir l’interblocage :
Une méthode consiste à toujours acquérir les mutex dans le même ordre. En effet, si plusieurs
processus légers nécessitent d'acquérir plusieurs verrous pour effectuer leur travail, s'ils
acquièrent les verrous dans un ordre différent, il est possible qu'ils se bloquent lors de la
séquence d'acquisition (comme dans l'exemple précédent).
Il convient aussi de s'intéresser aux priorités des processus. En effet, si par exemple un
processus de haute priorité utilise un verrou en commun avec un processus de basse priorité
(voir aussi inversion de priorité), il est possible d'obtenir des situations de blocage. Une
solution à ce genre de problème consiste à n'utiliser des verrous qu'entre des processus de
même priorité.
16- Résolution de la situation d’interblocage
Dans ce cas, lorsqu’un processus demande une ressource, le système doit déterminer si
l’attribution de la ressource est sûre. Si c’est le cas, il lui attribue la ressource. Sinon, la
ressource n’est pas accordée. Un état est sûr si tous les processus peuvent terminer leur
exécution (il existe une séquence d’allocations de ressources qui permet à tous les processus
de se terminer).