Syöttöjono - Input queue

In Computer Science , tulojonoon on kokoelma prosesseja varastointi , jotka odottavat saatettavissa muistiin suorittaa ohjelman. Syöttöjonoja käytetään pääasiassa käyttöjärjestelmien ajoittamisessa, joka on tekniikka resurssien jakamiseen prosessien kesken. Syöttöjonot eivät koske vain käyttöjärjestelmiä (OS), vaan niitä voidaan käyttää myös ajoitustoimintoihin verkkolaitteiden sisällä. Aikataulun tarkoituksena on varmistaa resurssien jakautuminen oikeudenmukaisesti ja tehokkaasti; Siksi se parantaa järjestelmän suorituskykyä.

Pohjimmiltaan jono on kokoelma, johon lisätään tietoja taka-asennossa ja poistetaan etuasennosta. Jonotyyppejä on monia erityyppisiä, ja niiden toimintatavat voivat olla täysin erilaisia.

Käyttöjärjestelmät käyttävät ensin tuloa, ensimmäisen palvelun jonoja, lyhyintä jäljellä olevaa aikaa, kiinteän prioriteetin ennaltaehkäisevää ajoitusta, pyöreän robinin aikataulua ja monitasoisen jonon ajoitusta.

Verkkolaitteet käyttävät ensin-ensin-ulos-jonoa, painotettua käyntijonoa, prioriteettijonoa ja mukautettua jonoa.

Käyttöjärjestelmä

Käyttöjärjestelmissä prosessit ladataan muistiin ja odota niiden suorittamista suorittamalla keskusyksikkö (CPU). Prosessorin ajoittaminen hallitsee prosessitiloja ja päättää syöttöjonon avulla, milloin seuraava prosessi suoritetaan.

Palvellaan saapumisjärjestyksessä

Ensin tulleet, ensin palvelut -prosessit poistetaan jonosta peräkkäisessä järjestyksessä siten, että ne asetetaan jonoon. Tällä menetelmällä jokaista prosessia kohdellaan tasa-arvoisesti. Jos prioriteetteja on kaksi ja prioriteetti eroaa toisistaan, ja alemman prioriteetin prosessi siirtyy jonolle ensin, se suoritetaan ensin. Tämä lähestymistapa ei ehkä ole ihanteellinen, jos eri prosesseilla on erilaiset prioriteetit, etenkin jos prosessit ovat pitkät.

Lyhin jäljellä oleva aika

Lyhimmän jäljellä olevan ajan menetelmä yrittää ennustaa kehityksen käsittelyajan ja asettaa ne jonoon pienimmästä suurimpaan käsittelyaikaan. Tämä menetelmä estimoi ja ennustaa aikaisemman historiatietueen perusteella. Sen suorituskyky ei ole vakaa, mutta parantaa prosessin odotusaikaa paremmin kuin ensin tullutta palvellaan ensin.

Kiinteä prioriteetti ennaltaehkäisevä ajoittaminen

Kiinteän prioriteetin ennaltaehkäisevä ajoitusmenetelmä antaa prosessille erilaisia ​​prioriteetteja niiden käsittelyajan perusteella ja järjestää ne jonoon prioriteettiensa mukaan. CPU-palvelinprosessit korkeammasta alhaisempaan prioriteettiin, ja prosessit, joilla on sama prioriteetti, palvelevat kuin ensin tullutta palvelusta ensin. CPU lopettaa väliaikaisesti alhaisen prioriteetin prosessin palvelemisen, kun korkeamman prioriteetin prosessi tulee jonoon.

Ympyrä-robinien aikataulut

Pyöreän robinin aikataulutusmenetelmä antaa saman ajan kullekin prosessille ja kulkee niiden läpi. Tämä menetelmä perustuu suuresti siihen, kuinka paljon aikaa kullekin prosessille annetaan. Liian lyhyt jakoaika hajottaa prosessit, ja liian pitkä jakoaika pidentää kunkin suoritettavan prosessin odotusaikaa. Tämän menetelmän perusta on oikean jakoajan valitseminen.

Monitasoinen jonon aikataulu

Monitasoisessa jonon ajoitusmenetelmässä käytetään monia jonoja ja jokaisella jonolla on oma aikataulun algoritmi. Monitasoisen jonon ajoitus on monimutkaisempi kuin muihin menetelmiin verrattuna, mutta se tarjoaa joustavuuden OS: lle palvella erilaisia ​​tietoja monimutkaisissa tilanteissa.

