Revision sheet: Gestion efficace des processus et ressources

Plan du Cours

  1. Diagramme d’état des processus
  2. Ordonnancement FCFS, SJF et SRTF
  3. SystÚmes interactifs et temps réel
  4. Round Robin et priorités
  5. Ordonnancement garanti et équitable
  6. Multithreading et performances
  7. Concurrence et exclusion mutuelle
  8. Sémaphores, mutex et classiques
  9. Deadlocks et stratégies
  10. SystĂšmes de fichiers et allocations
  11. RAID, FAT et répertoires

1. Diagramme d’état des processus

Notions clés & Définitions

  • EX : État oĂč le processus exĂ©cute rĂ©ellement sur le processeur.
  • PR (prĂȘt) : État oĂč le processus est prĂȘt Ă  ĂȘtre exĂ©cutĂ© et attend une opportunitĂ© CPU.
  • BL (bloquĂ©) : État oĂč le processus ne progresse pas tant que sa condition d’attente n’est pas satisfaite.
  • USR (mode utilisateur) : Mode d’exĂ©cution qui caractĂ©rise les traitements effectuĂ©s au niveau utilisateur.
  • SYS (mode systĂšme) : Mode d’exĂ©cution qui caractĂ©rise les traitements effectuĂ©s au niveau du noyau.

Points essentiels

  • Les transitions du diagramme incluent chargement, dĂ©chargement et dĂ©blocage.
  • La terminaison mĂšne au processus nommĂ© ZOMBIE.
  • La crĂ©ation est associĂ©e Ă  l’entrĂ©e initiale du processus avant qu’il devienne prĂȘt ou exĂ©cutable.
  • Le diagramme distingue clairement les exĂ©cutions en mode utilisateur et en mode systĂšme (USR et SYS).
  • Des Ă©vĂ©nements comme communication et allocation apparaissent comme transitions entre Ă©tats.

Astuce mémo

EX = “Execute”, PR = “PrĂȘt”, BL = “BloquĂ©â€, ZOMBIE = “Fin en attente de nettoyage”.

2. Ordonnancement FCFS, SJF et SRTF

Notions clés & Définitions

  • FCFS : Politique d’ordonnancement qui sert les tĂąches dans l’ordre d’arrivĂ©e.
  • FIFO : Structure de file utilisĂ©e pour implĂ©menter FCFS.
  • SJF : Politique choisissant la tĂąche ayant la durĂ©e estimĂ©e la plus courte.
  • SRTF : Variante SJF qui choisit la tĂąche ayant le temps restant estimĂ© le plus faible.
  • Famine (starvation) : Situation oĂč certaines tĂąches peuvent attendre indĂ©finiment selon la politique.

Points essentiels

  • Avec FCFS (FIFO), l’ordonnancement est annoncĂ© Ă©quitable mais inefficace sur une charge mixte CPU et I/O bound.
  • FCFS ne maximise pas le throughput et ne minimise pas le turnaround dans le cas prĂ©sentĂ©.
  • Pour SJF, le turnaround est minimal seulement si aucune tĂąche ultĂ©rieure n’est plus courte que la tĂąche courante.
  • Le cas SJF avec durĂ©es 3, 2, 4, 7, 6 donne un ordre menant Ă  un total de 53 et un turnaround moyen de 10,6.
  • Le cas SRTF minimise le turnaround en se basant sur la durĂ©e restante estimĂ©e.

Astuce mémo

SJF choisit “la plus courte maintenant”, SRTF choisit “la plus courte aprùs maintenant” (restant).

3. SystÚmes interactifs et temps réel

Notions clés & Définitions

  • Temps rĂ©el : Cadre oĂč le systĂšme doit rĂ©agir et traiter des Ă©vĂ©nements avec des Ă©chĂ©ances strictes ou flexibles.
  • ÉchĂ©ances hard : Contraintes de dĂ©lais dont le non-respect est considĂ©rĂ© comme intolĂ©rable.
  • ÉchĂ©ances soft : Contraintes de dĂ©lais dont le non-respect est tolĂ©rable mais doit ĂȘtre minimisĂ©.
  • DĂ©lai minimal action user→rĂ©action : MĂ©trique cherchant Ă  rĂ©duire le temps entre l’action de l’utilisateur et la rĂ©ponse du systĂšme.
  • ProportionnalitĂ© aux attentes du user : Principe de performance visant Ă  faire correspondre le comportement du systĂšme Ă  ce que l’utilisateur anticipe.

