Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Hardware >> CPU's >> Content
Hoe voorkomt het besturingssysteem uithongering bij de toewijzing van middelen?
Besturingssystemen maken gebruik van verschillende strategieën om uithongering te voorkomen bij de toewijzing van middelen. Uithongering ontstaat wanneer een proces herhaaldelijk de toegang tot een hulpbron wordt ontzegd, ook al kan het zijn werk wel doen. Hier volgt een overzicht van veelgebruikte technieken:

1. Op prioriteiten gebaseerde planning met veroudering:

* Het probleem: Processen met een hoge prioriteit kunnen voortdurend hulpbronnen monopoliseren, waardoor wordt voorkomen dat processen met een lagere prioriteit ooit de kans krijgen om te draaien en mogelijk hongersnood veroorzaken.

* De oplossing - Veroudering:

* Concept: Verhoog in de loop van de tijd de prioriteit van processen die lang hebben gewacht op het verkrijgen van een hulpbron.

* Implementatie: Het besturingssysteem verhoogt periodiek de prioriteit van wachtende processen. Dit zorgt ervoor dat zelfs processen met een lage prioriteit uiteindelijk in aanmerking komen voor uitvoering.

* Voorbeeld: Van een proces dat wacht op CPU-tijd kan de prioriteit elke paar kloktikken worden verhoogd. Uiteindelijk zal dit het proces met de hoogste prioriteit worden en gepland worden.

2. Eerlijke wachtrijen en gewogen eerlijke wachtrijen:

* Het probleem: Processen die om dezelfde hulpbron vragen, kunnen onvoorspelbare toewijzingen krijgen, waardoor sommige mogelijk herhaaldelijk worden bevoordeeld boven andere.

* De oplossing:eerlijke wachtrijen:

* Concept: Garandeer voor elk proces in de loop van de tijd een eerlijk deel van een hulpbron.

* Implementatie:

* Processen die op een bron wachten, worden in een wachtrij geplaatst.

* De middelen worden op een eerlijke manier aan processen toegewezen, vaak met behulp van round-robin of soortgelijke planningsalgoritmen.

* Elk proces krijgt een tijdsdeel (of een ander resourcequotum) voordat een ander proces aan de beurt komt.

* Gewogen eerlijke wachtrijen (WFQ):

* Concept: Een variant van eerlijke wachtrijen waarbij aan elk proces een gewicht wordt toegekend dat het relatieve aandeel van de hulpbron bepaalt.

* Implementatie:

* Processen met hogere gewichten ontvangen proportioneel grotere delen van de bron.

* Dit maakt het mogelijk om prioriteit te geven aan belangrijke processen, terwijl er toch voor wordt gezorgd dat andere processen enige toegang krijgen.

3. Toewijzing van middelen met preventie/vermijding van impasses:

* Het probleem: Een impasse kan leiden tot hongersnood. Als processen vastlopen in het wachten op elkaars hulpbronnen, kunnen sommige voor onbepaalde tijd geblokkeerd worden. Zelfs als de impasse wordt doorbroken, kunnen dezelfde processen herhaaldelijk als slachtoffers worden gekozen, wat tot uithongering leidt.

* De oplossing:

* Preventie van impasses: Ontwerp het systeem voor de toewijzing van middelen structureel om de omstandigheden te elimineren die een impasse veroorzaken. Dit kan het volgende inhouden:

* Eliminatie van wederzijdse uitsluiting (meestal niet haalbaar): Maak het mogelijk dat resources tegelijkertijd door meerdere processen worden gebruikt.

* Voorkomen van wachten en wachten: Vereisen dat een proces alle bronnen in één keer opvraagt, of alle vastgehouden bronnen vrijgeeft voordat er meer worden aangevraagd.

* Geen voorrang: Sta toe dat het besturingssysteem met geweld bronnen uit een proces haalt (als het proces een bron vasthoudt die een ander proces nodig heeft en op een andere bron wacht).

* Voorkomen van circulair wachten: Leg een totale volgorde op voor resourcetypen en eis van processen dat ze resources in oplopende volgorde aanvragen.

* Het vermijden van impasses: Houd dynamisch toezicht op de status van de toewijzing van middelen en vermijd het toewijzen van middelen als dit tot een impasse zou kunnen leiden. Het bankiersalgoritme is een bekend voorbeeld.

* Waarom dit hongersnood helpt: Door impasses te vermijden zorgt het besturingssysteem ervoor dat bronnen uiteindelijk worden vrijgemaakt en beschikbaar worden gemaakt voor wachtende processen, waardoor de kans op blokkering voor onbepaalde tijd wordt verkleind.

4. Op reserveringen gebaseerde systemen:

* Het probleem: Processen kunnen voortdurend door anderen worden overboden voor toegang tot bronnen.

* De oplossing:

* Concept: Sta processen toe om vooraf middelen te reserveren.

* Implementatie:

