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

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

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

Ongelma(t): Jotta tietokonetta voitaisiin käyttää monipuolisesti ja mahdollisimman yksinkertaisesti kaikkiin sille soveltuviin käyttötarkoituksiin,

Käyttöjärjestelmän rakenne

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

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

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

Luento 2: LAITTEISTOSTA

Stallings, Lukua 2. KJ-I S2004 / Tiina Niklander, kalvot: Auvo Häkkinen 3-2. KJ-I I S2004 / Tiina Niklander, kalvot: Auvo Häkkinen 3-1

Käyttöjärjestelmät: prosessit

Käyttöjärjestelmän rajapinnat. Siirräntä: Laiteajurit ja keskeytys. I/O-ohjain. I/O-ohjain. Siirtomenetelmät. Käyttöjärjestelmän rakenne

Käyttöjärjestelmän rajapinnat

Käyttöjärjestelmät II

Käyttöjärjestelmät II

Stallings, Luku 1. KJ-I S2043 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-2. KJ-I S2003 / Auvo Häkkinen 2-1

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

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

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

Jakso 8 Ohjelman suoritus järjestelmässä

Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle,

Jakso 8 Ohjelman suoritus järjestelmässä

Keskeiset KJ:n osa-alueet

Käyttöjärjestelmät, 8 op

Keskeiset KJ:n osa-alueet. Keskeiset KJ:n osa-alueet. 1) Prosessi. 2) Muistinhallinta. Käyttöjärjestelmän rakenne. Eräs toteutus

Järjestelmän ulkoinen muisti I/O

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

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

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

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

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

2 Konekieli, aliohjelmat, keskeytykset

YLEISTÄ KÄYTTÖJÄRJESTELMÄSTÄ

Osio 3: Prosessit, siirräntä ja tiedostojärjestelmä

Stallings, Luku

Kurssin asema Käyttöjärjestelmät, 8 op. Kurssikirja. Kurssin tavoite. Kurssin rakenne: Kurssin suorittaminen. Käyttöjärjestelmät - Luento 1

Käyttöjärjestelmät, 8 op

Kurssin asema Käyttöjärjestelmät, 8 op. Siirtymävaiheen vastaavuudet. Kurssin tavoite. Kurssikirja. Kurssin rakenne:

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

Prosessi perinteisesti

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

Muistihierarkia Kiintolevyt I/O:n toteutus

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

Jakso 8 Ohjelman toteutus järjestelmässä

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

Jakso 5 Suoritin ja väylä

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

Jakso 5 Suoritin ja väylä

KJ:N KEHITTYMINEN JA YLLÄPITO

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

ltö Luento 6: VIRTUAALIMUISTI Luento 7: Segmentointi Segmentointi ja sivutus yhdistettynä Yhteiskäytöstä Suoritus virtuaalimuistissa

CUDA. Moniydinohjelmointi Mikko Honkonen

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen,

KJ:N KEHITTYMINEN JA YLLÄPITO

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

Tervetuloa! (2 ov,, 4 op) KJ on tärkein tietokoneessa pörräävistä ohjelmista

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

Luento 5 Suoritin ja väylä

VUOROTTAMINEN YKSI CPU

Muistihierarkia Kiintolevyt I/O:n toteutus

1. Keskusyksikön rakenne

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

Luento 5 Suoritin ja väylä

Käyttöjärjestelmät: Virtuaalimuisti

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

Luento 9 Järjestelmän ulkoinen muisti

Luento 5 Suoritin ja väylä

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

Luento 6: VIRTUAALIMUISTI

u Tietokone ilman käyttöjärjestelmää on kuin

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

Luento 3: PROSESSIT JA NIIDEN HALLINTA

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

Luento 5 Suoritin ja väylä

Luento 8 Ohjelman toteutus järjestelmässä

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

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

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Tietokoneen toiminta, K Tavoitteet (4)

Prosessit ja säikeet SMP, Mikroytimet W2K säikeet

KJ-II K2006 / Auvo Häkkinen - Teemu Kerola

Käyttöjärjestelmät II. SMP, Mikroytimet. Prosessit yleensä. UNIX prosessit. UNIX SVR4 Prosessit. UNIX prosessin kuvaaja