Points essentiels

  • Dans les systĂšmes interactifs, les utilisateurs peuvent crĂ©er des processus et les contraintes fortes sont absentes, ce qui rend le comportement moins strict.
  • Des processus infinis peuvent exister en systĂšme interactif, ce qui rend l’ordonnancement sensible Ă  la famine.
  • Les mĂ©triques de l’ordonnanceur en interactif incluent un dĂ©lai minimal entre action user et rĂ©action systĂšme.
  • Les propriĂ©tĂ©s dĂ©sirables en interactif incluent l’utilisation optimale des ressources (CPU vs I/O) et l’évitement de la starvation.
  • En temps rĂ©el, la propriĂ©tĂ© exigĂ©e est le respect des Ă©chĂ©ances strictes (hard deadlines) et la propriĂ©tĂ© dĂ©sirĂ©e est le respect des Ă©chĂ©ances flexibles (soft deadlines).

Astuce mémo

Interactif = “rĂ©pondre vite”; Temps rĂ©el = “tenir les dĂ©lais” (hard) et “bien cadrer les Ă©carts” (soft).

4. Round Robin et priorités

Notions clés & Définitions

  • Round Robin : Politique qui rĂ©partit le processeur en donnant Ă  chaque tĂąche un quantum de temps.
  • Quantum : DurĂ©e allouĂ©e Ă  un processus lors d’un passage de l’ordonnancement.
  • File cyclique : Structure cyclique utilisĂ©e pour implĂ©menter Round Robin.
  • Priority Scheduling : Politique oĂč un niveau de prioritĂ© fixe la part de temps CPU attribuĂ©e.
  • Classes de prioritĂ© : CatĂ©gories comme timesharing et realtime utilisĂ©es pour organiser le scheduling par niveaux.

Points essentiels

  • Round Robin est basĂ© sur un quantum et implĂ©mentable avec une liste cyclique.
  • Round Robin est prĂ©sentĂ© comme Ă©quitable du point de vue de la rĂ©partition du processeur sans distinguer l’importance relative des processus.
  • En prioritĂ©s, une prioritĂ© Ă©levĂ©e correspond Ă  4 quanta et une prioritĂ© faible Ă  1 quantum.
  • Les prioritĂ©s sont dĂ©crites comme dynamiques et reflĂštent le comportement des processus.
  • Le scheduling par prioritĂ©s favorise l’exĂ©cution des processus I/O-bound prĂȘts et vise Ă  recouvrir les latences I/O par du calcul CPU.

Astuce mémo

Round Robin = “tour de rĂŽle”; PrioritĂ©s = “plus haut = plus de quanta (4 contre 1)”.

5. Ordonnancement garanti et équitable

Notions clés & Définitions

  • Guaranteed Scheduling : Ordonnancement visant une rĂ©partition au prorata du nombre de processus avec un dĂ©lai garanti calculĂ©.
  • DĂ©lai garanti : Estimation de dĂ©lai associĂ©e Ă  chaque processus basĂ©e sur le temps depuis sa crĂ©ation et le nombre de processus.
  • ρ (rho) : Rapport utilisĂ© pour dĂ©cider du moment oĂč un processus peut continuer son exĂ©cution (jusqu’à ρ > 1).
  • Fair-Share Scheduling : Ordonnancement qui rĂ©partit au prorata du nombre d’utilisateurs plutĂŽt que du nombre de processus.
  • Pro rata (au prorata) : Principe de partage proportionnel Ă  la quantitĂ© de processus ou d’utilisateurs considĂ©rĂ©e.

Points essentiels

  • L’objectif de Guaranteed Scheduling est une rĂ©partition au prorata du nombre de processus.
  • Le dĂ©lai garanti est donnĂ© comme Temps depuis sa crĂ©ation divisĂ© par le nombre de processus.
  • ρ est dĂ©fini comme Temps nĂ©cessaire rapportĂ© au DĂ©lai garanti.
  • L’algorithme exĂ©cute un processus jusqu’à ce que ρ > 1.
  • Fair-Share Scheduling rĂ©partit au prorata du nombre d’utilisateurs.

