diff --git a/Systemes d'exploitation/Cours/.1.md.swp b/Systemes d'exploitation/Cours/.1.md.swp index c1219d1..7992d40 100644 Binary files a/Systemes d'exploitation/Cours/.1.md.swp and b/Systemes d'exploitation/Cours/.1.md.swp differ diff --git a/Systemes d'exploitation/Cours/1.md b/Systemes d'exploitation/Cours/1.md index 2c4384a..9c127f1 100644 --- a/Systemes d'exploitation/Cours/1.md +++ b/Systemes d'exploitation/Cours/1.md @@ -107,3 +107,58 @@ _Remarque_: à un instant donné - file d'attente des processus prêts (liste chainée de PCBs) - 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