Forebyggende planleggingspolicy gir flere fordeler fremfor ikke-forebyggende planleggingsalgoritmer:
Forbedret systemrespons:Forebyggende planlegging sikrer at prosesser med høy prioritet kan ta kontroll over CPU-en umiddelbart, selv om de ikke kjører for øyeblikket. Når en prosess med høyere prioritet blir klar til å kjøre, er den tillatt å foregripe eller avbryte en prosess med lavere prioritet som kjører. Dette sikrer at viktige oppgaver fullføres uten unødvendig venting, noe som fører til forbedret systemrespons og brukertilfredshet.
Bedre utnyttelse av CPU:Ved å prioritere prosesser tillater forebyggende planlegging mer effektiv utnyttelse av CPU. Høyprioriterte prosesser som krever akutt behandling kan få umiddelbar CPU-tid, noe som gjør at systemet kan fullføre kritiske oppgaver raskere og gå videre til andre oppgaver. Dette forhindrer prosesser med lavere prioritet fra å monopolisere CPU-en, noe som resulterer i høyere total gjennomstrømning.
Sikrer rettferdighet:Forebyggende planlegging sikrer rettferdighet mellom prosesser ved å forhindre at prosesser med lavere prioritet blokkerer utførelsen av oppgaver med høyere prioritet på ubestemt tid. Med preemption evaluerer planleggeren regelmessig prosessprioriteter og sikrer at prosesser med høyere prioritet periodisk tildeles CPU. Denne rettferdighetsmekanismen bidrar til å forhindre sult, en tilstand der lavere prioriterte prosesser kanskje aldri får en sjanse til å utføre på grunn av kontinuerlig utførelse av høyere prioriterte prosesser.
Forbedret ressursstyring:Forebyggende planlegging kan hjelpe til med å administrere systemressurser effektivt. Ved å gi høyere prioritet til ressurskrevende prosesser eller tidssensitive oppgaver, kan planleggeren sørge for at disse oppgavene får de nødvendige ressursene og fullføre deres utførelse innenfor ønskede tidsrammer. Dette forbedrer den generelle systemytelsen og bidrar til å unngå stopp i ressursene.
Økt forutsigbarhet:Forebyggende planlegging gir et nivå av forutsigbarhet i prosessutførelsestider. Ved å tildele prosessprioriteringer og tillate forkjøp, blir det lettere å estimere hvor lang tid en prosess vil ta å fullføre utførelse. Denne forutsigbarheten er avgjørende for sanntidssystemer og visse applikasjoner der tidsbegrensninger må oppfylles.
Overhead for kontekstbytte:En ulempe med forebyggende planlegging er overheaden knyttet til kontekstbytte mellom prosesser. Når en prosess med høyere prioritet hindrer en kjørende prosess, må CPU-konteksten byttes til den nylig valgte prosessen. Dette innebærer å lagre den gjeldende prosessens tilstand og laste inn forhåndsprosessens kontekst. Hyppig forkjøp kan føre til økt overhead og potensielt redusere systemets ytelse.
Potensiell overhead:Selv om forebyggende planlegging sikrer forbedret systemrespons og rettferdighet, kan den introdusere ytterligere planleggingsoverhead sammenlignet med ikke-forebyggende algoritmer. Kontekstveksling mellom prosesser krever lagring og gjenoppretting av CPU-registre, minnetilordninger og annen tilstandsinformasjon. Denne overheaden kan påvirke systemytelsen litt, spesielt i tilfeller der prosesser ofte blir avbrutt på grunn av endringer med høy prioritet.