Astuce mémo

Garanti = “Temps depuis crĂ©ation / nb processus”; ρ dĂ©cide “quand arrĂȘter” via seuil 1.

6. Multithreading et performances

Notions clés & Définitions

  • Multithreading : Technique oĂč plusieurs threads s’exĂ©cutent au sein d’un mĂȘme processus pour mieux exploiter parallĂ©lisme et latence.
  • Throughput : Mesure de performance donnĂ©e comme nombre de tĂąches par heure.
  • CrĂ©ation et commutation : Mesures d’efficacitĂ© liĂ©es au coĂ»t de crĂ©er des activitĂ©s et de passer d’une activitĂ© Ă  une autre.
  • Thread dispatcher : Composant logique chargĂ© d’initialiser et de boucler pour rĂ©partir le travail entre threads.
  • User-level : ImplĂ©mentation oĂč l’ordonnancement des threads dĂ©pend d’un ordonnanceur utilisateur indĂ©pendant de celui de l’OS.

Points essentiels

  • Les motivations incluent qu’une activitĂ© bloquĂ©e permet d’exĂ©cuter une autre activitĂ© et que la crĂ©ation/commutation est rapide.
  • L’exĂ©cution dĂ©crite du processus (au sens initial) est prĂ©sentĂ©e comme purement sĂ©quentielle.
  • Pour amĂ©liorer les performances, le cours cite augmenter le throughput, rĂ©duire le dĂ©lai ouverture→fermeture, et rĂ©partir sur plusieurs processeurs/coeurs.
  • En user-level, la prĂ©emption entre threads est difficile et un blocage d’un thread bloque le processus.
  • En kernel-level, un blocage d’un thread ne signifie pas blocage du processus et l’OS peut choisir un thread prĂȘt, y compris d’un autre processus.

Astuce mémo

User-level : “pas trop prĂ©emptif et blocage se propage”; Kernel-level : “prĂ©emptive par l’OS et moins de propagation”.

7. Concurrence et exclusion mutuelle

Notions clés & Définitions

  • Concurrence : Situation oĂč plusieurs activitĂ©s accĂšdent simultanĂ©ment Ă  des ressources ou Ă  des variables partagĂ©es.
  • Race Condition : ProblĂšme oĂč l’interleaving des opĂ©rations sur une donnĂ©e partagĂ©e change le rĂ©sultat observĂ©.
  • Interleavings : Ordres possibles d’exĂ©cution de fragments d’instructions qui peuvent diverger entre exĂ©cutions.
  • Exclusion mutuelle : PropriĂ©tĂ© garantissant qu’au plus un thread se trouve dans la section critique Ă  un instant donnĂ©.
  • Section critique : Zone de code qui manipule un objet partagĂ© et doit ĂȘtre protĂ©gĂ©e par des rĂšgles d’accĂšs.

Points essentiels

  • Les interleavings diffĂ©rents peuvent produire des rĂ©sultats diffĂ©rents lorsqu’une opĂ©ration lit puis manipule une variable partagĂ©e.
  • La race condition dĂ©crite survient quand une interruption intervient entre un “read” et une modification de la mĂȘme variable.
  • Une section critique dĂ©limite le code manipulant l’objet partagĂ© et rĂ©gule les entrĂ©es dans cette zone.
  • Les critĂšres requis incluent l’exclusion mutuelle, l’absence d’attente injustifiĂ©e, l’absence de famine, et une indĂ©pendance vis-Ă -vis de la vitesse et du nombre de processeurs.
  • Le cours suppose une absence d’exĂ©cution out-of-order du processeur pour raisonner sur les solutions.

Astuce mémo

Race condition = “le mĂȘme objet partagĂ©, mais des ordres diffĂ©rents” → rĂ©sultat change.

8. Sémaphores, mutex et classiques

