Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy
počítačové znalosti >> Hardware >> CPU >> .

Ako operačný systém zabraňuje hladovaniu v procesoch prideľovania prostriedkov?

Operačné systémy využívajú rôzne stratégie na zabránenie hladovaniu v procesoch prideľovania zdrojov. Klady nastane, keď sa proces opakovane odopiera prístup k zdroju, aj keď je schopný vykonávať svoju prácu. Tu je rozdelenie bežných techník:

1. Plánovanie priority so starnutím:

* Problém: Procesy s vysokou prioritou môžu nepretržite monopolizovať zdroje, čo zabráni procesom nižšej priority, aby sa niekedy dostali šanca na beh a potenciálne spôsobujúce hladovanie.

* Riešenie - starnutie:

* koncept: Postupom času zvyšujte prioritu procesov, ktoré čakajú dlho na získanie zdroja.

* implementácia: OS pravidelne zvyšuje prioritu čakacích procesov. To zaisťuje, že aj procesy s nízkou prioritou sa nakoniec stanú oprávnenými.

* Príklad: Proces čakajúci na čas CPU by mohol mať svoju prioritu narazený každých pár hodín. Nakoniec sa stane najvyšším procesom priority a bude naplánovaný.

2. Spravodlivé fronty a vážené spravodlivé fronty:

* Problém: Procesy požadujúce rovnaký zdroj môžu dostávať nepredvídateľné alokácie, ktoré potenciálne opakujú pred ostatnými.

* Riešenie - spravodlivé fronty:

* koncept: Zaručte každý proces spravodlivý podiel zdroja v priebehu času.

* implementácia:

* Procesy čakajúce na zdroj sú umiestnené vo fronte.

* Zdroj sa prideľuje procesom spravodlivým spôsobom, často s použitím okrúhleho robota alebo podobných plánovacích algoritmov.

* Každý proces je uvedený v časovom plátku (alebo inej kvóte zdrojov) skôr, ako sa otočí iný proces.

* vážené férové ​​fronty (WFQ):

* koncept: Variácia spravodlivého frontu, kde sa každému procesu pridelí váhu, ktorá určuje jeho relatívny podiel na zdroji.

* implementácia:

* Procesy s vyššími váhami dostávajú proporcionálne väčšie plátky zdroja.

* To umožňuje uprednostňovanie dôležitých procesov a zároveň zabezpečiť, aby iné procesy získali určitý prístup.

3. Pridelenie zdrojov s prevenciou/vyhýbaním sa zablokovaniu:

* Problém: Detam môže viesť k hladovaniu. Ak sú procesy uviaznuté čakaním na zdroje druhej strany, niektoré môžu byť neurčito zablokované. Aj keď je uviaznutie prerušené, rovnaké procesy by sa mohli opakovane vybrať ako obete, čo viedlo k hladovaniu.

* Riešenie:

* Prevencia na zablokovanie: Štrukturálne navrhnúť systém prideľovania zdrojov na odstránenie podmienok, ktoré spôsobujú patovú situáciu. To by mohlo zahŕňať:

* Eliminácia vzájomného vylúčenia (zvyčajne nie je možné): Umožňuje, aby zdroje používali súčasne viaceré procesy.

* Hold and Wait Fory: Vyžadujte proces, aby ste požiadali o všetky svoje zdroje naraz, alebo prepustenie všetkých držaných zdrojov pred tým, ako požiadate o viac.

* Žiadne preemption: Nechajte OS násilne odobrať zdroje od procesu (ak proces drží zdroj, ktorý potrebuje iný proces, a čaká na iný zdroj).

* kruhové čakanie prevencie: Ukladať celkové objednávanie typov zdrojov a vyžadovať procesy na požadovanie zdrojov vo vzostupnom poradí.

* Vyhýbanie sa na zablokovaní: Dynamicky monitorujte stav prideľovania zdrojov a vyhnite sa prideľovaniu zdrojov, ak by to mohlo viesť k uviaznutiu. Bankerov algoritmus je častým príkladom.

