Ennakoiva tai ei-ennaltaehkäisevä aikataulu: Keskeiset erot

Sisällysluettelo:

Anonim

Mikä on ennakoiva ajoitus?

Preemptive Scheduling on ajoitusmenetelmä, jossa tehtävät määritetään enimmäkseen prioriteeteineen. Joskus on tärkeää suorittaa tehtävä, jolla on korkeampi prioriteetti ennen toista matalamman prioriteetin tehtävää, vaikka alemman prioriteetin tehtävä on edelleen käynnissä.

Tuolloin matalamman prioriteetin tehtävä kestää jonkin aikaa ja jatkuu, kun korkeamman prioriteetin tehtävä on suoritettu loppuun.

Tässä käyttöjärjestelmän opetusohjelmassa opit:

  • Mikä on ennakoiva ajoitus?
  • Mikä on ei-ennaltaehkäisevä aikataulu?
  • Ero ennakoivan ja ei-ennakoivan aikataulun välillä käyttöjärjestelmässä
  • Ennakoivan aikataulun edut
  • Ennakoivan aikataulun edut
  • Ennakoivan aikataulun haitat
  • Ei-ennakoivan aikataulun haitat
  • Esimerkki ei-ennakoivasta aikataulusta
  • Esimerkki ennakoivasta aikataulusta

Mikä on ei-ennaltaehkäisevä aikataulu?

Tämän tyyppisessä ajoitusmenetelmässä CPU on varattu tietylle prosessille. Prosessi, joka pitää CPU: n kiireisenä, vapauttaa suorittimen joko vaihtamalla kontekstia tai lopettamalla.

Se on ainoa menetelmä, jota voidaan käyttää erilaisille laitteistoalustoille. Tämä johtuu siitä, että se ei tarvitse erikoistuneita laitteita (esimerkiksi ajastinta), kuten ennakoivaa ajoitusta.

Ei-ennaltaehkäisevä aikataulutus tapahtuu, kun prosessi siirtyy vapaaehtoisesti odotustilaan tai päättyy.

Ero ennakoivan ja ei-ennakoivan aikataulun välillä käyttöjärjestelmässä

Tässä ovat käyttöjärjestelmän ennaltaehkäisevät ja ennaltaehkäisevät aikataulut

Ennakoiva aikataulutus Ei-ennaltaehkäisevä aikataulutus
Suoritinta voidaan ennakoida suorittamaan eri prosessit minkä tahansa nykyisen prosessin suorituksen keskellä. Kun prosessori aloittaa suorituksen, sen on suoritettava se loppuun ennen toisen suorittamista. Sitä ei voi keskeyttää keskellä.
Suorittimen käyttö on tehokkaampaa kuin ei-ennaltaehkäisevä ajoitus. Suorittimen käyttö on vähemmän tehokasta kuin ennakoiva aikataulutus.
Ennakoivan aikataulun odotus- ja vasteaika on lyhyempi. Ennalta ehkäisevän ajoitusmenetelmän odotus- ja vasteaika ovat korkeammat.
Ennakoiva ajoitus on priorisoitu. Korkein prioriteetti on prosessi, jota käytetään tällä hetkellä. Kun jokin prosessi siirtyy käynnissä olevaan tilaan, kyseisen prosessin tilaa ei koskaan poisteta ajastimesta, ennen kuin se on saanut työnsä päätökseen.
Ennakoiva aikataulutus on joustavaa. Ennalta ehkäisemätön aikataulutus on jäykkä.
Esimerkkejä: - Lyhin jäljellä oleva aika ensin, Round Robin jne. Esimerkkejä: ensin palvele ensin, lyhin työ ensin, prioriteettiaikataulu jne.
Ennakoiva ajoitusalgoritmi voidaan ennakoida, eli prosessi voidaan ajoittaa Ei-ennakoivassa aikataulutusprosessia ei voi ajoittaa
Tässä prosessissa CPU allokoidaan prosesseille tietyksi ajanjaksoksi. Tässä prosessissa CPU allokoidaan prosessille, kunnes se päättyy tai siirtyy odotustilaan.
Ennakoivalla algoritmilla on prosessin vaihtamisen valmiustilasta käyttötilaan ja päinvastoin. Ei-ennaltaehkäisevällä aikataulutuksella ei ole tällaista ylimääräistä prosessin siirtämistä valmiustilaan siirtymisestä.

Ennakoivan aikataulun edut

Tässä ovat ennakoivan ajoituksen menetelmän edut / edut:

  • Ennakoiva ajoitusmenetelmä on vankempi, lähestymistapa, joten yksi prosessi ei voi monopolisoida prosessoria
  • Jatkuvan tehtävän valinta harkitaan uudelleen jokaisen keskeytyksen jälkeen.
  • Jokainen tapahtuma aiheuttaa käynnissä olevien tehtävien keskeytymisen
  • Käyttöjärjestelmä varmistaa, että suorittimen käyttö on sama kaikissa käynnissä olevissa prosesseissa.
  • Tässä CPU: n käyttö on sama, ts. Kaikki käynnissä olevat prosessit käyttävät CPU: ta tasavertaisesti.
  • Tämä ajoitusmenetelmä parantaa myös keskimääräistä vasteaikaa.
  • Ennakoiva ajoitus on hyödyllistä, kun käytämme sitä moniohjelmointiin.

Ennakoivan aikataulun edut

Tässä ovat ennalta ehkäisemättömän ajoituksen menetelmän edut / edut:

  • Tarjoaa matalat aikataulutettavat yleiskustannukset
  • Tarjoaa yleensä suuren suorituskyvyn
  • Se on käsitteellisesti hyvin yksinkertainen menetelmä
  • Aikataulutukseen tarvitaan vähemmän laskennallisia resursseja

