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

Samankaltaiset tiedostot
Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 8 Ohjelman suoritus järjestelmässä

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

Jakso 8 Ohjelman toteutus järjestelmässä

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

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

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

Luento 8 Ohjelman toteutus järjestelmässä

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ä. Tietokonejärjestelmä. Prosessi (4) Prosessi. Prosessin elinkaari (11) Prosessin vaihto (3)

Luento 8 Ohjelman toteutus järjestelmässä

Luento 9 Järjestelmän ulkoinen muisti

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

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

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

Muistihierarkia Kiintolevyt I/O:n toteutus

Järjestelmän ulkoinen muisti I/O

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

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

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

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

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

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

Muistihierarkia Kiintolevyt I/O:n toteutus

Luento 9 Järjestelmän ulkoinen muisti

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

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

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

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

Tietokoneen toiminta, K Tavoitteet (4)

Osio 3: Siirräntä ja tiedostojärjestelmä

NTÄ. Luento 8: SIIRRÄNT. Osio 3: Siirräntä ja tiedostojärjestelmä. ltö. Yleistä siirrännästä. Siirtonopeuksia (teoreettisia) Kuva 11.1.

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

Stallings, Luku

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

Sisältö SIIRRÄNTÄ. I/O-laitteiden luokittelua. Yleistä siirrännästä. Siirrännän perustekniikat. Siirtonopeuksia (teoreettisia) Kuva 11.

Muistihierarkia. Virtuaalimuisti. Tiedostojärjestelmä. Levymuistin saantiaika. Tietokoneen toiminta Luento 9, Ulkoinen muisti ja I/O 1

Muistihierarkia Kiintolevyt I/O:n toteutus. Käännös, Linkitys Lataus

Tietokoneen toiminta Teemu Kerola, Copyright Muistihierarkia

Käyttöjärjestelmät: prosessit

Stallings, Luku I/O-laitteiden luokittelua, siirtonopeuksia Siirrännän perustekniikat Siirrännän kehittyminen

1. Keskusyksikön rakenne

Käyttöjärjestelmät II

Käyttöjärjestelmät. Tietokoneen rakenne. Stallings, Luku 1. KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 1-1

ltöä rjestelmä Luento 2: LAITTEISTOSTA Tietokonejärjestelm KESKUSYKSIKKÖ Keskusyksikkö Kuva 1.1 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-1

Käyttöjärjestelmät II

Yleiskuva. Käyttöjärjestelmät II. Tietokonejärjestelm. rjestelmä. KJ ja laitteistopiirteet. KJ ja laitteistopiirteitä.

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

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

Luento 2: LAITTEISTOSTA

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

Käyttöjärjestelmän rakenne

Luento 12 Yhteenveto

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

Luento 9 Järjestelmän ulkoinen muisti

Prosessi perinteisesti

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

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

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

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

KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen Stallings, Luku

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

Jakso 5 Suoritin ja väylä

Luento 1 Tietokonejärjestelmän rakenne

Jakso 5 Suoritin ja väylä

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

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

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

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

2 Konekieli, aliohjelmat, keskeytykset

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

Luento 1 Tietokonejärjestelmän rakenne

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

Oppimistavoitteet kurssilla Tietokoneen toiminta

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

Väylät. Prosessorin tie ulkomaailmaan Pienissä järjestelmissä vain yksi väylä. Osoite, data ja ohjaussignaalit Prosessori ainoa herra (master)

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

Käyttöjärjestelmät: poissulkeminen ja synkronointi

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

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

Luento 2 (verkkoluento 2) Ttk-91 järjestelmä

D B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää

u saantimenetelmät u kirjanpito vapaista lohkoista (taltiolla!) u hierarkkinen hakemistorakenne: kirjanpito tdstoista u tdstojen käyttö

Luento 5 Suoritin ja väylä

Tietokoneen toiminta, K Tavoitteet (4)

Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat?

Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright Tavoitteet (4)

Luento 2 (verkkoluento 2) Ttk-91 järjestelmä

Arto Salminen,

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

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

u vapaakäyntisyys (reentrancy) u Yhteinen koodialue u kullakin oma data-alue, pino, PCB u osoitteet suhteellisia prosessin alun suhteen

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

Transkriptio:

Jakso 8 Ohjelman suoritus järjestelmässä rosessi CB I/O:n toteutus rosessi (4) Suorituksessa olevan ohjelman esitysmuoto järjestelmässä samalla kertaa järjestelmässä voi suorituksessa monta prosessia joko samasta tai eri ohjelmasta käyttäjän (ihmisen) näkökulma ja aikaskaala (1 min, 1 sek?) suorittimella on yksi prosessi kerrallaan suorituksessa laitteiston näkökulma ja aikaskaala (1 ms, 1 µs, 1 ns?) 1 2 rosessin elinkaari (9) rosessin vaihto (4) luonti ready-to-run valmis suoritukseen odottaa running suorituksessa poistettu tai tapettu Suorittimella suoritusvuorossa olevan prosessin vaihtaminen Tapahtuu aika usein keskimäärin noin 2000-3000 konekäskyn välein? Iso operaatio - paljon kopiointia satoja konekäskyjä 3 4 rosessin esitysmuoto järjestelmässä (4) rosessin kuvaaja tai kontrollilohko (CB - process 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 käyttöjärjestelmärutiinit manipuloivat CB:tä rosessin tilanvaihdon toteutus (9) rosessin tilanvaihto tapahtuu siirtämällä prosessi (sen CB) jonosta toiseen ready-to-run jono (tai jonot) running jono (jota ei oikeastaan ole olemassa) jono joka tyypille oma jononsa esim: laitteen Disk1 I/O:n valmistumista odottavat esim: näppäimistön painallusta odottavat esim: kellolaitekeskeytystä odottavat esim: prosessilta 1345 signaalia odottavat 5 6 Jakso 8, Ohjelman suoritus 1

R-to-R rosessit jonoissa (1) 1056 1766 Running 0188 Disk1 Timer 0036 7654 9878 0555 Msg from 1345 2222 Vuoronanto: valitse seuraava prosessi Ready-to-Run -jonosta ja siirrä se suoritukseen C:lle (kopioi tämän prosessin suorittimen tila suorittimelle) rosessin 9878 kuvaaja (CB) 7 KJ esimerkki: I/O keskeytys (5) R-to-R R Disk1 Timer Q S Running I/O keskeytys laitteelta Disk1 prosessille? Suoritin havaitsee keskeytyssignaalin ja suorittaa I/O keskeytyskäsittelyrutiinin (:n ympäristössä) siirretään R-to-R jonoon :n suoritus jatkuu 8 KJ esimerkki: I/O keskeytys (ei anim) R-to-R R Q Running Disk1 Timer S KJ esim: aikaviipalekeskeytys (7) R-to-R RQ Q Running R R R Disk1 R R R R R Timer S I/O keskeytys laitteelta Disk1 prosessille? Suoritin havaitsee keskeytyssignaalin ja suorittaa I/O keskeytyskäsittelyrutiinin (:n ympäristössä) siirretään R-to-R jonoon :n suoritus jatkuu 9 saa aikaviipalekeskeytyksen? siirretään takaisin R-to-R jonoon Seuraava prosessi R saa suoritusvuoron Entä jos olisi pyytänyt levy I/O:ta Disk1:ltä? 10 KJ esim: aikaviipalekesk. (ei anim) R-to-R R Disk1 Timer Q S saa aikaviipalekeskeytyksen? siirretään takaisin R-to-R jonoon Running Seuraava prosessi R saa suoritusvuoron Entä jos olisi pyytänyt levy I/O:ta Disk1:ltä? rosessin kuvaajan sisältö (9) rosessin tunniste 14023 rioriteetti suorittimen vuoronantoa varten 143 rosessin tila ja odottamisen syy R-to-R Suoritinympäristö talletettuna odottamisen aikana rekisterit, C, S, F, tilarekisterit rosessin ensimmäisen käskyn osoite Main {} oikkeuskäsittelijöiden osoitteet Aikaviipale Käytössä olevat muistialueet, aukiolevat tiedostot KJ:n hallintotietoa (kokonaisaika, etc etc) 11 12 Jakso 8, Ohjelman suoritus 2

rosessin vaihto (4) Vaihdon tekee KJ 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 prosessin vaihtoa suorittavaan KJ rutiiniin? 13 rosessin prioriteetti (3) rosessin tärkeysjärjestys esim. pieni numero iso prioriteetti Joka prioriteetti(luokalle) oma R-to-R jononsa KJ prosesseilla parempi prioriteetti kuin käyttäjätason prosesseilla tosiaikasovelluksen prosesseilla parempi prioriteetti kuin KJ prosesseilla rioriteetti voi vaihdella prosessin elinaikana paljon suoritinaikaa huonompi prioriteetti kauan R-to-R jonossa parempi prioriteetti (prosessi siirretään korkeamman prioriteetin R-to-R jonoon) 14 Käyttöjärjestelmän toteutus (5) Joukko prosesseja ja proseduureja prosessit elävät omaa elämäänsä (etuoikeutetussa tilassa eli root ina?) koko ajan swapper (nix) - muistinhallintaprosessi init prosessi (nix) - kaikkien käyttäjätason prosessien äiti t proseduurit suoritetaan sen hetkisen prosessin ympäristössä (etuoikeutetussa tilassa?) keskeytyskäsittelijät Saavat kontrollin aina tarvittaessa keskeytykset, SVC, ajastimet 15 16 Laitteiden liittäminen järjestelmään (4) suoritin (C) Liitännät muiden koneiden kanssa väylä tai väylät Liitännät laitteiden kanssa muisti laiteohjaimet Liitännät ihmisten kanssa Kaikki samalla tavalla: ks. Fig. 2-29 [Tane99] 17 Siirrännän hierarkia sovellusohjelmataso loogisia kokonaisuuksia, tietueita ja tiedostoja ohjelman sisäisiä nimiä Readln (File1, X) Open (Tdsto, RW) käyttöjärjestelmätaso laitteisto 18 Jakso 8, Ohjelman suoritus 3

Siirrännän hierarkia sovellusohjelmataso käyttöjärjestelmätaso rutiinit, jotka toteuttavat ja valvovat siirräntää laiteriippumaton siirräntä sovellukselle yhtenäinen tapa käyttää kaikkia siirräntäpalveluita laiteriippuva siirräntä laitteiden todelliseen käyttöön liittyvä ohjausohjelmisto koodattu laiteajureihin laitteisto Siirrännän hierarkia sovellusohjelmataso käyttöjärjestelmätaso laitteisto siirräntä voidaan toteuttaa kokonaan prosessorin valvonnassa ei hyödynnetä rinnakkaisuutta laiteohjain (siirräntään erikoistunut prosessori) huolehtii itsenäisesti siirrännästä prosessorin ja ohjainten välinen kommunikointi Laiteohjain (I/O Moduuli) SIIRRÄNNÄN HIERARKIA muuttujat laite Muisti väylä data c/s laiteohjain suoritin laiteohjainprosessi käyttäjäprosessi (KJ prosessi) laite keskeytys SOVELLS laiteriippumaton taso KÄYTTÖJÄRJESTELMÄ t (device controller) Ks. Fig 6.4 [Stal99] 21 syöttö LAITEOHJAIMET tulostus laitekuvaaja yksi kutakin laitetyyppiä varten talletettavat tiedot riippuvat laitteesta laitteen yksilöivä tunnus (väyläosoite) ohjeet laitteen käytöstä urien, sektorien ja levypintojen määrä, lohkon koko viitteet näppäimistön merkinmuunnostauluihin laitteen tilatietoa varattu/vapaa/rikki viitteet jonottaviin palvelupyyntöihin viite laitetta käyttävän prosessin kuvaajaan laiteriippumattoman siirrännän tehtäviä loogisesta tiedostonimestä => käytettävän laitteen tyyppi pitää kirjaa levytilan vapaista ja varatuista alueista siirrännän puskurointi (levylohko) luku/kirjoituskohdan ylläpito tarvittaessa käynnistää fyysisen siirrännän antaa lle tehtävän Jakso 8, Ohjelman suoritus 4

n tehtäviä tehtävät riippuvat laitteesta muodostaa parametrien ja laitekuvaajan perusteella laitetta ohjaavat käskyt esim. levylohkonumeroiden muuttaminen levypinnan, uran ja sektorin numeroiksi levypyyntöjen optimointi ohjaimella tehtävän fyysisen siirrännän käynnistys siirrännän kirjanpito siirron oikeellisuuden tarkistukset ja virheiden korjausyritykset Laitteiden käytön toteutus (5) Käyttäjäohjelma kutsuu käyttöjärjestelmän a tekemään I/O:n. Laiteajuri suoritetaan samalla suorittimella kuin käyttäjäohjelmakin. Laiteajuri ohjaa laitteen toimintaa laitteen laiteohjaimella olevien kontrollirekisterien (muistialue) avulla Laiteajuri voi lukea laitteen tilatietoa laiteohjaimella olevien statusrekisterien (muistialue) avulla Laiteajuri voi lukea (kirjoittaa) laitteen lukemaa (laitteelle kirjoitettavaa) tietoa laiteohjaimella olevien datarekistereiden (muistialue) avulla Kontrolli-, status- ja datarekisteri kolmikko muodostaa I/O portin suorittimen näkökulmasta 26 Laiteohjaimen rekistereihin viittaaminen (5) Ongelma: miten suorittimella suorittavan viittaa eri kortilla oleviin rekistereihin? Ratkaisu 1: omat I/O-konekäskyt tätä tarkoitusta varten käskyssä annetaan laiteohjaimen identifikaatio ja rekisterin nro (I/O osoiteavaruus) vaikea laajentaa käyttöä uusiin laitteisiin, joilla rekisterit voivat olla hyvinkin erilaisia x86: IN, OT INS, OTS KOKSI: IN R1, =KBD, OT R2, =CRT 27 Ratkaisu 2: muistiinkuvattu I/O (5) Laiteajuri lukee/kirjoittaa laiteohjaimella olevia rekistereitä (data, status/kontrolli) tavallisilla muistin luku/kirjoitus käskyillä ei tarvita erillisiä I/O-konekäskyjä! laiteohjaimella olevat rekisterit ovat samanlaista viitattavaa muistia kuin normaali muisti muistisoitteen ensimmäiset bitit valitsevat, mille laitteelle (vai tavallisen muistiin) viittaus kohdistuu voidaan käyttää rinnan I/O käskyjen kanssa (laiterekistereihin voi siis viitata sekä I/O-käskyillä että muistiinkuvatun I/O:n avulla) esim. Intelin arkkitehtuurit 28 AJRI- ROSESSI MISTI Laiterekisterit -data -ohjaus -ok MISTIINKVATT I/O: siirrettävä tieto + ohjaustiedot keskusmuistiin kommunikointialueelle LEVYOHJAIN LEVY I/O tyypit (2) Suora I/O: odottaa tiukassa silmukassa, kunnes laiteohjaimen statusrekisteri ilmoittaa I/O-pyynnön valmistuneen (direct I/O) siirtää tietoa muistin ja datarekisterin välillä Epäsuora I/O: I/O:n odotusaikana suorittimella suoritetaan (indirect I/O jotain muuta ohjelmaa interrupt driven I/O) Kun I/O-pyyntö valmistuu, laiteohjain antaa keskeytyksen (laitekeskeytys, I/O interrupt) suorittimelle, joka (jonkin ajan kuluttua) jatkaa kesken jäänyttä I/O-pyynnön esittänyttä ohjelmaa. siirtää tietoa muistin ja datarekisterin välillä 30 Jakso 8, Ohjelman suoritus 5

I/O tyypit (jatkoa) (4) DMA - Direct Memory Access älykkäämpi laiteohjain laiteohjain voi suoraan kopioida tiedot keskusmuistiin (n ei tarvitse siirtää tietoa muistin ja datarekisterin välillä) laiteohjain tekee paljon suuremman määrän työtä itsenäisesti (kuin epäsuorassa I/O:ssa) ennen suorittimelle annettavaa laitekeskeytystä ROSESSORI MISTI LEVYOHJAIN puskuri osoite lkm 31 DMA-SIIRTO: ohjain siirtää itsenäisesti tietoa levyltä keskusmuistiin LEVY Sovellus DATA- ALE Sovellus DATA- ALE KÄYTTÖJÄRJESTELMÄ laiteriippumaton taso 1 2 3... Sovellus Laiteajuri dataalue siirtopyyntö aiheuttaa keskeytyksen ja vie prosessin WAIT-jonoon Laiteriippumaton taso Laiteriippumaton taso valmistelee ja käynnistää siirron ja jää odottamaan siirron valmistumista Laiteajuri käynnistää pyydettäessä fyysisen I/O:n ja jää odottamaan siirron valmistumista Laiteohjain suorittaa pyydetyn siirron lohkopuskurit n siirron valmistuminen vie prosessin READY-jonoon ja aikanaan suoritukseen Lohkopuskurit Käyttöjärjestelmä Laiteohjain data laitteella -- Jakson 8 loppu -- [Tane99] Lisää tietoa? KJ kurssit, RIO, HajJärj 35 Jakso 8, Ohjelman suoritus 6