Notions clés & Définitions

  • SĂ©maphore : MĂ©canisme de synchronisation basĂ© sur une variable entiĂšre et une file d’attente pour threads bloquĂ©s.
  • SĂ©maphore avec down/wait : OpĂ©ration atomique qui prend une ressource et peut bloquer si elle n’est pas disponible.
  • SĂ©maphore avec up/signal : OpĂ©ration atomique qui libĂšre une ressource et rĂ©veille un thread bloquĂ© s’il y en a un.
  • Mutex : Version particuliĂšre du sĂ©maphore avec propriĂ©tĂ© de propriĂ©taire, servant Ă  garantir une exclusion mutuelle.
  • Producteur-consommateur : ModĂšle classique oĂč un producteur produit et un consommateur consomme via un buffer partagĂ©.

Points essentiels

  • Le sĂ©maphore est dĂ©crit avec 0≀s≀S0 \le s \le S et une liste d’attente pour les threads bloquĂ©s.
  • L’opĂ©ration PROBERN(S) est atomique et bloque si la ressource n’est pas disponible, sinon elle dĂ©crĂ©mente SS d’une unitĂ©.
  • L’opĂ©ration VERHOGEN(S) est atomique et incrĂ©mente SS d’une unitĂ© si personne n’attend, sinon elle dĂ©bloque un thread.
  • Un mutex est propriĂ©taire et ne peut pas ĂȘtre libĂ©rĂ© par un autre thread, contrairement au sĂ©maphore.
  • Dans producteur-consommateur (buffer non bornĂ©), le consommateur est bloquĂ© si aucun produit n’est disponible et le mutex protĂšge insertion/extraction.

Astuce mémo

SĂ©maphore : “libre si s>0s>0, sinon j’attends”; Mutex : “1 propriĂ©taire, 1 Ă  la fois, libĂ©ration contrĂŽlĂ©e”.

9. Deadlocks et stratégies

Notions clés & Définitions

  • Deadlock : Blocage oĂč des threads attendent chacun des ressources dĂ©tenues par d’autres, formant un cycle.
  • Autruche (algorithme de l’autruche) : StratĂ©gie citĂ©e pour traiter les deadlocks, sans dĂ©tail chiffrĂ© dans la source fournie.
  • DĂ©tection et rĂ©solution : Approche de traitement oĂč l’on repĂšre un deadlock puis on tente de le rĂ©soudre.
  • StratĂ©gie d’évitement : Approche qui cherche Ă  Ă©viter l’apparition de deadlocks avant qu’ils se produisent.
  • Invalidation d’une condition : Principe de prĂ©vention qui casse une des conditions nĂ©cessaires au deadlock.

Points essentiels

  • Un deadlock nĂ©cessite C1 exclusion mutuelle, C2 dĂ©tention R1 et attente R2, C3 absence de prĂ©emption, et C4 cycle de dĂ©tention et d’attente.
  • La source illustre un cycle de dĂ©pendance avec T1T1 dĂ©tenant R1R1, T2T2 dĂ©tenant R2R2, et T3T3 dĂ©tenant R3R3.
  • La stratĂ©gie d’évitement et la dĂ©tection sont listĂ©es parmi les options relatives aux deadlocks.
  • La prĂ©vention structurelle invalide une condition parmi C1 Ă  C4, par exemple C4 via un ordre strict de prise des ressources.
  • Une autre solution invalide C2 en utilisant un suivi d’états (PENSE, AFFAM, MANGE) et un mutex global pour la table.

Astuce mémo

Deadlock = C1+C2+C3+C4; casser C4 (ordre) ou casser C2 (rĂšgles d’état) supprime le cycle.

10. SystĂšmes de fichiers et allocations

Notions clés & Définitions

  • Noeud de fichier : EntrĂ©e logique reprĂ©sentant un fichier dans l’organisation arborescente du systĂšme.
  • Noeud de rĂ©pertoire : EntrĂ©e logique reprĂ©sentant un rĂ©pertoire dans l’arborescence du systĂšme.
  • Chemin complet : Identifiant d’un nƓud obtenu en dĂ©crivant la position dans l’arborescence.
  • Allocation contiguĂ« : MĂ©thode oĂč chaque fichier occupe un ensemble de blocs consĂ©cutifs dĂ©fini par premier bloc et nombre de blocs.
  • Allocation chainĂ©e : MĂ©thode oĂč chaque bloc contient un pointeur vers le bloc suivant pour former la chaĂźne du fichier.

