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

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

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

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

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

KJ-I I S2004 / Auvo Häkkinen & Tiina Niklander 4-1. Stallings, Lukua 2

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Ä

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

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Tietokoneen rakenne (2 ov / 4 op) Syksy 2007 Liisa Marttinen. Helsingin yliopisto Tietojenkäsittelytieteen laitos

Luento 0: Kurssihallinto Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

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

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

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

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

Käyttöjärjestelmät II

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

Prosessi perinteisesti

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

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

Käyttöjärjestelmät II

LUENTO 0. Tervetuloa! Käyttöjärjestelmät II 2 ov Teemu Kerola. Helsingin yliopisto Tietojenkäsittelytieteen laitos

Operating Systems, 8 op

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

Osio 2: Luennot 4-7 Muistinhallinta

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

Luento 3: PROSESSIT JA NIIDEN HALLINTA

Käyttöjärjestelmät: prosessit

Osio 2: Luennot 5-8 Muistinhallinta

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

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

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

Käyttöjärjestelmän rakenne

Sisältöä SÄIKEET, SMP

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

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

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

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

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

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

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

Stallings, Luku

Luento 6: VIRTUAALIMUISTI

2 Konekieli, aliohjelmat, keskeytykset

Käyttöjärjestelmän rajapinnat

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

Luento 2: LAITTEISTOSTA

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

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

Tietokoneen toiminta (Computer Organization I)

PROSESSIT JA NIIDEN HALLINTA

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

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen,

Tietokoneen toiminta (Computer Organization I)

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

Tietokoneen toiminta (Computer Organization I)

Jakso 8 Ohjelman toteutus järjestelmässä

Rinnakkaisohjelmistot. Liisa Marttinen Tietojenkäsittelytieteen laitos Helsingin yliopisto Kevät 2004

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

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ä

Sisältöä SÄIKEET, SMP

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

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

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

Jakso 8 Ohjelman toteutus järjestelmässä

Tietokoneen toiminta, K Tavoitteet (4)

Tietokoneen toiminta (Computer Organization I)

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ä

Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

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

Muistihierarkia Kiintolevyt I/O:n toteutus

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

RJESTELMÄ Stallings, Luku KJ-I I S2005 / Tiina Niklander, kalvot Auvo HäkkinenH

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

MUISTINHALLINTA. Stallings, Luku 7

u saantimenetelmät Kenttä (field) u bittien / tavujen muodostama looginen kokonaisuus u yksi arvo, jolla tyyppi ja pituus Tietue (record)

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

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

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

VIRTUAALIMUISTI. Stallings, Luku 8.1

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

Arto Salminen,

Luento 8 Ohjelman toteutus järjestelmässä

VIRTUAALIMUISTI. Stallings, Luku 8.1

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

Stallings, Luku 8.1. KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 7-1

Järjestelmän ulkoinen muisti I/O

Luento 1 Tietokonejärjestelmän rakenne

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

Luento 1 Tietokonejärjestelmän rakenne

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

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

Monitorit. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5

Monitorit. Tavoite. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5. Minimoi virhemahdollisuuksia

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

Transkriptio:

Tervetuloa! 581331-5 Käyttöjärjestelmät I (2 ov,, 4 op) Helsingin yliopisto Tietojenkäsittelytieteen laitos KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-1 Miksi opiskella KJ:n saloja? KJ on tärkein tietokoneessa pörräävistä ohjelmista u Tietokone ilman käyttöjärjestelmää on kuin Samanlaisia ongelmia, metodeja, ratkaisuja löydettävissä myös muilta tietojenkäsittelytieteen aloilta Hankimme kaikille tietokoneen käyttäjille hyödyllistä yleissivistystä KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-2 & Tiina Niklander 1-1

Tavoitteitamme Ymmärtää käyttöjärjestelmän toiminnan keskeisimmät periaatteet ja käsitteet umitkä ovat KJ:n perustehtävät? umitä laitteistopiirteitä tarvitaan, jotta voidaan ohjelmoida moniajoon perustuva KJ? ukuinka KJ suorituttaa sovelluksia? u Miten voidaan taata sovelluksille turvallinen suoritusympäristö? u Miten voidaan taata käyttäjille turvallinen käyttöympäristö? Toiminnallisuus KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-3 Tavoitteitamme Tuntea laitteiston käyttötavat usovellus pyytää palvelua KJ:ltä palvelupyynnöllä u KJ laittaa laitteen töihin ulaite pyytää KJ:n huomiota keskeytyksellä Tuntea sovelluksen käytössä olevat käyttöjärjestelmäpalvelut umitä palveluja KJ tarjoaa sovellukselle? ukuinka sovellus käyttää KJ:n palveluja? u Miten tietoa KJ:lle? Sovelluksen / käyttäjän näkökulmasta KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-4 & Tiina Niklander 1-2

