All the information needed to keep track of a process when switching is keep in a data package called a process control block. Prosessinohjauslohko sisältää tyypillisesti:
- tunnistenumero, joka yksilöi prosessin
- osoittaa ohjelman paikat ja sen tiedot, joissa käsittely on viimeksi tapahtunut
- rekisterin sisältö
- erilaisten lippujen ja kytkimien tilat
- osoittimet prosessin vaatiman muistin ylä-ja alarajoille
- luettelo prosessin avaamista tiedostoista
- prosessin prioriteetti
- kaikkien I/o prosessin tarvitsemat laitteet
jokaisella prosessilla on siihen liittyvä status. Monet prosessit eivät kuluta suorittimen aikaa, ennen kuin ne saavat jonkinlaisen syötteen. Prosessi saattaa esimerkiksi odottaa käyttäjän näppäilyä. Kun se odottaa näppäimen painallusta, se ei käytä suoritinaikaa. Sitä odotellessa se ”hyllytetään”. Kun näppäin saapuu, käyttöjärjestelmä muuttaa tilaansa. Kun prosessin tila muuttuu esimerkiksi vireillä olevasta aktiiviseksi tai keskeytetystä käynnissä olevaksi, prosessinohjauslohkon tietoja on käytettävä kuten minkä tahansa muun ohjelman tietoja käyttöjärjestelmän tehtäväkytkentäosan suorittamisen ohjaamiseen.
Mainos
tämä prosessinvaihto tapahtuu ilman suoraa käyttäjän puuttumista, ja jokainen prosessi saa riittävästi SUORITINSYKLEJÄ suorittaakseen tehtävänsä kohtuullisessa ajassa. Ongelmat voivat alkaa, jos käyttäjä yrittää saada liian monta prosessia toimimaan samaan aikaan. Käyttöjärjestelmä itsessään vaatii joitakin SUORITINSYKLEJÄ suorittaakseen kaikkien sovellusprosessien rekisterien, jonojen ja pinojen tallentamisen ja vaihtamisen. Jos prosesseja on käynnistetty tarpeeksi, ja jos käyttöjärjestelmää ei ole suunniteltu huolellisesti, järjestelmä voi alkaa käyttää valtaosaa käytettävissä olevista SUORITINSYKLEISTÄÄN prosessien vaihtamiseen sen sijaan, että se ajaisi prosesseja. Kun tämä tapahtuu, sitä kutsutaan thrashing, ja se yleensä vaatii jonkinlaista suoraa käyttäjän toimia pysäyttää prosesseja ja tuoda järjestys takaisin järjestelmään.
Tämä sisältö ei ole yhteensopiva tällä laitteella.
Tämä sisältö ei ole yhteensopiva tällä laitteella.
yksi tapa, jolla käyttöjärjestelmäsuunnittelijat vähentävät rökityksen mahdollisuutta, on vähentää uusien prosessien tarvetta suorittaa erilaisia tehtäviä. Jotkin käyttöjärjestelmät mahdollistavat” process-lite ” -nimisen kierteen, joka pystyy käsittelemään kaiken normaalin prosessin suorittimen vaativan työn, mutta ei yleensä käsittele erilaisia I/O-tyyppejä eikä luo rakenteita, jotka vaativat säännöllisen prosessin laajaa prosessinohjauslohkoa. Prosessi voi käynnistää monia säikeitä tai muita prosesseja, mutta säie ei voi käynnistää prosessia.
toistaiseksi kaikki käsittelemämme aikataulutus on koskenut yhtä suoritinta. Järjestelmässä, jossa on kaksi tai useampia suorittimia, käyttöjärjestelmän on jaettava työmäärä suorittimien kesken ja pyrittävä tasapainottamaan vaadittavien prosessien vaatimukset eri suorittimissa käytettävissä olevien jaksojen kanssa. Epäsymmetriset käyttöjärjestelmät käyttävät yhtä suoritinta omiin tarpeisiinsa ja jakavat sovellusprosessit jäljelle jääneiden suorittimien kesken. Symmetriset käyttöjärjestelmät jakavat itsensä eri suorittimien kesken tasapainottaen kysyntää ja suorittimen käytettävyyttä silloinkin, kun itse käyttöjärjestelmä on kaikki mitä on käynnissä.