Points essentiels

  • Les opĂ©rations doivent offrir plusieurs garanties sur les donnĂ©es : pĂ©rennitĂ©, protection d’accĂšs, efficacitĂ©, et rĂ©sistance aux pannes.
  • Une arborescence combine noeuds de fichier et noeuds de rĂ©pertoire, et l’identification se fait par chemin complet.
  • En allocation contiguĂ«, la lecture se fait en une seule passe mais l’extension peut exiger un dĂ©placement des donnĂ©es.
  • En allocation chainĂ©e, un pointeur dans chaque bloc supprime la fragmentation externe mais ajoute un overhead.
  • Pour i-nƓuds, l’accĂšs nĂ©cessite charger l’i-nƓud et la structure encode des blocs directs et des niveaux supplĂ©mentaires d’encodage.

Astuce mémo

Contigu = “tout d’un bloc”; ChaĂźnĂ©e = “pointeurs entre blocs”; i-nƓud = “carte d’adressage”.

11. RAID, FAT et répertoires

Notions clés & Définitions

  • RAID : Technique qui combine plusieurs disques pour amĂ©liorer performance et/ou tolĂ©rance aux pannes.
  • RAID-0 : Niveau RAID basĂ© sur le stripping, alternant des strips entre disques.
  • RAID-1 : Niveau RAID basĂ© sur le mirroring, rĂ©pliquant des strips entre disques.
  • RAID-4 : Niveau RAID avec un disque additionnel stockant des strips de paritĂ©.
  • FAT (File Allocation Table) : Table utilisĂ©e par le systĂšme de fichiers pour chaĂźner l’allocation des clusters.

Points essentiels

  • RAID-0 alterne les strips entre disques tandis que RAID-1 rĂ©plique les strips entre disques.
  • RAID-4 utilise un disque dĂ©diĂ© pour stocker des strips de paritĂ© (par ou exclusif binaire).
  • RAID-5 rĂ©partit la paritĂ© entre au moins 3 disques, plutĂŽt que de la placer tout sur un seul disque.
  • Dans la FAT-16, un cluster libre vaut 0x0000 et un cluster “fin de chaĂźne” est indiquĂ© par 0xFFF8 Ă  0xFFFF.
  • Un rĂ©pertoire FAT encode des entrĂ©es de 32 octets incluant nom court (ASCII), extension, flags, dates, attributs Ă©tendus et le premier cluster ainsi que la taille max 2^32 soit 4 GiB.

Astuce mémo

RAID = “0 = dĂ©coupe”, “1 = miroir”, “4 = paritĂ© dĂ©diĂ©e”, “5 = paritĂ© rĂ©partie”.

Tableaux de synthĂšse

FCFS vs SJF vs SRTF

PolitiqueBase de choixRisqueEffet sur turnaround
FCFSOrdre d’arrivĂ©eAucun starvation mentionnĂ© dans le coursÉnoncĂ© comme ne minimisant pas le turnaround
SJFDurĂ©e estimĂ©eFamine si arrivĂ©e continuelle de courtes tĂąchesMinimise le turnaround (sous condition d’absence de tĂąche ultĂ©rieure plus courte)
SRTFDurée restante estiméeFamine (lié à SJF)Minimise le turnaround

PiÚges & confusions fréquents

  1. Confondre PR (prĂȘt) et BL (bloquĂ©) : PR attend une opportunitĂ© CPU alors que BL attend une condition Ă  satisfaire.
  2. Croire que FCFS maximise le throughput : le cours dit au contraire qu’il ne le maximise pas sur une charge mixte CPU et I/O bound.
  3. Oublier la condition associĂ©e Ă  SJF : le cours limite la minimisation du turnaround si aucune tĂąche ultĂ©rieure n’est plus courte.
  4. Confondre Round Robin et prioritĂ©s : Round Robin ne tient pas compte d’une importance relative, tandis que les prioritĂ©s modifient le nombre de quanta.
  5. Mélanger mutex et sémaphore : un mutex a un propriétaire et ne se libÚre pas par un autre thread, contrairement au sémaphore.
  6. Croire que l’absence de famine est automatique : elle dĂ©pend des conditions requises et de la solution choisie pour l’exclusion mutuelle.
  7. Confondre allocation contiguĂ« et chainĂ©e : contiguĂ« peut nĂ©cessiter dĂ©placement Ă  l’extension, alors que chainĂ©e ajoute un pointeur et un overhead.

