Lähimmän eräpäivän ( EDF ) ajoitusalgoritmi on dynaaminen ajoitusalgoritmi. Käytetään reaaliaikaisissa käyttöjärjestelmissä prosessien sijoittamiseen prioriteettijonoon . Kun ajoitustapahtuma tapahtuu (tehtävä on valmis, uusi tehtävä on ilmestynyt jne.), jonosta etsitään prosessi, joka on lähinnä sen määräaikaa. Tämä prosessi ajoitetaan suoritettavaksi seuraavaksi.
Lähimmän valmistumisen ajoitus on optimaalinen yksiprosessorin ennaltaehkäiseville järjestelmille seuraavassa mielessä: jos on mahdollista taata, että voidaan taata joukko itsenäisiä tehtäviä, joista jokaiselle on ominaista saapumisaika, valmistumisvaatimus ja valmistumisaika määräaikaan mennessä. loppuun, EDF-algoritmi pystyy myös tekemään tämän.
Kun ajoitetaan jaksottaisia prosesseja, joiden määräajat ovat samat kuin niiden jaksot, lähimpänä valmistumista oleva ajoitusalgoritmi käyttää täyttä kuormaa. Siksi tämän algoritmin ajoitustesti on [1] :
missä on prosessien pahimman tapauksen suoritusaika ja vastaava ajanjakso niiden saapumispäivien välillä (olettaen, että se on yhtä suuri kuin vastaavat määräajat).
Toisin sanoen toimeksianto lähimpään valmistumispäivään mennessä varmistaa, että kaikkia määräaikoja noudatetaan, kunhan suorittimen kokonaiskäyttö ei ylitä 100 %. Kiinteiden prioriteettien käyttöön verrattuna lähimmän valmistumispäivän ajoittaminen varmistaa, että kaikkia määräaikoja noudatetaan, kun työmäärä on suurempi.
Jos järjestelmä on kuitenkin ylikuormitettu, prosessien joukko, jonka määräaika ylitetään, on erittäin arvaamaton (se riippuu ylikuormituksen tarkasta ajoituksesta ja ajasta.) Tämä on huomattava haitta reaaliaikaisten järjestelmien suunnittelijoille. . Lisäksi algoritmi on vaikea toteuttaa laitteistossa ja vaikeuksia on esittää määräaikoja eri alueilla (määräaikoja ei voida määrittää tarkemmin kuin aikataulutuksessa käytetyt kellojaksot). Jos tulevien määräaikojen laskemiseen käytetään modulaarista aritmetiikkaa , tulevia määräaikoja tallentavien kenttien on sisällettävä vähintään arvo "kaksi kertaa pisimmän odotetun suoritusajan kesto" + "nyt". Siksi lähimmän valmistumispäivän ajoittaminen ei ole yleistä reaaliaikaisissa teollisissa tietokonejärjestelmissä.
Sen sijaan useimmat reaaliaikaiset tietokonejärjestelmät käyttävät kiinteän prioriteetin ajoitusta. Kiinteällä prioriteetilla on helpompi varmistaa, että ylikuormitettuina matalan prioriteetin prosessit jäävät myöhässä, kun taas korkean prioriteetin prosessit valmistuvat ajallaan.
Lähiajan valmistumisen suunnittelusta on tehty paljon tutkimusta ; Tällä algoritmilla on mahdollista laskea prosessien pahimman tapauksen vasteaika, työskennellä muun tyyppisten prosessien kuin eräprosessien kanssa ja käyttää palvelimia ruuhkanhallintaan.
Käyttöjärjestelmien näkökohdat | |||||
---|---|---|---|---|---|
| |||||
Tyypit |
| ||||
Nucleus |
| ||||
Prosessien hallinta |
| ||||
Muistinhallinta ja osoitus |
| ||||
Lataus- ja alustustyökalut | |||||
Kuori | |||||
Muut | |||||
Luokka Wikimedia Commons Wikikirjat Wikisanakirja |