* Een proces kan een gegarandeerde toewijzing van een hulpmiddel voor een bepaalde periode aanvragen.

* Het besturingssysteem zorgt ervoor dat de bron beschikbaar is wanneer het proces deze nodig heeft.

* Waarom dit hongersnood helpt: Reservering voorkomt dat een proces herhaaldelijk de toegang wordt ontzegd omdat het niet kan concurreren met de directe eisen van andere processen. Het garandeert een bepaald minimaal serviceniveau.

5. Loterijplanning:

* Het probleem: Processen kunnen consequent ongelukkig zijn bij willekeurige toewijzingsschema's.

* De oplossing:

* Concept: Geef processen "loten" voor een bron. Het besturingssysteem selecteert willekeurig een ticket en het proces dat dat ticket vasthoudt, krijgt de bron.

* Implementatie:

* Aan elk proces wordt een aantal tickets toegewezen dat evenredig is aan het belang of de behoefte ervan.

* Het besturingssysteem houdt een loterij om te bepalen welk proces de bron krijgt.

* Waarom dit hongersnood helpt: Hoewel het nog steeds mogelijk is dat een proces pech heeft in een enkele loterij, zullen processen met meer loten na verloop van tijd statistisch gezien een groter deel van de bron ontvangen, waardoor permanente denial of service wordt voorkomen. Hoe meer tickets een proces heeft, hoe groter de kans om te winnen. Zelfs processen met weinig tickets hebben een kans om te winnen die niet nul is, waardoor volledige uithongering wordt voorkomen.

6. Feedbackmechanismen:

* Het probleem: Statische planningsalgoritmen passen zich mogelijk niet goed aan aan veranderende systeemomstandigheden.

* De oplossing:

* Concept: Bewaak de prestaties van processen en pas de toewijzing van middelen dienovereenkomstig aan.

* Implementatie:

* Het besturingssysteem houdt bij hoe lang processen op bronnen hebben gewacht.

* Als een proces te lang heeft gewacht, kan het besturingssysteem de prioriteit verhogen, meer bronnen toewijzen of overschakelen naar een ander planningsalgoritme.

* Waarom dit hongersnood helpt: Dankzij feedbackmechanismen kan het besturingssysteem dynamisch reageren op hongersituaties en corrigerende maatregelen nemen.

Belangrijke overwegingen:

* Overhead: Al deze oplossingen brengen enige overhead met zich mee. De complexiteit van het algoritme heeft invloed op het CPU-gebruik, en het bijhouden van wachttijden vereist geheugen.

* Eerlijkheid versus efficiëntie: Vaak is er een afweging tussen eerlijkheid (voorkomen van hongersnood) en algehele systeemefficiëntie. Een volkomen eerlijk systeem is misschien niet het meest efficiënt in termen van doorvoer.

* Contextspecifiek: De beste aanpak om hongersnood te voorkomen hangt af van de specifieke hulpbron die wordt toegewezen, de aard van de processen en de algemene systeemdoelen. Een real-time besturingssysteem (RTOS) stelt strengere eisen dan een besturingssysteem voor algemene doeleinden.

Samenvattend maken besturingssystemen gebruik van een verscheidenheid aan technieken, vaak in combinatie, om uithongering te voorkomen en ervoor te zorgen dat alle processen uiteindelijk de middelen krijgen die ze nodig hebben om hun taken te voltooien. De sleutel is om eerlijkheid, efficiëntie en de specifieke vereisten van het systeem in evenwicht te brengen.

Previous: Next:
  CPU's
·Laptop CPU Usage op 100 % kome…
·Ondersteunt het D945GNT-moeder…
·Moederbord & CPU compatibilite…
·De snelheid van de microcomput…
·Hoe groot was de Intel Pentium…
·Hoe te vertellen als uw Dell-l…
·Te beginnen met de Intel i800-…
·Welke is de nieuwste Intel Pen…
·Waarom zijn gehele getallen en…
  Related Articles
het verschil tussen bits en bytes in ter…
Wat is de oplossing voor het maximale fl…
Wat is de betekenis van macht 2s in de i…
Wat is de betekenis van de CPU-klok bij …
Wat is de betekenis van de CPU-klok bij …
Wat is de betekenis van een cache-misser…
Wat is de rol van L1-cachegeheugen bij h…
Wat is het doel van een RAM-buffer in co…
Wat is het doel en de functionaliteit va…
  Hardware Articles
·Is een LCD-scherm hardware of software? 
·Hoe te Overclock de Core 2 Duo T9300 Lap…
·Hoe USB installeren Under Straatstenen 
·Hoe te toetsen Bevestig een MacBook 
·Wat betekent het als een geheugenkaart i…
·Mijn Power Supply Unit Maakt een raar si…
·Waar vind ik reviews en informatie over …
·Hoe vind ik een goedkope WiFi- Ready lap…
·Ook wel USB flash drives - - zijn hersch…
Copyright © Computer Kennis https://www.nldit.com