Preventieve versus niet-preventieve planning in besturingssystemen: verschil en vergelijking

Preëmptieve planning is een CPU-planningsprocedure die werkt door tijdtoewijzingen van CPU te scheiden voor een bepaalde interactie.

Terwijl Non-Preemptive Scheduling een CPU-planningsprocedure is waarbij de cyclus het asset (CPU-tijd) neemt en vasthoudt totdat de interactie wordt beëindigd of naar de upstate wordt geduwd.

Er zijn kosten verbonden aan het preventieve proces, terwijl er aan het niet-preventieve proces geen kosten verbonden zijn.

Key Takeaways

  1. Met preventieve planning kan het besturingssysteem een ​​lopend proces met geweld onderbreken, terwijl niet-preventieve planning vereist dat het proces de controle vrijwillig opgeeft.
  2. Preventieve planning biedt betere responstijden en een beter gebruik van resources dan niet-preventieve planning.
  3. Niet-preventieve planning is eenvoudiger, maar kan resulteren in minder efficiënte systeemprestaties dan preventieve planning.

Preventieve versus niet-preventieve planning

Met preventieve planning kunnen taken met een hogere prioriteit taken met een lagere prioriteit onderbreken, terwijl niet-preventieve planning dat niet doet. Het wordt gebruikt in real-time systemen, terwijl niet-preventieve planning eenvoudiger en voorspelbaarder is, maar kan resulteren in langere wachttijden voor bepaalde taken.

Preventieve versus niet-preventieve planning

Preëmptieve planning is in feite een strategie waarbij de activiteiten worden toegewezen op basis van hun behoeften.

Het wordt gebruikt wanneer een cyclus verandert van lopende toestand naar voorbereide toestand of vasthouden van de voorbereide toestand. In Preemptive Scheduling kan de operatie eenvoudig worden onderbroken.

In de niet-preventieve planning, de CPU is toegewezen aan een bepaalde interactie. De bewerking die aan de CPU is toegewezen, moet worden voltooid om door te gaan naar de volgende bewerking.

De enige techniek die kan worden gebruikt voor verschillende hardwarefasen. Niet-preventieve planning vindt plaats wanneer een operator stand-by gaat of stopt.

Vergelijkingstabel

 Parameters van vergelijking:Preventieve planningNiet-preventieve planning
Flexibiliteit Het is flexibel. Het is niet-flexibel.
Kosten Het is kostengerelateerd. Er zijn geen kosten aan verbonden.
Algoritme Het heeft een algoritme van overhead-switching. Het heeft niet zo'n algoritme voor overhead-switching.
Onderbreking Het proces kan eenvoudig worden onderbroken.Het proces kan niet worden onderbroken.
CPU-gebruik Efficiënter Minder efficient

Wat is preventieve planning?

Het is de functie van de CPU-scheduler om een ​​cyclus naar de CPU te distribueren op elk moment dat de CPU in de inactieve toestand is. De CPU-scheduler kiest een cyclus uit de voorbereide regel en wijst de interactie toe aan de CPU.

Lees ook:  Patreon versus Ko-fi: verschil en vergelijking

Bij dit soort planning zijn de activa (CPU-cyclus) aangewezen om gedurende een beperkte tijd te werken. Een bewerking kan worden onderbroken wanneer deze wordt uitgevoerd of uitgevoerd.

In het geval dat bij vooraf geplande planning een cyclus met een hoge behoefte verschijnt in de voorbereide regel, wordt de bewerking met een lage behoefte gestopt en laten we de bewerking met een hoge behoefte beëindigen.

Ervan uitgaande dat er een cyclus verschijnt met de meest opmerkelijke behoefte, geldt deze operatie niet om de hele operatie te voltooien.

In plaats van wat het zal doen, zal het de cyclus onderbreken en het proces stabiel maken, en het zal de bewerking starten voor dat proces dat hoge prioriteit heeft.

Hierdoor kan de cyclus worden voltooid, die een hogere prioriteit heeft dan de andere, en zodra de bewerking is voltooid, wordt de volgende gestart.

Dus langs deze lijnen krijgt elk van de operaties die zich in de toegankelijke lijn bevinden een ideale kans om te rennen.

Wat is niet-preventieve planning?

De bewerking die plaatsvindt wanneer een proces eindigt of verandert van doorlopend naar wachten op status, dit soort CPU-bewerkingen wordt Non-Preemptive Scheduling genoemd.

Dit type planning wordt toegepast wanneer de bewerkingen van de ene staat naar de andere zijn voltooid.

In dit type proces heeft het niet de functie om de bewerking te onderbreken zoals in Preemptive, dus wat er gebeurt, is dat als het proces eenmaal is gestart, het zonder enige onderbreking zal worden voltooid.

De reden hiervoor is dat het bij Non-Preemptive Scheduling niet de functie heeft om de bewerking tussendoor te onderbreken, waardoor het moet wachten zodra de eerste bewerking is voltooid.

Alles bij elkaar genomen, houdt het stand totdat de cyclus zijn bewerking beëindigt, en als het eenmaal voorbij is, wordt het overgedragen naar de andere bewerking. 

De enige strategie die kan worden gebruikt voor verschillende hardwarestadia. Dat komt omdat het specifieke apparatuur nodig heeft, zoals planning uit voorzorg.

Lees ook:  DFMEA versus PFMEA: verschil en vergelijking

Bij niet-preventieve planning bestaat zoiets niet algoritme voor het schakelen van overheadbewerkingen waardoor de CPU moet wachten tot de volgende bewerking wordt overgedragen.

Omdat het niet kan worden onderbroken, waardoor de niet-preventieve planning zo inflexibel is in vergelijking met preventieve planning

Belangrijkste verschillen tussen preventieve en niet-preventieve planning bij besturingssystemen

  1. Bij Preemptive Scheduling kan het proces eenvoudig worden onderbroken, terwijl bij Non-Preemptive Scheduling de lopende cyclus eerst moet worden voltooid om door te gaan naar de volgende cyclus.
  2. Bij preventieve planning heeft het proces een overhead omdat het meerdere bewerkingen moet plannen, terwijl bij niet-preventieve planning zoiets niet bestaat omdat het geen enkele functie biedt voor de onderbreking tussen het proces.
  3. Preëmptieve planning is flexibel (dwz kan gemakkelijk worden gewijzigd) van aard in vergelijking met niet-preventieve planning, wat dat niet is.
  4. Bij preventieve planning wordt het proces met de hoogste prioriteit als eerste gegeven, terwijl bij niet-preventieve planning de bewerking die aan de gang is moet worden voltooid om door te gaan naar de volgende.
  5. Preventieve planning is kosteneffectief om de operatie uit te voeren waarvoor u moet betalen, terwijl in het geval van niet-preventieve planning het volledig gratis is.
Referenties
  1. https://hal.inria.fr/inria-00073732/
  2. http://clweb.csa.iisc.ernet.in/sarojini/rts/periodid-sporadic.pdf

Laatst bijgewerkt: 13 juli 2023

stip 1
Een verzoek?

Ik heb zoveel moeite gestoken in het schrijven van deze blogpost om jou van waarde te kunnen zijn. Het zal erg nuttig voor mij zijn, als je overweegt het te delen op sociale media of met je vrienden/familie. DELEN IS ️

Laat een bericht achter

Dit artikel bewaren voor later? Klik op het hartje rechtsonder om op te slaan in je eigen artikelenbox!