Materiaali Kurssikirja: William Stallings: OPERATING SYSTEMS, 5th. ed., Prentice-Hall, 2005. (tai aiemmat 4. tai 3. editio) Kurssin kotisivu: http://www.cs.helsinki.fi/kurssit/cum_laude/581331-5/ Uutisryhmä: hy.tktl.opiskelu.kj Ks. myös: Tanenbaum A.S.: Modern Operating Systems, 2nd ed., Prentice Hall, 2001. KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-5 Tutkintovaatimuksista Tito RIO (2 ov) Uusi KJ kurssi v. 2005 tutkintovaatimuksissa Tito ja RIO (LuK) kaikille pakollisia KJ pakollinen (FM) vain HAJA-TILI sv:ssä Vanhat tutkintovaatimukset: KJ-1 pakollinen kaikille KJ-2 pakollinen vain HAJA-TILI sv:ssä KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-6 & Tiina Niklander 1-3

Aikataulu syksy 2005 Luennot 6.9-13.10 Auditoriossa B123 u ti ja to 12-14 u Tiina Niklander Harjoitukset 7.9 13.10, max 12 pist u opintopiirit pyörivät 3 x 2 vkoa u Mikko Heimola u Tiina Niklander u Risto Saarelma Kurssikuulustelu ti 18.10, max 48 pist u klo 9-12 paikka??? Erilliskuulustelut, max 60 pist u Tammi-, maalis-, elo- ja syys/lokakuu KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-7 Opintopiirit Kootaan harjoitusryhmän jäsenistä, 4-6 henk. Sama ryhmä koko kurssin ajan Tehtävät vaihtuvat osioittain u Tutustu tehtäviin ja mieti ratkaisuja ennen osion ensimmäistä tapaamista u 1. tapaamisessa ryhmät ratkovat tehtäviä keskenään u 2. tapaamisessa ryhmät esittelevät ratkaisuja toisilleen laatimiensa raporttien pohjalta u Tapaamisten jälkeen ryhmät palauttavat raporttinsa kirjallisina ohjaajille kommentoitavaksi Raporteista annetaan palautetta ryhmille KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-8 & Tiina Niklander 1-4

Opintopiirin raportti Raporttiin myös u Opintopiiriin osallistuneiden nimet u Laskuharjoitusryhmän numero u Ohjaajan nimi Osion tehtävän ratkaisut ja selostus Tarkistuskysymykset ja niiden perustelut Evaluointilomake palautetaan raportin mukana KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-9 Sisält ltöä OSIO 1: (6.9 15.9) u Laitteistoasiaa (luku 1) u Yleistä käyttöjärjestelmästä (luvut 2.1-2.4) u Prosessi ja prosessien hallinta (luvut 3.1-3.4) OSIO 2: (20.9 29.9) u Muistinhallinta (luku 7) u Virtuaalimuisti ja laitteisto (luku 8.1) OSIO 3: (4.10 13.10) u Siirräntäjärjestelmä (luvut 11.1-11.4) u Tiedostojen hallinta (luvut 12.1-12.7) u Säikeet (luku 4.1) KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-10 & Tiina Niklander 1-5

Pohdittavaa Miksi juuri nämä asiat on valittu kurssin rungoksi? Mikä on ollut valinnan perusta? Mikä tässä kurssissa on sinua eniten kiinnostava alue? Miksi? KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-11 Tee töitt itä Koeta muodostaa itsellesi käsiteltävästä asiasta jokin mielekäs kokonaisuus u Yritä koko ajan ymmärtää ja jäsentää u Pysyttele hereillä! Tee omia muistiinpanoja u Kirjaa omat ajatukset ja kysymykset samantien Kysymykset eivät ole koskaan tyhmiä u Kysy studioyleisöltä u Kilauta kaverille u Kysy, jos filtteri alkaa viheltää u Kysy muuten vaan KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-12 & Tiina Niklander 1-6

