Cours 1 SE #4
This commit is contained in:
parent
2e10442e0f
commit
3031cb86f9
Binary file not shown.
|
@ -107,3 +107,58 @@ _Remarque_: à un instant donné
|
||||||
- file d'attente des processus prêts (liste chainée de PCBs)
|
- file d'attente des processus prêts (liste chainée de PCBs)
|
||||||
- file d'attente pour chaque périphérique
|
- file d'attente pour chaque périphérique
|
||||||
|
|
||||||
|
##### Ordonnanceurs
|
||||||
|
1. **ordonnanceur** : programme chargé pour gérer l'ordonnancement
|
||||||
|
2. **ordrdonnanceur à long terme** : dans un contexte de traitement par lots (mode batch)
|
||||||
|
3. **ordrdonnanceur à court terme** : gère l'allocation du processeur (classique)
|
||||||
|
4. **ordrdonnanceur à moyen terme** : pour le swap (quand plus assez de mém. dans la mémoire centrale, il retire un processus et le transfère dans le HDD)
|
||||||
|
|
||||||
|
##### Problèmes de systèmes interactifs
|
||||||
|
- sur certains systèmes interactifs comme Unix, il n'y a pas d'ordonnanceur long terme (logique)
|
||||||
|
- si trop de processus (en particulier si beaucoup d'util.) la mémoire ne peut plus les contenir tous
|
||||||
|
**Solutions**
|
||||||
|
- "Ejecter" des utilisateurs (bof bof)
|
||||||
|
- swap
|
||||||
|
|
||||||
|
##### Ordonnanceur à moyen terme
|
||||||
|
|
||||||
|
- Régule le _degré de multiprogrammation_ en implémentant un mécanisme de transfert de processus de la mém. vers les unités de stockage et inversement : _permutation_ ou _swap_
|
||||||
|
- Critères:
|
||||||
|
- taux d'utilisation de la mém. principale (majorité du temps)
|
||||||
|
- dosage entre les processus usant du processeur et processus usant des I/O
|
||||||
|
- Algorithme assez couteux et donc fréquence d'exécution faible (plusieurs sec)
|
||||||
|
|
||||||
|
##### Ordonnancement à court terme
|
||||||
|
- fréquence d'exécution élevée (`< 0.1s`)
|
||||||
|
- l'algorithme doit être efficace
|
||||||
|
|
||||||
|
**exemple**: si temps d'exécution = `0.01s`, alors `9%` du temps perdu dans l'ordonnancement.
|
||||||
|
|
||||||
|
##### Processus coopérants
|
||||||
|
- Intérêts:
|
||||||
|
- partage d'information
|
||||||
|
- accélération du calcul
|
||||||
|
- modularité
|
||||||
|
- commodité
|
||||||
|
- interactivité
|
||||||
|
|
||||||
|
- Requiert des mécanismes permettant aux processus de coopérer
|
||||||
|
- exemple: producteur/consommateur
|
||||||
|
|
||||||
|
##### Communication inter-processus
|
||||||
|
- Première solution: mémoire partagée
|
||||||
|
- pas évident dans le cadre général (implantation des mécanismes de protection mém. plus complexe)
|
||||||
|
- impossible dans un contexte distribué
|
||||||
|
- Seconde solution: fournir une fonctionnalité de communication interprocessus
|
||||||
|
(IPC: `InterProcess Communication`)
|
||||||
|
- communication + synchronisation
|
||||||
|
|
||||||
|
|
||||||
|
##### Implantation d'un IPC
|
||||||
|
- Par un système de passage de messages
|
||||||
|
- 2 primitives de base : `send` et `receive`
|
||||||
|
- Implantation logique vs. physique
|
||||||
|
- Implantation physique
|
||||||
|
- mémoire partagée
|
||||||
|
- bus matériel
|
||||||
|
- réseau
|
||||||
|
|
Loading…
Reference in New Issue