Avainero – Enn altaehkäisevä vs. enn altaehkäisemätön ajoitus käyttöjärjestelmässä
Prosessi on suoritettava ohjelma. Tietokoneen pitäisi suorittaa useita tehtäviä samanaikaisesti. Siksi CPU:n tulisi saada prosesseja ja suorittaa ne. Joskus on tarpeen suorittaa joitain prosesseja kuin muita prosesseja. Siinä vaiheessa käynnissä oleva prosessi keskeytyy ja CPU varataan uudelle prosessille. Kun tehtävä on suoritettu, CPU varataan takaisin edelliseen prosessiin. Tämän mekanismin mukainen ajoitus tunnetaan enn altaehkäisevänä ajoituksena. Jos käynnissä olevaa prosessia ei voida keskeyttää ja käynnissä oleva prosessi on pakko suorittaa, sitä kutsutaan enn altaehkäisemättömäksi ajoitukseksi. Tässä artikkelissa käsitellään eroa ennakoivan ja enn altaehkäisemättömän ajoituksen välillä käyttöjärjestelmässä. Enn altaehkäisevä ajoitus on prosessin ajoitusmekanismi, jonka kautta prosessi, jonka toinen prosessi voi keskeyttää kesken sen suorituksen. Ei-enn altaehkäisevä ajoitus on prosessin ajoitusmekanismi, jonka kautta yksi prosessi aloittaa suorituksen vasta edellisen prosessin päätyttyä. Tämä on keskeinen ero enn altaehkäisevän ja ei-enn altaehkäisevän ajoituksen välillä käyttöjärjestelmässä.
Mitä on ennakoiva ajoitus käyttöjärjestelmässä?
Round Robin Scheduling on esimerkki ennakoivasta ajoituksesta. Jokainen prosessi saa pienen määrän CPU-aikaa. Se on yleensä 10-100 millisekuntia. Tämä pieni tietoyksikkö tunnetaan myös aikakvanttina. Kun tämä aika on kulunut, prosessi estetään ja lisätään valmiusjonon loppuun. Oletetaan, että prosesseja on 4, kuten P1, P2, P3 ja P4. CPU:n purskeajat millisekunteina ovat seuraavat. Aikakvantti on 20.
Kuva 01: Esimerkki Round Robin -aikataulusta
P1-prosessi suoritetaan 20 asti. Vielä on 33 ms jäljellä. Sitten P2 suorittaa. Koska aikakvantti on 20 ja vaadittu aika P2 on 17 ms, P2 suoritetaan 17 ms. Joten P2-prosessi on valmis. Sitten P3:lle annetaan mahdollisuus. Se suoritetaan 20 ms. Loput on 48 ms. Sitten P4 suoritetaan 20 ms. Koko prosessin suorittamiseen on aikaa 4 ms. Jälleen P1 suorittaa 20 ms:n ajan. Sillä on vielä 13 ms aikaa prosessin loppuun saattamiseksi. Muutos annetaan P3:lle. Se suoritetaan 20 ms, ja sillä on vielä 28 ms aikaa valmistua kokonaan. P4 suorittaa. Siinä on vain 4 ms. Siksi P4 suorittaa suorituksen loppuun. P2 ja P4 ovat jo valmiit. Loput prosessit ovat P1 ja P3. Mahdollisuus annetaan P3:lle. Sen valmistumiseen oli 13 ms, joten se valmistuu. Nyt ainoa jäljellä oleva prosessi on P3. Sen suorittamiseen on 28 ms. Joten P3 toimii 20 ms. Loput on 8ms. Kaikki muut prosessit on jo suoritettu loppuun. Siksi P3:n loput 8 ms suoritetaan jälleen. Samoin jokainen prosessi saa mahdollisuuden suorittaa.
Mitä on enn altaehkäisemätön ajoitus käyttöjärjestelmässä?
First Come First Served (FCFS) -aikataulutus voidaan pitää esimerkkinä enn altaehkäisemättömästä ajoituksesta. Prosessi, joka pyytää ensin, allokoidaan ensin CPU:lle. FIFO-jono (First In First Out) hallitsee tätä ajoitusta helposti. Jos prosessit ovat järjestyksessä P1, P2 ja P3, niin mahdollisuus annetaan ensin P1:lle. Kun se on valmis, P2 suoritetaan. Kun P2 on valmis, P3 suoritetaan. Oletetaan, että on 3 prosessia, P1, P2 ja P3, joiden suorittimen purskeajat millisekunteina seuraavasti.
Kuva 02: Esimerkki FCFS-aikataulusta
Yllä olevan mukaan P1 suoritetaan. Kun se on valmis, prosessia P2 suoritetaan 3 ms:n ajan. Nyt jäljellä oleva prosessi on P3. Sitten se toteutuu. P1:n odotusaika on nolla. Prosessi P2 joutui odottamaan 24 ms ja prosessi P3 joutui odottamaan 27 ms. Jos prosessit saapuivat järjestyksessä P2, P3 ja P1, P2 valmistuu ensin. Seuraava P3 valmistuu ja lopulta P1 valmistuu.
Mikä on samank altaisuus ennakoivan ja ei-ennakoivan ajoituksen välillä käyttöjärjestelmässä?
Sekä ennakoiva että enn altaehkäisevä ajoitus käyttöjärjestelmässä ovat mekanismeja prosessien ajoittamiseen tietokoneessa
Mitä eroa on enn altaehkäisevällä ja ei-ennakoivalla aikataululla käyttöjärjestelmässä?
Enn altaehkäisevä vs. enn altaehkäisevä ajoitus käyttöjärjestelmässä |
|
Ennakoiva ajoitus on prosessin ajoitusmekanismi, jonka avulla toinen prosessi voi keskeyttää prosessin kesken sen suorituksen. | Ei enn altaehkäisevä ajoitus on prosessin ajoitusmekanismi, jonka kautta yksi prosessi aloittaa suorituksen vasta edellisen prosessin päätyttyä. |
Prosessin keskeytys | |
Ennakoivassa ajoituksessa prosessit voidaan keskeyttää. | Ei enn altaehkäisevässä ajoituksessa prosessit voidaan keskeyttää. |
CPU-käyttö | |
Ennakoivassa ajoituksessa suorittimen käyttöaste on korkeampi kuin enn altaehkäisevässä ajoituksessa. | Ei enn altaehkäisevässä ajoituksessa suorittimen käyttöaste on minimaalinen verrattuna ennakoivaan ajoitukseen. |
Joustavuus | |
Ennakoiva ajoitus on joustava. | Ei enn altaehkäisevä ajoitus ei ole joustava. |
Yhteenveto – Enn altaehkäisevä vs. enn altaehkäisevä ajoitus käyttöjärjestelmässä
Tietokoneessa on käynnissä useita prosesseja. Kun jokainen prosessi suoritetaan, CPU on varattu kyseiselle prosessille. Joskus on tarpeen pysäyttää nykyisen prosessin suorittaminen ja asettaa etusija toiselle prosessille. Prosessien ajoitusmekanismit voivat olla enn altaehkäiseviä tai ei-enn altaehkäiseviä. Enn altaehkäisevä ajoitus on prosessin ajoitusmekanismi, jonka kautta toinen prosessi voi keskeyttää prosessin kesken sen suorituksen. Ei-enn altaehkäisevä ajoitus on prosessin ajoitusmekanismi, jossa yksi prosessi aloittaa suorituksen vasta edellisen prosessin päätyttyä. Tämä on ero enn altaehkäisevän ja ei-enn altaehkäisevän ajoituksen välillä käyttöjärjestelmässä.
Lataa PDF-tiedosto enn altaehkäisevästä vs. ei-preemptiivisestä ajoituksesta käyttöjärjestelmässä
Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainaushuomautuksen mukaisesti. Lataa PDF-versio tästä: Ero enn altaehkäisevän ja enn altaehkäisemättömän ajoituksen välillä käyttöjärjestelmässä