Osio 1 Luento 1 (tänään): u Käyttöjärjestelmän tehtäviä ja palveluja u Käyttöjärjestelmien keskeiset osa-alueet Luento 2: u Laitteistosta ( TiTon kertaus) Luento 3: u Prosessit ja niiden hallinta Luento 4: u Käyttöjärjestelmien kehitys u Nykyaikaisen KJ:n piirteitä KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-13 Käyttöjärjestelmät I KÄYTTÖJÄRJESTELMÄN TEHTÄVIÄ JA PALVELUJA KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-14 & Tiina Niklander 1-7

Käyttöjärjestelmä On ohjelmisto, joka huolehtii sovellusten suorituttamisesta prosessorissa u antaa laitteiston sovelluksen käyttöön u huolehtii, että sovellus ei yksin valloita koko laitteistoa u tarjoaa turvallisen suoritusympäristön On palveluliittymä sovelluksen ja laitteiston välillä u laitteistopiirteiden hallinta sovelluksen ulkopuolella u sovellus esittää tarpeensa palvelupyynnöin F siirtyminen KJ:n palveluun keskeytysmekanismin kautta Optimoi laitteiston käyttöä hyvän suorituskyvyn saamiseksi KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-15 Järjestelmän n tasot Kuva 2.1 Palvelupyynnöt Keskeytykset KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-16 & Tiina Niklander 1-8

KJ:n tarjoamia palveluja (1) Käyttöliittymä (user interface) u ikkunointiympäristö u komentotulkki u mahdollisuus käynnistää ohjelmien suoritus u ei KJ:n osa Ohjelmointiympäristö (utility programs) u ohjelmien laatiminen u editorit, kääntäjät, linkittäjät, debuggerit, u ei KJ:n osa KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-17 KJ:n tarjoamia palveluja (2) Ohjelmien suorituttaminen u prosessien käynnistäminen F kirjanpito, F lataaminen muistiin u prosessien vuorottaminen F CPU:n käyttövuorot, F resurssien varaus ja käyttö u prosessien tappaminen F resurssien vapauttaminen KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-18 & Tiina Niklander 1-9

KJ:n tarjoamia palveluja (3) Muistinhallinta u varaa muistitilaa sovellukselle Siirräntä u sovellus pyytää palvelua KJ:ltä u KJ komentaa I/O-ohjaimia töihin Tiedostojen hallinta u kirjanpito tiedostoista, hakemistot u tiedostosta lukeminen / tallettaminen Suojaus u muistin suojaus ja tiedostojen käyttöoikeudet u resurssien varaamisen kilpailutilanteet ja ristiriidat KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-19 KJ:n tarjoamia palveluja (4) Virhetilanteiden hallinta u laitteistovirheet u ohjelmistovirheet u resurssipula Virheistä toipuminen u palauttaa statustietoa sovellukselle u uudelleenyritykset u prosessin tappaminen Välikysymys: Mitä yleistermi resurssi tarkoittaa? KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-20 & Tiina Niklander 1-10

KJ:n tarjoamia palveluja (5) Kirjanpito / tilinpito (accounting) u tilastointi resurssien käytöstä u suorituskyvyn seuranta (esim. vastausaika) u järjestelmäparametrien optimointi hyvän suorituskyvyn saamiseksi u koneen käyttäjien laskuttaminen Kirjanpito voi antaa vihjeitä siitä, kuinka KJ:tä voitaisiin kehittää edelleen KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-21 Käyttöjärjestelmät I KESKEISIÄ KÄYTTÖJÄRJESTELMIEN OSA-ALUEITA ALUEITA KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-22 & Tiina Niklander 1-11

Keskeiset KJ:n osa-alueet alueet Käyttäjä Sovellukset Komentotulkki Varusohjelmat Palvelupyynnöt PROSESSIEN HALLINTA TIEDOSTOJÄRJESTELMÄ suojaus RESURSSIEN HALLINTA (laitekuvaajat) MUISTINHALLINTA lohkot SIIRRÄNTÄJÄRJESTELMÄ Laiteajurit Keskeytyskäsittely Laiteohjaimet ja laitteet KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-23 Keskeisiä KJ:n osa-alueita alueita KJ eräs monimutkaisimmista ohjelmista Keskeisimmät osa-alueet (kirjan jaottelu) 1) Prosessin käsite 2) Muistinhallinta 3) Tietoturva ja suojaukset 4) Vuorottaminen ja resurssien hallinta 5) Järjestelmän hierarkkinen rakenne vrt. edellinen kuva KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-24 & Tiina Niklander 1-12