verkostoituminen

Verkottumisessa paketit ovat avain perusta ajoittamiselle. Verkkotunnuksen ympärillä liikkuu joka päivä erilaisia ​​erityyppisiä paketteja, ja niitä kohdellaan täysin eri tavoin. Esimerkiksi ääni- ja videopaketeilla on korkeampi prioriteetti kuin tavallisilla paketeilla. Paketin hallitsemiseksi ja jakamiseksi tehokkaasti verkkolaitteet käyttävät myös syöttöjonoa määrittääkseen, mikä paketti lähetetään ensin.

Ensin sisään, ensin ulos jonosta (FIFO)

Tässä tilassa paketit poistetaan jonosta siinä järjestyksessä kuin ne tulevat jonosta. Jokaista pakettia käsitellään samalla prioriteetilla. Jos iso paketti A tulee eteenpäin pienen paketin B edestä, B: n on silti odotettava, kunnes A on täysin palveltu. Jos järjestelmä kohtelee kaikkia paketteja samalla tavalla, käyttäjät voivat kokea lähetysviiveen, kuten: äänipaketit.

Painotettu oikeudenmukainen jono (WFQ)

Painotettu käypä jono käyttää min-max-fair-share algoritmia pakettien jakamiseen. Min. Fair fair-share tarkoittaa, että verkko-OS jakaa yhtä pienen resurssin jokaiselle pakettityypille. Suurin sallittu osuus tarkoittaa, että verkko-OS tarjoaa enemmän resursseja paketeille, joille on siirrettävä paljon päivämäärää sillä hetkellä, mutta se vie resurssin takaisin siirron jälkeen. ”Painotettu” tarkoittaa, että aikataulu antaa painon jokaiselle pakettityypille. Perustuen painoon, se määrittelee kuinka laittaa paketti jonoon ja palvella heitä. Kukin paketti painotetaan yleensä kunkin paketin IP-otsikosta IP Precedence -kentän perusteella.

Kohtuullinen allokointi = (resurssikapasiteetti - resurssi on jo allokoitu) / pakettien lukumäärä

Prioriteettijono (PQ)

Prioriteettijono on jaettu neljään alajonoon, joilla on erilaiset prioriteetit. Jokaisen jonon tiedot palvellaan vain, kun korkeamman prioriteetin jonot ovat tyhjät. Jos tiedot tulevat tyhjään korkeamman prioriteetin jonoon, kun verkko-OS siirtää alemman prioriteetin jonon tietoja, verkko-OS pitää alemman prioriteetin jonon tietoja ja prosessoi dataa ensin korkeamman prioriteetin jonossa. Verkko-OS ei välitä kuinka kauan alemman prioriteetin jonojen on odotettava vuoroaan, koska se viimeistelee aina kunkin jonon korkeimmasta prioriteettista ensin ennen siirtymistä seuraavaan jonoon. Kussakin jonossa paketit välitetään edelleen "ensin sisään-ensin" -perusteen perusteella.

Muokattu jono (CQ)

Muokattu jono on jaettu 17 eri alajonoon. Ensimmäinen jono, jono 0, on varattu verkko-OS: lle järjestelmäpakettien lähettämiseksi, muut 16 jonoa ovat käyttäjän määrittelemiä paketteja. Käyttäjä voi määritellä useita tärkeitä paketteja ja määrittää ne jokaiselle jonoon. Jokaisella jonolla on rajoitettu koko ja se pudottaa kaikki tulevat paketit, jos se saavuttaa tämän rajan. Jokainen jono palvellaan sen perusteella, kuinka paljon paketteja tarjotaan jokaisessa jonossa. Jos tämä raja saavutetaan, verkko-OS pitää nykyisen jonon paketteja ja palvelee seuraavaa jonoa, kunnes tämä jono on tyhjä tai se saavuttaa pakettirajansa. Jos yksi jono on tyhjä, verkko-OS ohittaa kyseisen jonon ja palvelee seuraavaa jonoa.

Viitteet

  • Stallings, William (2003). CCIE käytännön opinnot, osa II . Cisco Press. ISBN  1-58705-072-2 .
  • Käyttöjärjestelmän ajoitus
  • Käyttöjärjestelmä - ajoitus
  • OS-aikataulut ja puskurointi