Tietokoneen rakenne: Harjoitustyö. Motorola MC prosessori

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

Sisältöä SÄIKEET, SMP

Sisältöä PROSESSIT JA NIIDEN HALLINTA. Prosessi. Prosessi virtuaalimuistissa. Prosessi. Prosessi virtuaalimuistissa. Käyttöjärjestelmät

PROSESSIT JA NIIDEN HALLINTA

Prosessi virtuaalimuistissa PROSESSIT JA NIIDEN HALLINTA. Sisältöä. Prosessi virtuaalimuistissa. Prosessi. Prosessi. Käyttöjärjestelmät, Luento 4

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

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

Pikaintro käyttöjärjestelmiin

VIRTUAALIMUISTI. Stallings, Luku 8.1

Sisältö VIRTUAALIMUISTI. Stallings, Luku 8.1. Suoritus virtuaalimuistissa. Suoritus virtuaalimuistissa. Puutoskeskeytys. Suoritus virtuaalimuistissa

Luento 9 Järjestelmän ulkoinen muisti

Tietoturvan Perusteet Yksittäisen tietokoneen turva

Luento 9 Järjestelmän ulkoinen muisti

CT50A2602 Käyttöjärjestelmät Seminaarityö. Tietokoneen muisti nyt ja tulevaisuudessa

Luento 9 Järjestelmän ulkoinen muisti

Transkriptio:

Tietojenkäsittelyn perusteet 2 Lisää käyttöjärjestelmistä 2011-02-09 Leena Ikonen 1

Systeemiohjelmat Systeemiohjelmiin kuuluvat Kääntäjät ja tulkit (+debuggerit) Käyttöjärjestelmä Linkittäjät Lataajat Editorit 2011-02-09 Leena Ikonen 2

Ohjelmien suoritus - käskysykli CPU noutaa käskyn PC:n osoittamasta paikasta, kasvattaa PC:n arvoa, noutaa operandit, suorittaa käskyn, tallentaa tuloksen rekisteriin tai muistiin 2011-02-09 Leena Ikonen 3

Siirräntä eli I/O Palvelupyyntö antaa kontrollin laiteajurille CPU suorittaa KJ:n koodia Ajuri alustaa ohjaimen sekä antaa tarvittavat käskyt, jolloin siirräntä käynnistyy (4) Ajuri odottaa (pollaa), että siirräntä valmistuu Ajuri tekee lopputoimet, ja palauttaa sovellukselle statustietoa (5) CPU odottelee jouten! 2011-02-09 Leena Ikonen 4

Siirräntätyypit Suora siirräntä (programmed I/O) Ei keskeytyksiä Epäsuora, keskeyttävä (interrupt-driven I/O) Ohjain keskeyttää DMA-siirto (Direct Memory Access) Ohjain keskeyttää Ohjain siirtää suoraan keskusmuistiin Älykäs laiteohjain 2011-02-09 Leena Ikonen 5

Keskeytys Sallii CPU:n ja ohjaimien yhtäaikaisen toiminnan CPU vain käynnistää siirrännän, ja voi jatkaa muiden käskyjen suoritusta Kun siirto valmis, ohjain keskeyttää CPU:n CPU siirtyy suorittamaan KJ:hin kuuluvaa keskeytyskäsittelyä Kun KJ käsitellyt tilanteen, siirron valmistumista odottanut prosessi voi päästä taas suoritettavaksi Siirräntä hidasta, eikä prosessi aina voi jatkaa ennen siirrännän valmistumista pyrkimys suorittaa toista prosessia kun toinen odottaa 2011-02-09 Leena Ikonen 6

Täydennetty käskysykli Jos keskeytys sallittu, CPU tutkii tilarekisterin ennen seuraavan käskyn noutoa Jos keskeytys, suoritetaan keskeytyskäsittelyn käskyt 2011-02-09 Leena Ikonen 7

Keskeytystyypit 2011-02-09 Leena Ikonen 8

Keskeytyskäsittelijä (interrupt handler) KJ:n koodia, jonka laitteisto käynnistää keskeytyksen sattuessa Selvittää keskeytyksen syyn Käynnistää toimet tilanteen hoitamiseksi Siirtyminen sopivaan käsittelyrutiiniin Keskeytynyttä prosessia voitava jatkaa myöhemmin siitä, mihin se jäi keskeytyksen sattuessa CPU:n rekistereiden arvot talletettava muistiin PC, PSW (Program Status Word), muut ohjelman käyttämät rekisterit Myös keskeytyksen käsittely voi keskeytyä 2011-02-09 Leena Ikonen 9

Muistihierarkia Nopeampi muisti == kalliimpi muisti Suurempi tallennuskapasiteetti == hitaampi muisti (vanhan kuvan idea säilynyt, arvot toki kasvaneet) 2011-02-09 Leena Ikonen 10

Käyttöjärjestelmän kehitys ja ylläpito Laitteistot muuttuvat / uusia kehitetään kytkimet, kortit, nauhat, levyt merkkipohjaiset / graafiset päätteet tuki virtuaalimuistille muistin määrä kasvanut, väylät parantuneet, moniprosessorijärjestelmät, jne. Tietojenkäsittelytavat muuttuvat interaktiiviset reaaliaikaiset järjestelmät ikkunointiympäristöt paikallisverkot ja Internet kuvankäsittely... 2011-02-09 Leena Ikonen 11

Käyttöjärjestelmän kehitys ja ylläpito Jatkuvan kehitystarpeen vuoksi modulaarinen rakenne selkeät liittymät eri osien välillä mahd. oliopohjainen toteutus private vs. public data Myös KJ:ssä puutteita ja virheitä paikkopaketit (patches, service packages) uudet KJ-versiot Milloin aika tehdä KJ uudelleen alusta? 2011-02-09 Leena Ikonen 12

Uutuuksia Laitteistokehitys moniprosessorijärjestelmät nopeat verkot nopeammat prosessorit suurempi muisti, uudet talletusmediat Ohjelmistojen / käyttötapojen muutos Asiakas/palvelija-malli Internet ja WWW Multimedia Mobiilikäyttöjärjestelmät 2011-02-09 Leena Ikonen 13

Mikrokernel vs. Muut toiminnot Vain välttämättömät laitetoiminnot ytimeen, joka suoritetaan etuoikeutetussa tilassa keskeytyskäsittelyn alkutoimet mikä / kuka aiheutti? vuorottamisen laitetoiminnot rekistereiden kopiointia muistinhallinnan laitetoiminnot MMU:n asetukset, suojaus siirrännän laitetoiminnot ohjaimien käyttö, suojaus prosessien välinen sanomanvälitys pyyntöjen välitys, kopiointia prosessien muistialueille Muut KJ:n palvelut tavallisina prosesseina, jotka suoritetaan käyttäjätilassa laiteajurit, tiedostojärjestelmä, virtuaalimuisti Toteutus perustuu sanomanvälitykseen IPC, inter process communication Joustavuus, laajennettavuus, siirrettävyys... 2011-02-09 Leena Ikonen 14

Tietoturva ja suojaus Käyttäjien tunnistus Vain tunnuksen & salasanan tuntevat käyttäjät saavat ottaa istunnon koneeseen Prosessilla aina omistaja Resurssien käyttöoikeus Prosessi käyttää resurssia vain omistajan luvalla tiedostoihin liittyy omistaja ja käyttöoikeudet vain omistaja voi muuttaa käyttöoikeuksia Ohjelmat ja data suojattava toisilta ohjelmilta erityisen tärkeää on suojata KJ sovelluksilta Resurssien yhteiskäyttö silti sallittava 2011-02-09 Leena Ikonen 15

Yhteenveto (Käyttöjärjestelmän vaikeat kohdat) Toimintojen synkronointi / ajoitus joskus odotettava, että jotain muuta tapahtuu, ennenkuin voi jatkaa keskeytysten oikea priorisointi Laitteistosignaalit tai ohjelmien toisilleen välittämät tiedot eivät saa kadota tai kahdentua Poissulkeminen (Mutual exclusion) eräitä resursseja voi käyttää vain yksi kerrallaan esim. kirjoitin tai yhteinen tiedosto / data Lukkiutuminen / Nälkiintyminen (Deadlock, Starvation) vaikeaa havaita odotettava resursseja, jotka ovat toisten hallussa huono prioriteetti, ei saada ensinkään palvelua 2011-02-09 Leena Ikonen 16