1) Prosessi = Suoritettavaksi otettu ohjelma u koodi muistissa (voi olla yhteiskäytössä) u oma data-alue ja pino muistissa (muuttujat) u kaikki ei välttämättä yhtäaikaa muistissa + KJ:n ylläpitämät hallinnolliset rakenteet u prosessin kuvaaja PCB (Process Control Block) F CPU:n dataa prosessin suorittamisesta prosessorin rekistereiden arvot F KJ:n dataa prosessin hallitsemiseksi tunnistus, omistaja, prioriteetti.. tietoja prosessin varaamasta muistista, tdstoista, prosessin tila (esim. odottaa siirrännän valmistumista)... KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-25 Eräs toteutus KJ:llä prosessilista, jossa viitteet prosessin kuvaajiin (context) CPU:ssa rekisteri, jossa suoritettavan prosessin numero (prosessin B numero on i) Prosessinvaihto: CPU A:lta B:lle u KJ talletti rekistereiden arvot A:n kuvaajaan u KJ latasi B:n kuvaajasta arvot rekistereihin KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-26 & Tiina Niklander 1-13

2) Muistinhallinta Suoritusaikainen tallennus u prosessit (ohjelmat+data) keskusmuistissa (primary memory) Pysyvä tallennus u tiedostot (ohjelmat+data) tukimuistissa (secondary memory) Tilan allokointi u KJ huolehtii automaattisesti u kirjanpito vapaista muistialueista / levylohkoista u kirjanpito varatuista muistialueista / levylohkoista u tarvittaessa KJ käyttää levyä muistin jatkeena (virtuaalimuisti) Suojaus ja käyttöoikeudet u prosessien eristäminen toisistaan u silti tuettava modulaarista ohjelmointia F koodin / datan yhteiskäyttö sallittua u muistinsuojaus, tdstojen käyttöoikeudet KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-27 Muistinhallinta Avainkäsite virtuaalimuisti Ei ota kantaa todellisen muistin määrään tai minne ohjelma muistissa sijoitetaan u ohjelman muistiavaruus voi olla suurempi kuin fyysinen muistiavaruus (ts. todellinen muistin määrä) Suoritusaikana muistissa tarvittava osa koodista/datasta, loput levyllä u MMU huomaa puuttumisen u KJ lataa muistiin Ei näy sovelluksen ohjelmoijalle KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-28 & Tiina Niklander 1-14

Virtuaalimuisti Kuva 2.9 Kirjanpito? sivutaulu KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-29 Virtuaalimuisti Kuva 2.10 KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-30 & Tiina Niklander 1-15

Virtuaalimuisti Ohjelma käyttää virtuaaliosoitteita, ts. osoitteita ohjelman alun suhteen Laitteisto käyttää aina fyysisiä (todellisia) osoitteita MMU tekee osoitemuunnoksen aina suoritusaikana muistiin viitattaessa Jos viitattu osa ei keskusmuistissa u MMU aiheuttaa keskeytyksen u jos muistissa ei ole vapaata tilaa, KJ vapauttaa jonkin alueen u KJ hakee levyltä puuttuvan osan muistiin KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-31 3) Tietoturva ja suojaus Käyttäjien tunnistus u Vain tunnuksen & salasanan tuntevat käyttäjät saavat ottaa istunnon koneeseen u Prosessilla aina omistaja Resurssien käyttöoikeus u Prosessi käyttää resurssia vain omistajan luvalla F tdstoihin liittyy omistaja ja käyttöoikeudet F vain omistaja voi muuttaa käyttöoikeuksia u Ohjelmat ja data suojattava toisilta ohjelmilta F erityisen tärkeää on suojata KJ sovelluksilta F MMU ja ajonaikainen osoitemuunnos u Resurssien yhteiskäyttö silti sallittava KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-32 & Tiina Niklander 1-16

4) Resurssien hallinta Resurssi? u CPU, muisti, tdsto, I/O-laite u CPU:n allokointi = vuorottaminen (skedulointi) Milloin? u Prosessia käynnistettäessä, suoritettaessa, tapettaessa u KJ:n päätöksillä, prosessin (palvelu)pyyntöjen perusteella Vastausaika u Interaktiivisuus vs. tausta-ajo (eräajo) u KJ:n palveluprosessi vs. sovellus Tasapuolisuus u Samanlaisille prosesseille samantasoinen palvelu Tehokkuus u Maksimoi läpimenoaste, minimoi vastausajat u Palvele mahd. useaa käyttäjää (sovellusta) KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-33 Vuorottamisen perusideoita Suoritukseen otetuille prosesseille READY-jono (short term queue) u vuorottaja valitsee seuraavaksi suoritettavan prosessin (jonon ensimmäinen) u Round-Robin: uusi työ jonon loppuun ja CPU:lta pois tuleva työ jonon loppuun Suoritettavaksi ottamista odottaville prosesseille oma jono (long term queue) u ei liian monta prosessia yhtäaikaa READY-jonoon (moniajoaste) Kullakin tapahtumalla omat odotusjononsa u I/O-laitteet, semaforit, ajastimet, KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-34 & Tiina Niklander 1-17

Milloin? Kuva 2.11 kun CPU suorittaa KJ:tä KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-35 5) Hierarkkinen rakenne KJ muodostuu useista erillisistä tasoista Hierarkian ansiosta kokonaisuus jakaantuu helpommin hallittaviin osiin u suunnittelu, toteutus, testaus Kullakin tasolla oma osajoukko tehtävistä u ylemmillä tasoilla kehittyneimmät KJ:n palvelut u alemmilla tasoilla laiteläheisimmät toiminnot Taso tarjoaa palvelunsa ylemmälle tasolle, käyttää alemman/alempien tasojen palveluja Rajapinnat hyvin määriteltyjä u tason toteutusta voi muuttaa koskematta muihin tasoihin KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-36 & Tiina Niklander 1-18

Laitetasot Brown, Denning 1984 Level Name Objects Example Operations 4 Interrupts Interrupt-handling Invoke, mask, unmask, programs retry 3 Procedures Procedures, call stack Mark stack, call, return 2 Instruction Set Evaluation stack, micro- Load, store, add, program interpreter, subtract, branch scalar and array data 1 Electronic circuits Registers, gates, buses, Clear, transfer, activate, etc. complement Mitä laitteistopiirteitä tarvitaan KJ:n toteutuksessa? KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-37 KJ:n laiteriippuvat tasot Level Name Objects Example Operations 7 Virtual Memory Segments, pages Read, write, fetch 6 Local secondary Blocks of data, Read, write, allocate, free store device channels 5 Primitive processes Primitive process, Suspend, resume, wait, signal semaphores, ready P / V list Muistinhallinta: MMU:n rakenteen huomiointi Laiteajurit: ohjaimien ja esim. levyn rakenteen huomiointi Vuorottaja: rekistereiden talletus/palautus, synkronointiprimitiivit KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-38 & Tiina Niklander 1-19

KJ:n laiteriippumattomat palvelut Level Name Objects Example Operations 13 Shell User programming Statements in shell language environment 12 User processes User processes Quit, kill, suspend, resume 11 Directories Directories Create, destroy, attach, detach, search, list 10 Devices External devices, such Create, destroy, open, close, as printer, displays read, write and keyboards 9 File system Files Create, destroy, open, close read, write 8 Communications Pipes Create, destroy, open. close, read, write KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-39 KJ-toteutuksen vaikeat kohdat Toimintojen synkronointi / ajoitus u(seuraava kalvo) Poissulkeminen (Mutual exclusion) u eräitä resursseja voi käyttää vain yksi kerrallaan F esim. kirjoitin tai yhteinen tdsto / data Lukkiutuminen / Nälkiintyminen (Deadlock, Starvation) u vaikeaa havaita u odotettava resursseja, jotka ovat toisten hallussa u huono prioriteetti, ei saada ensinkään palvelua ks. RIO-kurssi KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-40 & Tiina Niklander 1-20

KJ-toteutuksen vaikeat kohdat Toimintojen synkronointi / ajoitus u joskus odotettava että jotain muuta tapahtuu ennenkuin voi jatkaa ks. RIO-kurssi u keskeytysten oikea priorisointi u laitteistosignaalit tai ohjelmien toisilleen välittämät tiedot eivät saa kadota tai kahdentua u Epädeterministinen käyttäytyminen F Jaettu muisti ja erilainen vuorotus voi tuottaa yllätyksen F Tulos riippuu suoritusjärjestyksestä KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-41 Osion 1 opintopiiritehtävä Mitä kaikkea tietokoneessa käyttöjärjestelmän toimesta tapahtuu yhden käyttäjän prosessin suorituksen aikana u Käynnistäminen u Suorittaminen u Levyn tai näppäimistön käyttö (ohjelman pyynnöt) u Prosessien vuorottaminen u... KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 1-42 & Tiina Niklander 1-21