* Prečo to pomáha hladovať: Tým, že sa vyhýba patlníkom, OS zaisťuje, že zdroje sa nakoniec uvoľnia a sprístupňujú čakacie procesy, čím sa znižuje pravdepodobnosť neurčitého blokovania.

4. Rezervačné systémy:

* Problém: Ostatné procesy môžu ostatné nepretržite prekonávať, pokiaľ ide o prístup k zdrojom.

* Riešenie:

* koncept: Umožnite procesom rezervovať zdroje vopred.

* implementácia:

* Proces môže požiadať o zaručené pridelenie zdroja na konkrétne obdobie.

* OS zaisťuje, že zdroj je k dispozícii, keď ho proces potrebuje.

* Prečo to pomáha hladovať: Rezervácia bráni opakovane zamietnutiu procesu procesu, pretože nemôže konkurovať okamžitým požiadavkám na iné procesy. Zabezpečuje určitú minimálnu úroveň služieb.

5. Plánovanie lotérie:

* Problém: Procesy môžu byť neustále nešťastné v náhodných schémach prideľovania.

* Riešenie:

* koncept: Dajte procesy „Lottery Lickets“ pre zdroj. OS náhodne vyberie lístok a proces, ktorý drží tento lístok, získa zdroj.

* implementácia:

* Každému procesu je pridelené množstvo lístkov úmerných jeho dôležitosti alebo potrebám.

* OS drží lotériu na určenie, ktorý proces získa zdroj.

* Prečo to pomáha hladovať: Aj keď je stále možné, aby proces bol nešťastný v jednej lotérii, postupom času, procesy s viacerými vstupenkami štatisticky dostanú väčší podiel na zdroji, čím sa zabráni trvalému odmietnutiu služieb. Čím viac lístkov má proces, tým vyššia je pravdepodobnosť výhry. Dokonca aj procesy s niekoľkými lístkami majú nenulovú šancu na výhru, čo zabráni úplnému hladovaniu.

6. Mechanizmy spätnej väzby:

* Problém: Algoritmy statického plánovania sa nemusia dobre prispôsobiť meniacim sa podmienkam systému.

* Riešenie:

* koncept: Monitorujte výkonnosť procesov a podľa toho upravte pridelenie zdrojov.

* implementácia:

* OS sleduje, ako dlho čakali procesy na zdroje.

* Ak proces čakal na nadmerné množstvo času, OS môže zvýšiť svoju prioritu, prideliť viac zdrojov alebo prepnúť na iný algoritmus plánovania.

* Prečo to pomáha hladovať: Mechanizmy spätnej väzby umožňujú OS dynamicky reagovať na situácie hladovania a podniknúť nápravné opatrenia.

Kľúčové úvahy:

* Riadenie: Všetky tieto riešenia prichádzajú s niektorými réžiami. Zložitosť algoritmu ovplyvňuje využitie CPU a sledovanie čakacích časov si vyžaduje pamäť.

* Spravodlivosť vs. účinnosť: Často existuje kompromis medzi spravodlivosťou (zabránením hladovaniu) a celkovou efektívnosťou systému. Dokonale spravodlivý systém nemusí byť najefektívnejší z hľadiska priepustnosti.

* kontext špecifické: Najlepší prístup na prevenciu hladovania závisí od prideleného špecifického zdroja, povahy procesov a celkových cieľov systému. Operačný systém v reálnom čase (RTOS) má prísnejšie požiadavky ako OS všeobecne navyše.

Stručne povedané, operačné systémy využívajú rôzne techniky, často v kombinácii, aby zabránili hladovaniu a zabezpečili, že všetky procesy nakoniec dostanú zdroje, ktoré potrebujú na dokončenie svojich úloh. Kľúčom je vyvážiť spravodlivosť, efektívnosť a špecifické požiadavky systému.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené