Prosessi (4) Luento 8 Ohjelman toteutus järjestelmässä. Prosessi. Prosessin vaihto (4)

Samankaltaiset tiedostot
Prosessi (4) Jakso 8 Ohjelman toteutus järjestelmässä. Prosessi. Prosessin vaihto (4) Prosessin elinkaari (9)

Luento 8 Ohjelman toteutus järjestelmässä. Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit

Luento 8 Ohjelman toteutus järjestelmässä

Jakso 8 Ohjelman toteutus järjestelmässä

Jakso 8 Ohjelman toteutus järjestelmässä. Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit

Jakso 8 Ohjelman toteutus järjestelmässä

Luento 8 Ohjelman toteutus järjestelmässä. Tietokonejärjestelmä. Prosessi (4) Prosessi. Prosessin elinkaari (11) Prosessin vaihto (3)

Luento 8 Ohjelman toteutus järjestelmässä

Prosessi (4) Luento 8 Ohjelman toteutus järjestelmässä. Prosessin elinkaari (10) Prosessin vaihto (4) Prosessin esitysmuoto järjestelmässä (4)

Prosessi (4) Suorituksessa olevan ohjelman esitysmuoto järjestelmässä. Jakso 8 Ohjelman suoritus järjestelmässä. Prosessin elinkaari (9)

Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 8 Ohjelman suoritus järjestelmässä

Luentokerta 5 Ohjelman toteutus järjestelmässä (prosessi, käyttöjärjestelmä) Järjestelmän ulkoinen muisti

Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti Ohjelman toteutus järjestelmässä

Tietokoneen toiminta Copyright Teemu Kerola Konekohtainen, jokaisella omansa Käskyt ovat 1 tai useamman tavun mittaisia

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.

Tietokoneen toiminta, K Tavoitteet (4)

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Muistihierarkia Kiintolevyt I/O:n toteutus

Käyttöjärjestelmät: prosessit

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Ohjelman ja käyttöjärjestelmän toteutus

Järjestelmän ulkoinen muisti I/O

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

Muistihierarkia Kiintolevyt I/O:n toteutus

Luento 5 (verkkoluento 5) Suoritin ja väylä

Luento 1 Tietokonejärjestelmän rakenne

Tietokoneen toiminta, Kevät Copyright Teemu Kerola Järjestelmän eri tasot Laitteiston nopeus

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Stallings, Luku 4.1. KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 4-1. KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-1

Tietokoneen toiminta (Computer Organization I)

Kertausluento 1 (lu01, lu02, lu03) Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Luento 5 (verkkoluento 5) Suoritin ja väylä

Luento 4 Aliohjelmien toteutus

Tietokoneen toiminta (Computer Organization I)

Aliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus

Jakso 4 Aliohjelmien toteutus

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Kertausluento luennoista 1-3 1

4. Luento: Prosessit ja säikeets. Tommi Mikkonen,

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

Algoritmit 1. Luento 1 Ti Timo Männikkö

Luento 9 Järjestelmän ulkoinen muisti

Luento 4 Aliohjelmien toteutus

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti. Ohjelman muistiosoitteet (3) Virtuaalimuisti (3) Virtuaalimuistin toteutus.

1. Keskusyksikön rakenne

Prosessi perinteisesti

Stallings, Luku 4.1. KJ-I I S2005 / Tiina Niklander, kalvot Auvo HäkkinenH

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus

Palvelut. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät

Jakso 4 Aliohjelmien toteutus

Luento 4 Aliohjelmien toteutus

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

Luento 9 Järjestelmän ulkoinen muisti

Tietokoneen toiminta Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright 2010

Luento 12 Yhteenveto

Luento 3 (verkkoluento 3) Ttk-91 konekielinen ohjelmointi. Ohjelman esitysmuoto Konekielinen ohjelmointi ttk-91:llä (Titokone, TitoTrainer)

Luento 4 Aliohjelmien toteutus. Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio

Luento 9 Järjestelmän ulkoinen muisti

Jakso 5 Suoritin ja väylä

Jakso 4 Aliohjelmien toteutus

Aliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus

Luento 9 Järjestelmän ulkoinen muisti

Teemun juustokakku Rekisterien, välimuistin, muistin, levymuistin ja magneettinauhan nopeudet suhteutettuna juuston hakuaikaan juustokakkua tehdessä?

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright 2010

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Tito-kooste. Esipuhe. Versiohistoria:

Jakso 5 Suoritin ja väylä

Luento 9 Järjestelmän ulkoinen muisti

Jakso 4 Aliohjelmien toteutus. Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio

Algoritmit 1. Luento 3 Ti Timo Männikkö

Jakso 5 Suoritin ja väylä. Suorittimen rakenne Väylän rakenne Käskyjen suoritussykli Poikkeukset ja keskeytykset TTK-91:n ja KOKSI:n rakenne

