Université Pierre et Marie Curie

Systèmes d'exploitation des ordinateurs

Chapitre 1. Les systèmes d'exploitation
Chapitre 2. Mécanismes d'exécution et de communication
Chapitre 3. Gestion des activités parallèles
Chapitre 4. Gestion des fichiers
Chapitre 5. Partage des ressources
5.1. Partage du temps de calcul: l'exemple du traitement par lot
5.2. Le partage du processeur. Notions sur les files d'attente
5.3. Partage des disques
5.4. Partage de la mémoire
5.5. Mémoires hiérarchiques
Chapitre 6. Au-dessus du système d'exploitation
Chapitre 7. Notions sur les communications
Chapitre 8. Notions sur la sécurité
Bibliographie
Chapitre 9. Exercices et TPs
Examens
Page d'accueilTable des matièresNiveau supérieurPage précédenteBas de la pagePage suivante

Chapitre 5. Partage des ressources

Nous avons évoqué tout au long des chapitres 2 et 3 le fonctionnement des processus. Nous avons décrit les problèmes que posait le partage des ressources (section 2.2) dans le cas de processus coopérants. La réalité des systèmes multi-tâches et temps partagé est plus complexe : le système d'exploitation doit distribuer ces ressources de la façon la plus harmonieuse entre processus indépendants. Celles-ci sont rares, les processus qui les réclament sont nombreux et ils sont  en compétition pour en obtenir l'usage. Les stratégies adoptées pour résoudre ce problème feront l'objet du présent chapitre.

Nous évoquerons des méthodes de partage des périphériques, de la mémoire ou du processeur. Celles-ci doivent être le plus efficace possible pour assurer un fonctionnement harmonieux sans blocage ni surcharge. L'efficacité d'un ordinateur est directement liée aux solutions mises en oeuvre pour résoudre ces problèmes. Comme nous le verrons il n'existe pas une méthode optimale unique mais des solutions pour chaque problème et des différences de performances étonnantes peuvent exister suivant le choix retenu : par exemple le même ordinateur se révèle 3 à 5 fois plus rapide pour calculer une transformée de Fourier lorsqu'il fonctionne sous Unix et non sous Windows! Ceci est lié à la gestion de la mémoire qui est  peu performante. Cela n'est pas aussi caricatural pour d'autres situations.

On désigne sous le nom de ressource tout objet utilisé par un processus. Les fichiers sont donc un exemple particulier de ressource mais on emploie plutôt ce vocable lorsqu'on s'intéresse au problème de leur allocation ou de leur partage ainsi qu'aux moyens nécessaires pour réaliser ces actions. Une ressource doit d'abord être allouée à un processus avant que celui-ci puisse l'utiliser grâce à ses procédures d'accès. Après usage elle est libérée ou désallouée. Si ce retrait est forcé on dit que la ressource est réquisitionnée au profit d'un autre processus. Une ressource est banalisée lorsqu'il en existe plusieurs exemplaires qui peuvent être alloués indifféremment aux processus qui en font la demande.

L'intention des concepteurs de systèmes d'exploitation est de satisfaire les requêtes des différents processus de manière équitable :

  • des processus de même priorité doivent partager également une ressource.
  • un processus plus prioritaire doit être satisfait en premier mais il faut éviter de bloquer, dans la mesure du possible, le fonctionnement d'un autre moins prioritaire.

Certains algorithmes d'allocation peuvent se révéler dangereux car ils amènent à la privation de ressources donc à la famine certains processus.


Copyright Yves Epelboin, université P.M. Curie, février 2003, MAJ 8 mars, 2006

5.1. Partage du temps de calcul: l'exemple du traitement par lot
5.2. Le partage du processeur. Notions sur les files d'attente
  5.2.1. Files d'attente
  5.2.2. Allocation du temps dans un système en temps partagé
5.3. Partage des disques
5.4. Partage de la mémoire
  5.4.1. Structure d'un module exécutable
  5.4.2. Allocation de la mémoire
5.5. Mémoires hiérarchiques
Page d'accueilTable des matièresNiveau supérieurPage précédenteHaut de la pagePage suivante