Checklist Examen

  1. Identifier les états du diagramme (EX, PR, BL, ZOMBIE, USR, SYS, EM, HM) et au moins une transition associée (création, chargement, déchargement, déblocage, terminaison).
  2. Décrire FCFS : FIFO, équité entre tùches, et ses limites (throughput et turnaround) en présence de charge mixte CPU et I/O bound.
  3. Calculer un turnaround moyen à partir des temps cumulés fournis pour FCFS ou SJF (inclure la division par le nombre de tùches).
  4. Expliquer SJF : base sur durĂ©e estimĂ©e, risque de famine, inĂ©quitĂ© envers longues tĂąches, et la condition d’absence de tĂąche ultĂ©rieure plus courte.
  5. Décrire SRTF : base sur durée restante estimée, risque de famine, et effet attendu sur le turnaround.
  6. Lister les points clĂ©s d’un systĂšme interactif : multi-utilisateurs/processus, contraintes fortes absentes, propriĂ©tĂ©s dĂ©sirables (Ă©quitĂ©, usage optimal, Ă©viter starvation) et mĂ©triques (dĂ©lai user→rĂ©action, proportionnalitĂ©).
  7. Différencier Round Robin et Priority Scheduling : quantum/liste cyclique et équité, puis priorités avec 4 quanta vs 1 quantum et objectifs I/O-bound.
  8. Appliquer Guaranteed Scheduling : formule du dĂ©lai garanti (temps depuis crĂ©ation / nombre de processus), dĂ©finition de ρ, et rĂšgle d’exĂ©cution jusqu’à ρ > 1.
  9. DĂ©crire le critĂšre d’ordonnançabilitĂ© en temps rĂ©el avec la somme ∑(Ci/Pi) ≀ 1 et conclure sur l’accumulation si elle est violĂ©e.
  10. Comparer user-level et kernel-level en multithreading : prĂ©emption et effet d’un blocage de thread sur le processus.
  11. Énoncer les conditions requises d’exclusion mutuelle (C1 exclusion mutuelle, absence d’attente injustifiĂ©e, absence de famine, indĂ©pendance vitesse/nombre) et le rĂŽle de la section critique.
  12. Expliquer le sĂ©maphore avec down/wait et up/signal : comportement quand S==0 et quand S>0 et rĂŽle de la liste d’attente.
  13. DiffĂ©rencier mutex et sĂ©maphore : propriĂ©taire, libĂ©ration par un autre thread possible ou non, et l’idĂ©e d’une variable m entre 0 et 1.
  14. Retenir les 4 conditions nĂ©cessaires au deadlock (C1-C4) et une stratĂ©gie d’invalidation : ordre des baguettes (C4) ou Ă©tats protĂ©gĂ©s (invalidation de C2).

Test your knowledge

Test your knowledge on Gestion efficace des processus et ressources with 10 multiple-choice questions with detailed corrections.

1. Quelle politique d’ordonnancement sert les tĂąches dans l’ordre d’arrivĂ©e ?

2. Qu'est-ce qu'un diagramme d’état des processus dans la gestion des systĂšmes d'exploitation?

Take the quiz →

Review with flashcards

Memorize the key concepts of Gestion efficace des processus et ressources with 9 interactive flashcards.

Diagramme d’état — Ă©tats principaux ?

EX, PR, BL, ZOMBIE, USR, SYS.

Diagramme d’état des processus - Notion

États: EX, PR, BL, ZOMBIE, modes USR/SYS.

FCFS, SJF, SRTF — diffĂ©rence clĂ© ?

FCFS sert dans l’ordre d’arrivĂ©e, SJF choisit la tĂąche la plus courte, SRTF la plus courte restante.

See flashcards →

Similar courses

Create your own revision sheets

Import your course and AI generates sheets, quizzes and flashcards in 30 seconds.

Sheet generator