Ennakoivan aikataulun haitat

Tässä ovat ennakoivan ajoituksen menetelmän haitat / haitat:

  • Tarvitsetko rajalliset laskennalliset resurssit ajoitusta varten
  • Ajastin vie enemmän aikaa keskeyttää käynnissä oleva tehtävä, vaihtaa konteksti ja lähettää uusi saapuva tehtävä.
  • Matalan prioriteetin prosessin on odotettava pidempään, jos jotkut korkean prioriteetin prosessit saapuvat jatkuvasti.

Ei-ennakoivan aikataulun haitat

Tässä ovat haittaa / haittaa ei-ennaltaehkäisevälle ajoitusmenetelmälle:

  • Se voi johtaa nälkään erityisesti niissä reaaliaikaisissa tehtävissä
  • Virheet voivat aiheuttaa koneen jäätymisen
  • Se voi vaikeuttaa reaaliaikaista ja prioriteettiaikataulua
  • Huono vasteaika prosesseille

Esimerkki ei-ennakoivasta aikataulusta

Ei-ennaltaehkäisevässä SJF-ajoituksessa, kun CPU-sykli on varattu prosessille, prosessi pitää sitä, kunnes se saavuttaa odotustilan tai päättyy.

Harkitse seuraavia viittä prosessia, joilla kullakin on oma ainutlaatuinen purske- ja saapumisaikansa.

Prosessijono Sarjaaika Saapumisaika
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

Vaihe 0) Aikana = 0 P4 saapuu ja aloittaa suorituksen.

Vaihe 1) Aikana = 1, prosessi P3 saapuu. Mutta P4 tarvitsee vielä 2 suoritusyksikköä suoritettavaksi. Se jatkaa toteuttamista.

Vaihe 2) Kun aika = 2, prosessi P1 saapuu ja lisätään odotusjonoon. P4 jatkaa suoritusta.

Vaihe 3) Ajanhetkellä = 3 prosessi P4 suorittaa suorituksensa loppuun. P3: n ja P1: n purskeaikaa verrataan. Prosessi P1 suoritetaan, koska sen purskeaika on pienempi kuin P3.

Vaihe 4) Kun aika = 4, prosessi P5 saapuu ja lisätään odotusjonoon. P1 jatkaa suoritusta.

Vaihe 5) Kun aika = 5, prosessi P2 saapuu ja lisätään odotusjonoon. P1 jatkaa suoritusta.

Vaihe 6) Aikana = 9 prosessi P1 suorittaa suorituksensa loppuun. P3: n, P5: n ja P2: n purskeaikaa verrataan. Prosessi P2 suoritetaan, koska sen purskeaika on pienin.

Vaihe 7) Aikana = 10, P2 suorittaa, ja P3 ja P5 ovat odotusjonossa.

Vaihe 8) Ajanhetkellä = 11 prosessi P2 suorittaa suorituksensa loppuun. P3: n ja P5: n purskeaikaa verrataan. Prosessi P5 suoritetaan, koska sen purskeaika on pienempi.

Vaihe 9) Ajanhetkellä = 15 prosessi P5 suorittaa suorituksensa loppuun.

Vaihe 10) Ajanhetkellä = 23 prosessi P3 suorittaa suorituksensa loppuun.

Vaihe 11) Laske keskimääräinen odotusaika yllä olevalle esimerkille.

Wait timeP4= 0-0=0P1= 3-2=1P2= 9-5=4P5= 11-4=7P3= 15-1=14Average Waiting Time= 0+1+4+7+14/5 = 26/5 = 5.2

Esimerkki ennakoivasta aikataulusta

Harkitse tätä seuraavaa Round-robin-prosessia

Prosessijono Sarjaaika
P1 4
P2 3
P3 5

Vaihe 1) Suoritus alkaa prosessilla P1, jolla on purskeaika 4. Tässä jokainen prosessi suoritetaan 2 sekunnin ajan. P2 ja P3 ovat edelleen odotusjonossa.

Vaihe 2 ) Kun aika = 2, P1 lisätään jonon loppuun ja P2 alkaa suorittaa

Vaihe 3) Aikana = 4 P2 estetään ja lisätään jonon loppuun. P3 alkaa suorittaa.

Vaihe 4) Aikana = 6 P3 estetään ja lisätään jonon loppuun. P1 alkaa suorittaa.

Vaihe 5) Aikana = 8, P1: n purskeaika on 4. Se on suoritettu loppuun. P2 aloittaa suorituksen

Vaihe 6) P2: n purskeaika on 3. Se on jo suoritettu kahden aikavälin ajan. Aikana = 9, P2 suorittaa suorituksen loppuun. Sitten P3 aloittaa suorituksen, kunnes se on valmis.

Vaihe 7) Laske keskimääräinen odotusaika yllä olevalle esimerkille.

Wait timeP1= 0+ 4= 4P2= 2+4= 6P3= 4+3= 7

AVAINEROT

  • Preemptive Scheduling -prosessissa CPU allokoidaan prosesseille tietyksi ajanjaksoksi, ja ennalta ehkäisemätön aikataulutettava CPU allokoidaan prosessille, kunnes se päättyy.
  • Preemptive Scheduling -ohjelmassa tehtävät vaihdetaan prioriteetin perusteella, kun taas preemptive Schedulign -vaihtoa ei tapahdu.
  • Ennakoivalla algoritmilla on prosessin vaihtamisen valmiustilasta käynnissä olevaan tilaan, kun taas ei-ennaltaehkäisevällä aikataululla ei ole tällaista kytkentäyksikköä.
  • Ennakoiva ajoitus on joustavaa, kun taas ennakoimaton ajoitus on jäykkä.