KJ:N KEHITTYMINEN JA YLLÄPITO

Samankaltaiset tiedostot
KJ:N KEHITTYMINEN JA YLLÄPITO

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ä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

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

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

Keskeiset KJ:n osa-alueet

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

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

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

Käyttöjärjestelmät II

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

Käyttöjärjestelmät II

Prosessi perinteisesti

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

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

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

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

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

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

Käyttöjärjestelmät: prosessit

Luento 3: PROSESSIT JA NIIDEN HALLINTA

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

Sisältöä SÄIKEET, SMP

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

Luento 6: VIRTUAALIMUISTI

Käyttöjärjestelmän rakenne

Osio 2: Luennot 4-7 Muistinhallinta

Käyttöjärjestelmät. Tietokoneen rakenne. Stallings, Luku 1. KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 1-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

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

Osio 3: Prosessit, 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.

Jakso 8 Ohjelman toteutus järjestelmässä

ltöä (Luennot 5&6) Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS Pikakertaus: : a) b) c) Dyn.. part.: sijoitus Kuva Buddy System: esimerkki

Osio 2: Luennot 4-7 Muistinhallinta YKSINKERTAINEN MUISTINHALLINTA. ltöä YLEISTÄ MUISTINHALLINNASTA. Looginen muisti.

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 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

Luento 7: VIRTUAALIMUISTIN SIVUTUS JA SEGMENTOINTI

Kuva 8.7. u Muunnos prosessin sivunumerosta sivutilanumeroksi u Kussakin alkiossa: u Katenoimalla. u MMU:ssa; juuri äsken käytettyjä muunnoksia

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

SÄIKEET, SMP. Sisältöä. Stallings, Luku 4. Prosessi vs. säie Miksi säikeitä? ULT: Käyttäjätason säikeet KLT: Säikeiden toteutus ytimessä

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

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

Luento 8 Ohjelman toteutus järjestelmässä

Sisältöä SÄIKEET, SMP

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

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat

Osio 2: Luennot 5-8 Muistinhallinta

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

Tietokoneen toiminta, K Tavoitteet (4)

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

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

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

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

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

PROSESSIT JA NIIDEN HALLINTA

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

Pikaintro käyttöjärjestelmiin

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

OHJ-4301 Sulautettu Ohjelmointi

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

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

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

Jakso 5 Suoritin ja väylä

2 Konekieli, aliohjelmat, keskeytykset

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

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

RJESTELMÄ OSA 2 Stallings, Luku PALVELUPYYNNÖT. KJ-I I S2005 / Tiina Niklander, kalvot Auvo HäkkinenH

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

VIRTUAALIMUISTI. Stallings, Luku 8.1

Jakso 5 Suoritin ja väylä

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

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

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. 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 suorittimen rakenne (1) TTK-91 muistin rakenne

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

VIRTUAALIMUISTI. Stallings, Luku 8.1

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

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

MUISTINHALLINTA. Stallings, Luku 7

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

Luento 5 Suoritin ja väylä

Luento 5 Suoritin ja väylä

Arto Salminen,

Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 8 Ohjelman suoritus järjestelmässä

Luento 5 Suoritin ja väylä

Luento 5 Suoritin ja väylä

VUOROTTAMINEN YKSI CPU

Mikroydin (vs monoliittinen ydin)

Transkriptio:

Käyttöjärjestelmät t I Käyttöjärjestelmät I Luento 12: KÄYTTÖJÄRJESTELMIEN KEHITYS JA PIIRTEITÄ Stallings, Lukua 2 KJ:N KEHITTYMINEN JA YLLÄPITO KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-1 KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-2 KJ:n kehittäminen ja ylläpito Laitteistot muuttuvat / uusia kehitetään u kytkimet, kortit, nauhat, levyt u merkkipohjaiset / graafiset päätteet u tuki virtuaalimuistille u muistin määrä kasvanut, väylät parantuneet, moniprosessorijärjestelmät, jne. Tietojenkäsittelytavat muuttuvat u interaktiiviset reaaliaikaiset järjestelmät u ikkunointiympäristöt u paikallisverkot ja Internet u kuvankäsittely u... KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-3 KJ:n kehittäminen ja ylläpito Jatkuvan kehitystarpeen vuoksi u modulaarinen rakenne u selkeät liittymät eri osien välillä u mahd. oliopohjainen toteutus Fprivate vs. public data Myös KJ:ssä puutteita ja virheitä u paikkopaketit (patches, service packages) u uudet KJ-versiot Milloin aika tehdä KJ uudelleen alusta? KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-4 KJ:n historia lyhyesti Perusmallit: Eräajojärjestelmä, yksiajo (Batch System) Eräajojärjestelmä, moniajo (Multiprogramming, multitasking) Osituskäyttöjärjestelmä (Time-Sharing) Nykyaikaistetut mallit: Moniprosessorijärjestelmä (Multiprocessor) Verkkokäyttöjärjestelmä (Networked systems) Hajautettu järjestelmä (Distributed system) Asiakas-palvelija malli (Client-Server) Käyttöjärjestelmät I Eräajo Yksiajojärjestelmä KAIKKI TARJOAVAT NE SAMAT PERUSPALVELUT Mitkä? KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-5 KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-6 12-1

Eräajo & yksiajo Ensimmäiset KJ:t 50-luvun puolivälissä Koneen muistissa yksink. monitoriohjelma Käyttäjä määritteli työnsä reikäkorteilla tai nauhalla (ns. kortinkuvat) erätyö = ohjauskortit + ohjelma + data Operaattori työnsi kortit lukijaan ja käänsi vipua Ohjauskortit kertoivat milloin monitorin piti ladata muita palveluohjelmia (esim. kääntäjä) Vain yksi työ kerrallaan suoritettavana, uusi työ ajoon vasta kun edellinen valmis Työnohjauskieli (Job Control Language, JCL) Monitorille tarkoitettuja kortinkuvia u mikä ohjelma käynnistettiin u mitä tdstoja se käytti u minne tulosteet ohjattiin Esimerkkejä: $JOB uuden työn alkukortti $FTN lataa Fortran-kääntäjä ja anna kontrolli sille $LOAD lataa käännös muistiin $RUN aja juuri ladattu ohjelma $JOB parametrit $FTN Ohjelmakortit... $LOAD $RUN Datakortit... $END Seuraava erätyö... KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-7 KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-8 Monitori Jatkuvasti muistissa Luki kortinkuva kerrallaan erätyötä suoritettavakseen Kun sovellus ladattu muistiin, suoritus hyppäsi sen alkuun Sovellusta suoritettiin kunnes u valmistui tai virhe u aika loppui Kontrolli jälleen monitorille Monitori luki seuraavan kortinkuvan Kuva 2.3 Monitori ja siirränt ntä Monitori huolehti siirrännästä u siirrännän yksityiskohdat ei sovelluksen murheena I/O-käsky oli itseasiassa aliohjelmakutsu monitorin alueella olevaan koodiin u oma käsky, 'palvelupyyntö' Monitorin tarjoama palvelu u tarkasti, että sovellus ei vahingossa lukenut ohjauskorttia datakseen (-> liian vähän dataa?) u ohitti tarvittaessa kortteja, kunnes taas järkevä ohjauskortti (-> liikaa dataa?) KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-9 KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-10 Monitori ja laitteistopiirteitä (1) Muistinsuojaus u Monitori suojattava sovellukselta u CPU:n tarkistettava muistiosoitteet F laitteistossa kantarekisteri BASE Keskeytysmekanismi u hallittu kontrollin siirto monitorin ja sovelluksen välillä u bitti PSW:ssä, keskeytyskäsittelyn alku laitetoiminto Kellokeskeytys u ettei yksi sovellus valloittanut koko laitteistoa u viimeistään kello aiheutti keskeytyksen Fkontrolli taas monitorille Monitori ja laitteistopiirteitä (2) Etuoikeutetut käskyt (Priviledged Instructions) u siirräntäkäskyt u muistin rajarekisterin asettaminen u keskeytysten esto ja salliminen u jos sovellus yrittää käyttää näitä käskyjä, tuloksena poikkeus tuntematon käskykoodi Etuoikeutettu vs. käyttäjätila (Supervisor/User mode) u vain laitteisto ja monitori voi asettaa (bitti PSW:ssä) u CPU suorittaa etuoikeutetun käskyn vain, jos on etuoikeutetussa tilassa KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-11 KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-12 12-2

Yksiajojärjestelm rjestelmän heikkous Siirräntä erittäin hidasta verrattuna CPU:n nopeuteen CPU odottelee usein siirron valmistumista ennenkuin voi jatkaa sovelluksessa eteenpäin Ł Huono CPU:n käyttöaste Käyttöjärjestelmät I Moniajojärjestelmä KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-13 KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-14 Moniajojärjestelm rjestelmä Suoritettavaksi useita sovelluksia u kun yksi odottaa esim. siirrännän valmistumista, CPU suorittaa toista Lisää laitteistovaatimuksia I/O-ohjain keskeyttää, kun siirräntä valmis u CPU voi suorittaa muuta siirron aikana MMU: suojaus ja ajonaik. osoitemuunnos u muistissa yhtäaikaa useita sovelluksia ja sovelluksen sijainti vaihtelee eri suor.kerroilla u Jos ei virtuaalimuistia Frajarekisteri LIMIT, kantarekisteri BASE u Jos virtuaalimuisti Fsivutaulurekisteri PTR Fosoitemuunnospuskuri TLB Fsivunpuutoskeskeytys (page fault) KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-15 KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-16 Lisävaatimuksia KJ:lle Prosessien hallinta u kirjanpitoa prosesseista = PCB:t Vuorottaminen u CPU toiselle prosessille, jos yksi jää odottamaan u tapahtumaohjattu tai aikaviipaletekniikka u prosessin tila: READY vs. BLOCKED Muistinhallinta u sovelluksille löydettävä tilaa muistista u kirjanpito vapaista ja varatuista alueista KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-17 Yksiajon ja moniajon vertailu Muistia 256 K Tässä ei kilpailua oheislaitteistosta Taulukko 2.1 KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-18 12-3

Yksiajon ja moniajon vertailu Taulukko 2.2. Osituskäytt yttö Eräajossa käyttäjä ei voinut vaikuttaa sovelluksen suoritukseen sen käynnistyttyä Osituskäyttö huomioi muuttuneet käyttötavat: interaktiivinen päätetyöskentely u käyttäjä voi käynnistää sovelluksen itse u syötteet näppäimistöltä u tulostus näytölle Ihminen koneeseen verrattuna hidas u tyypillinen käyttäjä tarvitsee CPU-aikaa vain 2s/min u järjestelmässä voi olla esim. 30 yhtäaikaista käyttäjää, eikä yksi edes huomaa muiden läsnäoloa KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-19 KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-20 Osituskäytt yttö Aikaviipalekello u vuorottelu ei pelkästään siirrännän odottelun perusteella u kullekin vuorotellen aikaviipale (esim. 50-100 ms), jotta voidaan taata kaikille siedettävät vasteajat Prioriteetit u osituskäytölle suurempi prioriteetti kuin erätöille tai taustalla ajettaviin töille F ettei käyttäjä hermostuisi päätteensä ääressä... Käyttöjärjestelmät I NYKYAIKAISEN KJ:N PIIRTEITÄ KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-21 KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-22 Uutuuksia Laitteistokehitys u moniprosessorijärjestelmät u nopeat verkot u nopeammat prosessorit u suurempi muisti, uudet talletusmediat Ohjelmistojen / käyttötapojen muutos u Asiakas/palvelija -malli u Internet ja WWW u Multimedia Mikrokernel Vain välttämättömät laitetoiminnot ytimeen, joka suoritetaan etuoikeutetussa tilassa keskeytyskäsittelyn alkutoimet u mikä / kuka aiheutti? vuorottamisen laitetoiminnot u rekistereiden kopiointia muistinhallinnan laitetoiminnot u MMU:n asetukset, suojaus siirrännän laitetoiminnot u ohjaimien käyttö, suojaus prosessien välinen sanomanvälitys u pyyntöjen välitys, kopiointia prosessien muistialueille KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-23 KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-24 12-4

Mikrokernel KJ:n ydin Kuva 4.10 Muut KJ:n palvelut tavallisina prosesseina, jotka suoritetaan käyttäjätilassa u laiteajurit, tiedostojärjestelmä, virtuaalimuisti u odottavat vuorottamista Ready-jonossa u eivät pääse suoraan käsiksi laitteistoon Toteutus perustuu sanomanvälitykseen u IPC, inter process communication Joustavuus, laajennettavuus, siirrettävyys... Vrt. Monoliittinen ydin u KJ:n keskeiset toiminnot yhdessä ajomoduulissa u yleisempää, nopeampaa Monoliittinen ydin KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-25 KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-26 Moniprosessorijärjestelm rjestelmä SMP Koneessa useita CPU:ita u kaikki rakenteeltaan ja tehtäviltään samanlaisia FSMP, Symmetric Multiprocessing u aidosti rinnakkainen suoritus u kukin voi suorittaa KJ:tä tai sovellusta Muu laitteisto yhteiskäytössä u muisti, väylät, I/O-laitteet Useamman CPU:n mukanaolo ei vaikuta normaaliin ohjelmointiin u KJ:ssä sensijaan paljonkin uutta mietittävää Tehokkuus, vikasietoisuus, laajennettavuus KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-27 KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-28 3 prosessia ja SMP (2 CPU:ta) Verkkojärjestelm rjestelmä Useita erillisiä (mahd. erilaisia) solmukoneita Kullakin koneella oma KJ ja omat prosessit Mahd. yhteiskäytössä oleva tdstojärjestelmä Globaali käyttäjien tunnistus Not Running Verkkojärjestelmä Käyttäjä tuntee ja käyttää koneita nimeltä Toisella koneella olevien tiedostojen käyttö KJ:t voivat olla erilaisia eri koneissa KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-29 KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-30 12-5

Hajautettu järjestelmä Useita erillisiä koneita Kullakin koneella oma KJ ja omat prosessit Mahd. yhteiskäytössä oleva tdstojärjestelmä Globaali käyttäjien tunnistus Hajautettu järjestelmä Käyttäjän ei tarvitse tuntea koneita nimeltä KJ hoitaa mm. kuormantasauksen Globaali KJ (kaikissa samanlainen) Esim. PlanetLab Asiakas-palvelija -malli Sovellus jaettu useampaan osaan u esim. WWW-palvelija ja selain (käyttöliittymä) Asiakas ja palvelija voivat sijaita eri koneissa u WWW-palvelija konehuoneen palvelimella, selainohjelma työhuoneen koneella tai samassa koneessa u ikkunamanageri ja sovellusohjelma Palvelija palvelee useita asiakkaita Sanomanvälitys u TCP/IP-protokolla, etäproseduurikutsu KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-31 KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-32 Sulautetut järjestelmj rjestelmät: t: Käyttöjärjestelmiä kaikkialla? VxWorks (Windriver) u JPL: Pathfinder ja Rover QNX u Potilasmonitori LynxOS (LynuxWorks) u HP:n kirjoittimissa u PhatNoise jukeboxi autoon Käyttöjärjestelmät t I Järjestelmän käynnistäminen ja sammuttaminen KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-33 KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-34 Järjestelmän n käynnistk ynnistäminen Miten käyttöjärjestelmä pääsee koneeseen? Kuka sen lataa? Mistä? BOOTSTRAP, boot loader Vastaus: Sovitaan mistä kohtaa levyä aloitetaan latausohjelman suoritus Laitteistovalmistaja toteuttaa sopimuksen Latausohjelma huolehtii varsinaisen käyttöjärjestelmän lataamisesta Käynnistysprosessi (1/2) Laitteisto: u Sähköt päälle u BIOS (Basic Input/Output System) FKiinteästi laitteistossa F Nykyisin aina ohjelmoitava (ns Flash BIOS) u Laitteisto osaa aloittaa BIOSin ohjelmalla FSuoritin aloittaa käskystä FFFF0h, jossa yleensä vain hyppykäsky varsinaiseen BIOSin koodiin u BIOSin ohjelma F Hakee omista tiedoistaan levyn, jolta käynnistetään FKovalevyn alussa on aina Master Boot Record (MBR), jonka BIOS siis lataa KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-35 KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-36 12-6

Käynnistysprosessi (2/2) u MBR (laitoksen luokkakoneet) F Erillinen latausohjelma, joka kysyy kumpi KJ valitaan FMBR tietää levyn osituksen / partitioinnin FMBR lataa valitun partition alusta (tai muusta tiedetystä paikasta) KJ:n oman lataajan, joka siis onkin sijoitettu vasta sinne (eikä MBR:lle) u KJ:n oma lataaja FAloittaa käyttöjärjestelmän ohjelmistojen lataamisen F Jossain vaiheessa suoritustaan, se siirtää kontrollin jo ladatuille osille, jotka jatkavat puuttuvien osien lataamista u Kun KJ:stä on ladattu riittävästi, niin käyttäjä voi aloittaa komentojen antamisen KJ:lle Järjestelmän n sammuttaminen Miksi pitää sammuttaa hallitusti? Miksei saa vain katkaista virtanapista? Vastauksia: u Osa tiedoista vasta tiedostopuskureissa, ei vielä levyllä u Tiedostojärjestelmän kirjanpito on muistissa, se pitää saada levylle talteen seuraavaa käyttöä varten u Muiden oheislaitteiden sammuttaminen hallitusti u Uudet lokia käyttävät tiedostojärjestelmät eivät sekoita omaa kirjaanpitoaan vaikka yhteys katkeaakin. Tiedostojen sisältö saattaa jäädä johonkin aiempaan tilaan (vrt. transaktiot). KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-37 KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-38 Kertauskysymyksiä Mitä moderni käyttöjärjestelmä vaatii alla olevalta laitteistolta? Mistä käytännön tarpeista/ongelmista nykyisten käyttöjärjestelmien peruspiirteet (keskeytysmekanismi, moniajo, osituskäyttö, virtuaalimuisti jne.) ovat saaneet alkunsa? Mitä yksiajon ongelmia/puutteita moniajo ratkaisee? Mitä parannuksia/lisäyksiä on pitänyt tehdä a) laitteistoon ja b) käyttöjärjestelmään siirryttäessä yksiajosta moniajoon? Käyttöjärjestelmän ja sovellusten välinen kommunikointi, milloin, miten? Miksi käyttöjärjestelmä toisinaan estää käyttäjää (sovellusta) tekemästä suoraan itse haluamiaan asioita? KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-39 END JOB EXIT Käyttöjärjestelmät t I KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-40 Kertausta Käyttöjärjestelmän palvelut Prosessi (ja säie) Muistinhallinta Oheislaitteiden käyttö Tiedostojärjestelmät Paikallisuus Moniajon piirteet Keskeytys ja palvelupyyntö KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-41 Vanha kurssikoe 1. Pikkujuttuja u Mitä laitteistopiirteitä tarvitaan moniajojärjestelmän toteuttamiseksi u Mitä tietoja on tapana tallettaa tiedostoattribuutteihin u Mitä tietoja on tapana tallettaa prosessin kuvaajaan 2. Keskeytysmekanismia u Perustele keskeytysmekanismin tarve ja siitä saatavat hyödyt. Kuvaa neljä (erilaista) keskeytystilannetta ja kerro kuinka käyttöjärjestelmä käsittelee kunkin tilanteen (n. yksi virke per tilanne). u Miten ja milloin prosessori huomaa keskeytyksen u Selitä yksityiskohtaisesti keskeytyskäsittelyn vaiheet. Aloita tilanteesta, jossa keskeytys on juuri huomattu ja päätä tilanteeseen, jossa KJ on käsitellyt keskeytyksen ja prosessori jatkaa joko keskeytyneen prosessin tai jonkun muun prosessin suoritusta (ts. selitä myös mahdollinen prosessin vaihto). Tuo vastauksessani selkeästi esiin, mitkä toiminnoista ovat laitetoimintoja ja mitkä toiminnot KJ hoitaa ohjelmallisesti. KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-42 12-7

Vanha kurssikoe 3. Muistinhallintaa u Selitä MMU:n rakenneosat sekä kuinka MMU tekee osoitemuunnoksen, kun Fei käytetä virtuaalimuistia ja prosessille on varattu yksi yhteinäinen muistialue Fmuistinhallinta perustuu sivuttavaan virtuaalimuistiin 4. Tiedoston käsittelyä u Sovellus avaa tiedoston palvelupyynnöllä OPEN(...) ja lukee sieltä sitten tietoa toistosilmukassa palvelupyynnöllä READ(...). Selitä KJ:n ja I/O-laitteiston toimitaa näiden kahden palvelupyynnön yhteydessä (mm. mitä pitää tehdä, millaisia tietorakenteita, parametrien välitys jne.) KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-43 Muita mahdollisia teemoja Prosessit u tilakaavio u prosessin kuvaaja Levykirjanpitoa Siirräntää Muistinvarausta (Termejä): paikallisuus, etuoikeutettu tila,...... KJ-I S2005 / Tiina Niklander, kalvot: Auvo Häkkinen 12-44 12-8