Suoritin. Jakso 5 Suoritin ja väylä. TTK-91 muistin rakenne. TTK-91 suorittimen rakenne

Tieto ja sen osoite (3) Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Osoitinmuuttujat. Tieto ja sen osoite (5)

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti. Ohjelman muistiosoitteet (3) Virtuaalimuisti (3) Virtuaalimuistin toteutus (2)

Suoritin. Luento 5 Suoritin ja väylä. TTK-91 suorittimen rakenne (1) TTK-91 muistin rakenne. Käskyjen nouto- ja suoritussykli (5)

Suoritin. Luento 5 Suoritin ja väylä. TTK-91 muistin rakenne. TTK-91 suorittimen rakenne

2 Konekieli, aliohjelmat, keskeytykset

Oppimistavoitteet kurssilla Tietokoneen toiminta

IT K 1 45 K ä yt t öj ä rj estelmät

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Osio 2: Luennot 5-8 Muistinhallinta

Suoritin. Luento 5 Suoritin ja väylä. TTK-91 suorittimen rakenne (1) TTK-91 muistin rakenne

Luento 5 Suoritin ja väylä

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Aihepiiri Tietokoneen toiminta (Computer Organization I)

Luento 9 Järjestelmän ulkoinen muisti. Muistihierarkia Kiintolevyt Muut pyörivät levyt I/O:n toteutus

Aliohjelmien toteutus Suoritin ja väylä

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka

Transkriptio:

Luento 8 Ohjelman toteutus järjestelmässä rosessi rosessin esitysmuoto järjestelmässä Käyttöjärjestelmä -prosessit rosessi (4) Järjestelmässä olevan ohjelman esitysmuoto Järjestelmässä voi olla samalla kertaa monta prosessia joko samasta tai eri ohjelmasta käyttäjän (ihmisen) näkökulma ja aikaskaala (1 min, 1 sek?) uorittimella suorituksessa on yksi prosessi kerrallaan laitteiston näkökulma ja aikaskaala (1 ms, 1 µs, 1 ns?) Muut prosessit ovat odottamassa jotakin suoritinta? I/O:ta? viestiä toiselta prosessilta? vapaata muistitilaa? 1 2 rosessi uoritin prosessi 2 Ohjain pääosa 2:n tiedoista muistissa! Väylä prosessi 1 prosessi 2 prosessi 3 prosessi Q1 Levy ohjelma ohjelma Q Muisti Data - ohjelmien -:n Ohjelmakoodit rosessin vaihto (4) uorittimella suoritusvuorossa olevan prosessin vaihtaminen Tapahtuu aika usein keskimäärin noin 2000-3000 konekäskyn välein? esim. 50-500 kertaa sekunnissa? Isooperaatio - paljon kopiointia montako konekäskyä tähän kuluu? 50-500? 0? 3 4 rosessin elinkaari (11) luonti ready-to-run valmis suoritukseen odottaa rosessin 5 suoritustilaa Milloin tilanvaihto tapahtuu? Mitä tilanvaihdossa tapahtuu? running suorituksessa poistettu tai tapettu Mitä suoritin tietää suorituksessa olevasta prosessista? rosessin esitysmuoto järjestelmässä CB - rosessin kuvaaja eli kontrollilohko (rocess Control Block) isohko tietue, joka sisältää kaiken yhdestä prosessista muistialueet, tiedostot, tiedostojen käsittelykohdat ei suorituksessa oleville myös: suorittimen tila (laiterekisterit, MM:n rekisterit, kontrollirekisterit) joka prosessista oma CB luodaan prosessin luonnin yhteydessä ja tuhotaan prosessin päättyessä käyttöjärjestelmärutiinit manipuloivat CB:tä 5 6

rosessin kuvaajan sisältö (9) rosessin tunniste 14023 rioriteetti suorittimen vuoronantoa varten 143 rosessin tila ja/tai odottamisen syy -to- uoritinympäristö talletettuna odottamisen aikana rekisterit, C,, F, tilarekisterit euraavaksi suoritettavan käskyn osoite Main {} oikkeuskäsittelijöiden osoitteet (ellei oletusarv.) Aikaviipale Käytössä olevat muistialueet, aukiolevat tiedostot :n hallintotietoa (kokonaisaika, etc etc) Ks. Minix esimerkin struct proc [Tane87], 1 kalvo 7 rosessin tilanvaihdon toteutus (11) rosessin tilanvaihto tapahtuu siirtämällä prosessi (sen CB) jonosta toiseen ready-to-run jono (tai jonot) running jono ei oikeastaan ole olemassa jono joka tyypille oma jononsa esim: laitteen I/O:n valmistumista odottavat esim: näppäimistön painallusta odottavat esim: kellolaitekeskeytystä odottavat esim: prosessilta 1345 signaalia odottavat odottaa suoritinta suorituksessa odottaa jotakin Ks. Minix esimerkin ready [Tane87], 1 kalvo 8 rosessit jonoissa (1) esimerkki: I/O keskeytys (5) -to- 1056 1766 unning 0188 0036 7654 9878 -to- Q unning 0555 Msg from 1345 2222 rosessin 9878 kuvaaja (CB) Vuoronanto: valitse seuraava prosessi eady-to-un -jonosta ja siirrä se suoritukseen C:lle (kopioi tämän prosessin suorittimen tila suorittimelle) 9 Msg from I/O keskeytys laitteelta prosessille? uoritin havaitsee keskeytyssignaalin ja suorittaa I/O keskeytyskäsittelyrutiinin (:n ympäristössä) siirretään -to- jonoon :n suoritus jatkuu vai jatkuuko? 10 esimerkki: I/O keskeytys (ei anim) esim: aikaviipalekeskeytys (7) -to- Q unning -to- Q Q unning Msg from Msg from I/O keskeytys laitteelta prosessille? uoritin havaitsee keskeytyssignaalin ja suorittaa I/O keskeytyskäsittelyrutiinin (:n ympäristössä) siirretään -to- jonoon :n suoritus jatkuu vai jatkuuko? 11 saa aikaviipalekeskeytyksen? siirretään takaisin -to- jonoon euraava prosessi saa suoritusvuoron Entä jos olisi pyytänyt levy I/O:ta :ltä? 12

esim: aikaviipalekesk. (ei anim) -to- Q unning Msg from saa aikaviipalekeskeytyksen? siirretään takaisin -to- jonoon euraava prosessi saa suoritusvuoron Entä jos olisi pyytänyt levy I/O:ta :ltä? 13 rosessin vaihto (4) Vaihdon tekee rutiini sillä hetkellä suorittavan prosessin ympäristössä Talleta vanhan prosessin suoritinympäristö suorittimelta omalle talletusalueelle muistiin talleta kaikki suorittimella olevat tiedot muistiin Kopio uuden prosessin suoritinympäristö omalta talletusalueeltaan suorittimelle lataa kaikki suorittimen rekisterit (myös C!) uden prosessin suoritus jatkuu täsmälleen siitä mihin viime kerralla jäätiin sama konekäsky, käytännössä sama suoritusympäristö Ks. Minix esimerkin tty_int [Tane87], kalvo INT-3 usein keskellä prosessin vaihtoa suorittavaa rutiinia 14 rosessin prioriteetti (3) rosessin tärkeysjärjestys suorittimella esim. pieni numero iso (parempi) prioriteetti Joka prioriteetti(luokalle) oma -to- jononsa prosesseilla parempi prioriteetti kuin käyttäjätason prosesseilla tosiaikasovelluksen prosesseilla parempi prioriteetti kuin prosesseilla muistakaa antaa :lle aikaa aina joskus...! rioriteetti voi vaihdella prosessin elinaikana paljon suoritinaikaa huonompi prioriteetti kauan -to- jonossa parempi prioriteetti (prosessi siirretään korkeamman prioriteetin -to- jonoon) 15 Käyttäjän näkökulma (käyttö)järjestelmään (5) Miten järjestelmä toimii minun ohjelmani kanssa? Onko järjestelmä riittävän nopea pelaamaan suosikkipeliäni isolla näytöllä? Onko minun helppo asentaa uusi ohjelma koneelle? Onko minun helppo muuntaa (portata) ohjelmani tähän käyttöjärjestelmään? Miten muistin lisääminen vaikuttaisi minun ohjelmani nopeuteen? 16 Käyttöjärjestelmän näkökulma (käyttö)järjestelmään (6) Ovatko kaikki systeemin resurssit mahdollisimman hyvässä käytössä? Mikä on keskimääräinen jonon pituus (prosessien lukumäärä) suorittimelle? Minkä osan ajasta suoritin odottaa järkevää työtä? Minkä osan ajasta kovalevyn hakuvarsi on liikkeessä? Miten usein datamuistiviitteet löytyivät välimuistista? Miten muistin lisääminen vaikuttaisi nopeuteen? 17 Käyttöjärjestelmä käyttöliittymänä laitteistoon (3) Loppukäyttäjälle (ihmiselle) ovellusohjelmille iilottaa laitteiston erityispiirteet käyttäjiltä käskykanta konekäskyn rakenne suorittimen toteutus ja suorittimien lukumäärä I/O:n toteutus HW I/O-laitteiden sijainti käyttäjät / sovellukset 18

