tito mk Flashcards
prosessin elinkaarimallin tilat
luonti, valmis suoritukseen, odottaa, suorituksessa, valmis/tapettu
mitä prosessilla tarkoitetaan?
yhden suorituksessa olevan ohjelman esity smuotoa. Se on siis yksi selkeästi määritelty kokonaisuus, jonka avulla toteutetaan jonkin t iety n ohjelman yksi suorituskerta tässä järjestelmässä alusta loppuun
Missä prosessin tiedot ovat suorituksen aikana?
Suorituskelpoisen prosessin kaikkien t ietojen (koodi ja data) täytyy olla nimenomaan muistissa, koska ainoastaan muisti on tarpeeksi nopea laite suorittimen aikaskaalassa
monta prosessia suorittimella voi olla kerrallaan?
vain yksi kerrallaan.
Suorittimella on siis yksi prosessi kerrallaan. Kaikki suorittimen rekisteri! on prosessin vaihdon yhte ydessä alustettu tälle prosessille, mutta påäosa prosessin t iedoista sijaitsee silti muistissa.
mitä prosessin luonti vaiheessa tapahtuu?
Käyttöjärjestelmä luo uudelle prosessille kaikki hallintorakenteet ja varaa sen tarvitsemat resurssit. Jos kaikki resurssit saacaan varattua, niin uusi prosessi pääsee heti jonottamaan suoritusvuoroa suorittimelle ready -t o-run -jonoon. !Jiuussa tapauksessa prosessi jää heti alkuun odottamaan puuttuvan resurssin, esimerkiksi muistitilan, vapautumista odotustilaan.
mitä ready to run tilassa tapahtuu?
Valmis suoritukseen tilassa prosessit odottavat suoritusvuoroa suorittimelle. Näille kaikille prosesseille on olennaista, että niiden kaikki koodi- ja data-alueet ovat valmiiksi käytettävissä muistissa.
Mitä prosessin suorituksessa tapahtuu?
Suorituksessa on vain yksi prosessi kerrallaan. Suo·ittimen laite ympäristö eli sen kaikki r ekisteri! sisältävät nyt juuri ajossa olevan prosessin t ietoja. Jos prosessin suoritus päättyy, niin kaikki prosessin käyttämät resurss~ vapautetaan ja lopulta myös sen hallintotiedot poistetaan järjestelmästä. Useimmite n kuite nkin prosessi siirtyy odotustilaan odottamaan esimerkiksi jotain Il O-t apahtumaa.
Mitä prosessin odotustilassa tapahtuu?
Odotustilassa prosessi odottaa yhtä tai useampaa tapahtumaa, jonka tapahduttua se olisi jälleen suoritu skelpoinen. Käyttäjäprosesseille tyypillinen odotuksen syy on näppäimistöllä t ulleen käyttäjän syötteen odottam inen.
Mitä prosessin päättynyt tilassa tapahtuu?
päättynyt tilassa prosessia ei oikeasti ole enää lainkaan. Heti kun kaikki prosessin resurssit on vapautettu (esim . aukiolevat t iedostoi on suljettu ja muistialueet vapautettu uusiokäyttöön), myös prosessin käyttämät hallintotiedot nollataan ja vapautetaan uusiokäyttöön. Päätty neet prosessit eivät siis kuluta mitään resursseja. Prosessi päättyy normaalisti, jos sen pääohjelma suoritetaan loppuun. Epänormaali päätty minen taas tapahtuu, jos käyttöjärjestelmä (ehkä käyttäjän kehotteesta) tappaa ohjelman
Mitä tarkoittaa vuoronanto?
Vuoronanto tarkoittaa siis sitä tapahtumaa, kun käyttöjärjestelmän vuoronantaja valitsee jonkin ready -t o-run · prosessin ja siirtää sen suori tukse~n suorittimelle. Suorittimen rekisteri! ladataan kyseisen prosessin t iedo illa ja lopulta suoritus jatkuu juuri samas:a konekäskystä, missä se aikaisemmin ehkä keskeyty i. Uudelle prosessille suoritus alkaa t ietenkin pääohjelman ensimmäisestä käskystä. Keskeytyneen prosessin kaikkien olennaisten rekistereiden aiVot ovat suorituksen jälleen jatkuessa täsmälleen samat kuin mitä ne olivat suorituksen keskeyty essä.
mitä tapahtuu kun prosessi menettää suoritusvuoron?
Kun prosessi menettää suoritusvuoron suorittimella, käyttöjärjestelmän vuoronantaja kopioi prosessin kaikki rekisteri! eli suoritinympäristön talteen muistiin ja siirtää prosessin johonkin jonoon odottamaan joko jotain tapahtumaa tai sitten vain seuraavaa vuoroa suorittimelle.
Mikä on process control block ja miten se toimii?
Prosessia edustaa järjestelmässä isohko tietorakenne, prosessin kuvaaja eli PCB. Rakenteessa sinällään ei ole mitään erikoista • se vain on suht’koht suuri, koska siinä on listattu kaikk mahdollinen t ieto yhdestä prosessista. Idea on. että mitä tahansa tietoa p·osessista halutaan säilyttää, se pidetåän PCB:ssä. S iellä on yleistä hallintotietoa kaikista prosessin käyttämistä resursseista ja siellä on myos talletusalue prosessin suoritinympäristölle, jonne kaikki suoritinrekistereiden aiVot talletetaan prosessin ollessa odotustilassa.
Kaikki prosessin käsittely tapahtuu siis PCB:n avulla. Käsittely tapahtuu joko muuttamalla PCB:ssä olevia t ietoja tai siirtelemällä PCB:tä jonosta toiseen. Esimerkiksi, jos prosessi avaa uuden t iedoston lukerrista varten, niin käyttöjärjestelmä ensin tarkistaa prosessin oikeuden tähän operaatioon ja sitten, jos kaikki oli kLnnossa, suorittaa t iedoston avauksen ja merkitsee sen avatuksi tälle prosessille.
Mihin PCB tiedot tallennetaan?
Prosessin luominen tarkoittaa juuri PCB:n alustamista uuden prosessin t iedoilla. Käyttöjärjestelmän prosessienhallinta tekee tämän käyttäen tavallisia k Jnekäskyjä. PCB:t talletetaan kuite nkin käyttöjärjestelmån etuoikeutetulle muistialueelle, jonne käyttäjätilassa >uorittavat tavalliset ohjelmat eivät pääse käsiksi. Kun prosessi päättyy (t ai se tapetaan), käyttöjärjestelmi n prosessienhallinta vapauttaa lopuksi myös koko PCB-tietueen varaaman muistialueen uusiakäyttöä varten
Mikä on aikaviipale?
Aikaviipaleelia tarkoitetaan sitä aikaa, minkä prosessi voi korkeintaan pitää suoritinta hallussaan, ennen kuin se pitää välillä antaa muille Ready -to-run -jonossa odottaville prosesseille. Aikaviipale voi olla vakio tai sitten prosessikohtainen.
miten voidaan siirtyä käyttäjärjestelmään käyttäjätason prosessista?
Ensinnäkin, suorituksessa oleva ohjelma voi explisiittisesti pyytää jotain t ietty ä käyttöjärjestelmäpalvelua, jolloin suoritusvuoro luontevasti siirtyy tälle. Pyyntö voidaan esittää joko tavallisena aliohjelmakutsuna, SV C:nä tai sitten viestinä. Toisessa tapauksessa käyttöjärjestelmä saa suoritusvuoron keskeytyskäsittelyn kautta, jossa käyttöjärjestelmäkoodi on joko suoraan keskeytyskäsittelijässä tai sitten keskeytyskäsittelij ä explisiittisesti pyytää jotain käyttöjärjestelmäpalvelua
call->exit, tavallinen aliohjelmakutsu
svc->iret, etuoikeutettu tila kutsu
viestoi->vastausviesti
keskeytys->keskeytyskäsittelijä
kun prosessin P suoritus suorittimella päättyy, prosessi voidaan joko (i) siirtää takaisin Valmis suoritukseen (Ready) jonoon, (ii) siirtää odotustilaan johonkin toiseen jonoon tai (iii) kokonaan poistaa järjestelmästä. Anna kuhunkin tilanteeseen jokin konkreettinen esimerkki: mikä tapahtuma aiheuttaa P:n suoritusvuoron päättymisen, mitä järjestelmässä tapahtuu prosessien hallinnan tasolla ja milloin prosessi P pääsee takaisin suoritukseen jos pääsee koskaan?
i) kun tulee Kellolaitekeskeytys tai I/O ja KJ päättää, että P menettää vuoronsa suorittaa ja joku muu prosessi saa jatkaa. P siirretään ready jonoon ja korkeimman prioriteetin prosessi saa jatkaa seuraavaksi. P saa jatkaa sitten kun on taas sen vuoro
ii) P on pyytänyt laiteajurilta I/O toimintoa laitteen D kanssa ja pitää odottaa kunnes see on valmis. P siirretään laite D jonoon kunnes laiteajuri on tehnyt I/O tehtävän ja siirtänyt P:n takaisin ready jonoon ja on sen suoritusvuoro, jolloin se saa jatkaa
(iii) P on valmis (tai tapettu) jolloin kaikki sen tiedot on pyyhitty PCB:stä ja seuraavaksi suurin prioriteettijonossa jatkaa suoritusta. P on poistettu eikä enää jatka
Oletetaan, että prosessi P on suorituksessa ja että se jää odottamaan viestiä prosessilta R. Seuraavana suoritusvuorossa on prosessi Q. Miten prosessin vaihtoprosessilta P prosessille Q tapahtuu käytännössä? Mitä tietoja kopioidaan mihin? Mitä tietoja ei tarvitse kopioida? Anna esimerkkejä
käyttöjärjestelmä kopioi prosessin P sisällön (kaikki rekisterit, jotka tarvitaan jatkoa varten) PCB:hen. Rekistereitä joita tarvitaan vain konekäskyn suoritusaikana (MAR, MBR) ei tarvitse kopioida. Kun Q on valittu seuraavaksi, Q:n prosessin sisältä kopioidaan Q: PCB:stä koneen rekistereihin. Kun pc kopioidaan saa Q suoritusvuoron.