Käyttöjärjestelmän tavoitteet Laiteriippumaton (HW-riippumaton) käyttöliittymä laitteistoon järjestelmää on helppo käyttää järjestelmä antaa reilua palvelua kaikille sovellukset on helppo tehdä sovellukset on helppo siirtää muista järjestelmistä sovellukset :n laiteriippumaton taso :n laitesidonnainen taso HW Käyttöjärjestelmän tavoitteet (jatk) Järjestelmän resurssien tehokas hallinta kaikista resursseista saada maksimihyöty joustava resurssien yhteiskäyttö tiukka tietosuoja 19 20 Käyttöjärjestelmä resurssien vartijana (5) uoritinaikaa reilusti kaikille kukaan ei odota suoritinta ikuisesti kriittiset prosessit saavat ajoissa suoritinaikaa Tiedostojen (koodi, data) tehokas käyttö laitteesta ja sijainnista riippumaton käyttö helppo yhteiskäyttö ja samalla tietojen suojaus Tietoliikenneverkkojen käyttö laiteriippumaton käyttö helppo yhteiskäyttö ja samalla tietojen suojaus Hallintokirjanpito järjestelmän eheyden turvaajana (3) Varauduttu kaikkiin mahdollisiin virheisiin ovellusohjelmat eivät voi häiritä :tä tai muita prosesseja tahallaan (esim. tietokonevirukset) vahingossa (yleisin tapaus) Järjestelmä ei lukkiudu tai kaadu :n omat tietorakenteet ovat aina eheitä sovellusohjelmat eivät voi koskea :n tietorakenteisiin sovellusohjelmat aina lopulta antavat vuoron :lle 21 22 Käyttöjärjestelmän rakenne (4) rosessien hallinta prosessien luonti, tuhoaminen prosessien välinen viestintä (IC, Inter-rocess Comm) kenelle suoritinaikaa ja milloin? Muistin hallinta miten keskusmuistia varataan eri prosessien käyttöön? kunkin prosessin muistitilan hallinta yhteiskäyttö ja tiedon suojaus Tiedostojen ja laitteiden hallinta miten tiedostoja voidaan lukea/kirjoittaa? yhteiskäyttö ja tiedon suojaus Verkon hallinta miten kommunikoida muiden koneiden kanssa? 23 Käyttöjärjestelmän toteutus (5) Joukko prosesseja ja/tai aliohjelmia prosessit elävät omaa elämäänsä (etuoikeutetussa tilassa eli root ina?) swapper (nix) - muistinhallintaprosessi init prosessi (nix) - kaikkien käyttäjätason prosessien äiti laiteajurit aliohjelmat suoritetaan sen hetkisen prosessin ympäristössä (etuoikeutetussa tilassa?) keskeytyskäsittelijät saavat kontrollin aina tarvittaessa aliohjelmakutsut,, viestit ajastimet ja muut keskeytykset 24

palvelun kontrollin palautus Aliohjelmakutsut ETN IET Viestit viesti vastausviesti (lähettäjä odottaa vastausta ECEIVE:ssä) Ajastimet ja muut keskeytykset keskeytys IET suoritin käyttäjätasolla suoritin etuoik. tasolla rosessit ja aliohjelmat (7) ovellus prosessi ervroc-1 MG MG palvelu rivub-msg MG MG prosessi rivroc-1 ovellus Q () aliohj. ub-1 aliohj. rivub-1 25 26 esimerkki: laiteajuri Aliohjelmana (eli proseduurina) laiteajuri suoritetaan -rutiinina tavallisen -kutsun kautta vain yksi kutsu kerrallaan suorituksessa? miksi? miten voidaan valvoa? esimerkki: laiteajuri (jatk.) Aliohjelmana (eli proseduurina) laiteajuri suoritetaan -rutiinina tavallisen aliohjelmakutsun ja/tai -kutsun kautta osa tai kaikki koodista voi olla etuoikeutettua vain yksi kutsu kerrallaan suorituksessa? miksi? miten voidaan valvoa? sov. prosessi laiteajuri aliohj. sov. prosessi laiteajuri (osa etuoikeutettuna) svc iret call svc return ei etuoik. osa iret etuoik. osa 27 28 esimerkki: laiteajuri rosessina proseduurina kutsuttu laiteajurin tynkä (stub) lähettää I/O-pyynnön viestinä laiteajuriprosessille ja odottaa vastausta tynkä voi olla käyttäjätilainen ajuriprosessi voi olla (joskus) etuoikeutettu vaatii prosessien välistä viestintää sov. prosessi laiteajuri stub laiteajuri pros. msg call return send receive msg receive send Ks. Minix esimerkki floppy disk driver [Tane87], 2 kalvoa 29 -- Luennon 8 loppu -- [Tane99] Lisää tietoa? kurssit, IO, HajJärj 30