Luento 8 Ohjelman toteutus järjestelmässä

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

Prosessi (4) Luento 8 Ohjelman toteutus järjestelmässä. Prosessi. Prosessin vaihto (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 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)

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

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

Tietokoneen toiminta, K Tavoitteet (4)

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

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.

Käyttöjärjestelmät: prosessit

Luento 1 Tietokonejärjestelmän rakenne

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

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

Luento 1 Tietokonejärjestelmän rakenne

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

Muistihierarkia Kiintolevyt I/O:n toteutus

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

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

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

Kertausluento luennoista 1-3 1

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

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto 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

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

Luento 12 Yhteenveto

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?

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

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

Prosessi perinteisesti

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

Luento 4 Aliohjelmien toteutus

Muistihierarkia Kiintolevyt I/O:n toteutus

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

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

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

Jakso 4 Aliohjelmien toteutus

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

1. Keskusyksikön rakenne

Tietokoneen toiminta (Computer Organization I)

Aliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus

Tavoitteet (4) Luento 12 Yhteenveto. Keskeisiä asioita. Mitä hyötyä tästä on? (2) Esimerkkikone: TTK-91 laitteisto suoritin - CPU

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)

Käyttöjärjestelmät II

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

Tietokoneen toiminta (Computer Organization I)

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

Luento 4 Aliohjelmien toteutus

Tietokoneen toiminta (Computer Organization I)

Osio 2: Luennot 4-7 Muistinhallinta

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

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Aihepiiri Tietokoneen toiminta (Computer Organization I)

Jakso 5 Suoritin ja väylä

Tietokoneen toiminta (Computer Organization I)

Aihepiiri Tietokoneen toiminta (Computer Organization I) Tavoitteet (4) Mitä hyötyä tästä on? (4) Kurssien välisiä riippuvuuksia

Tietokoneen toiminta (Computer Organization I)

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

Luento 4 Aliohjelmien toteutus

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

Luento 9 Järjestelmän ulkoinen muisti

Tietokoneen toiminta (Computer Organization I) Mitä hyötyä tästä on? (4) Kurssien välisiä riippuvuuksia. Aihepiiri.

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

Tietokoneen toiminta, K Tavoitteet (4)

Jakso 5 Suoritin ja väylä

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

Käyttöjärjestelmät II

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

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

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

Jakso 4 Aliohjelmien toteutus

Sisältöä SÄIKEET, SMP

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I) Aihepiiri. Mitä hyötyä tästä on? (3) Tavoitteet. Kurssien välisiä riippuvuuksia

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Aihepiiri Tietokoneen toiminta (Computer Organization I)

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

Luento 9 Järjestelmän ulkoinen muisti

Tietokoneen toiminta (Computer Organization I)

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

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

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

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

Luento 9 Järjestelmän ulkoinen muisti

Transkriptio:

Luento 8 Ohjelman toteutus järjestelmässä Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit Käyttöjärjestelmien kehitys 1 Tietokonejärjestelmä Käyttäjä Ohjelmoija Sovellusohjelma KJ:n suunnittelija Palvelut, kirjastot (utilities) Käyttöjärjestelmä TiTo Laitteisto (suoritin, muisti, yms.) Kuva 8.1 [Sta03] 2 Luento 8, Ohjelman suoritus 1

Prosessi (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?) Suorittimella 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? 3 Prosessi Suoritin prosessi P2 prosessi P1 prosessi P2 prosessi P3 prosessi Q1 Muisti Data - ohjelmien - KJ:n Ohjelmakoodit Väylä Ohjain pääosa P2:n tiedoista on edelleen muistissa! Levy ohjelma P ohjelma Q 4 Luento 8, Ohjelman suoritus 2

Prosessin vaihto (3) Suorittimella suoritusvuorossa olevan prosessin vaihtaminen Tapahtuu aika usein keskimäärin noin 2000-3000 konekäskyn välein? esim. 50-500 kertaa sekunnissa? Iso operaatio - paljon kopiointia montako konekäskyä tähän kuluu? 50-500? 0? 5 Prosessin elinkaari (11) ready-to-run valmis suoritukseen running suorituksessa luonti odottaa poistettu tai tapettu waiting Prosessin 5 suoritustilaa Milloin tilanvaihto tapahtuu? Mitä tilanvaihdossa tapahtuu? Mitä suoritin tietää suorituksessa olevasta prosessista? 6 Luento 8, Ohjelman suoritus 3

Prosessin esitysmuoto järjestelmässä PCB - Prosessin kuvaaja eli kontrollilohko (Process Control Block) isohko tietue, joka sisältää kaiken yhdestä prosessista muistialueet, tiedostot, tiedostojen käsittelykohdat ei suorituksessa oleville myös: suorittimen tila (laiterekisterit, MMU:n rekisterit, kontrollirekisterit) joka prosessista oma PCB luodaan prosessin luonnin yhteydessä ja tuhotaan prosessin päättyessä käyttöjärjestelmärutiinit manipuloivat PCB:tä 7 Prosessin kuvaajan sisältö (9) Prosessin tunniste 14023 Prioriteetti suorittimen vuoronantoa varten 143 Prosessin tila ja/tai odottamisen syy R-to-R Suoritinympäristö talletettuna odottamisen aikana rekisterit, PC, SP, FP, tilarekisterit Seuraavaksi suoritettavan käskyn osoite Main {} Poikkeuskäsittelijöiden osoitteet (ellei oletusarv.) Aikaviipale Käytössä olevat muistialueet, aukiolevat tiedostot KJ:n hallintotietoa (kokonaisaika, etc etc) Ks. Minix esimerkin struct proc [Tane87], 1 kalvo 8 Luento 8, Ohjelman suoritus 4

Prosessin tilanvaihdon toteutus (5) Prosessin tilanvaihto tapahtuu siirtämällä prosessi (sen PCB) jonosta toiseen ready-to-run jono (tai jonot) odottaa suoritinta running jono suorituksessa ei oikeastaan ole olemassa waiting jono odottaa jotakin 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 Ks. Minix esimerkin ready [Tane87], 1 kalvo 9 Prosessit jonoissa (1) R-to-R 1056 1766 Running 0188 Disk1 0036 7654 9878 waiting Timer 0555 Msg from 1345 2222 Prosessin 9878 kuvaaja (PCB) Vuoronanto: valitse seuraava prosessi Ready-to-Run -jonosta ja siirrä se suoritukseen CPU:lle (kopioi tämän prosessin suorittimen tila suorittimelle) 10 Luento 8, Ohjelman suoritus 5

KJ esimerkki: I/O keskeytys (5) R-to-R R Disk1 Q Tdriver Tdriver Tdriver Tdriver Running P waiting Timer S Msg from Tdriver I/O keskeytys laitteelta Disk1 prosessille Tdriver? Suoritin havaitsee keskeytyssignaalin ja suorittaa I/O keskeytyskäsittelyrutiinin (P:n ympäristössä) Tdriver siirretään R-to-R jonoon P:n suoritus jatkuu vai jatkuuko? U 11 KJ esimerkki: I/O keskeytys (ei anim) R-to-R R Q Running P Disk1 Tdriver waiting Timer S Msg from Tdriver U I/O keskeytys laitteelta Disk1 prosessille Tdriver? Suoritin havaitsee keskeytyssignaalin ja suorittaa I/O keskeytyskäsittelyrutiinin (P:n ympäristössä) Tdriver siirretään R-to-R jonoon P:n suoritus jatkuu vai jatkuuko? 12 Luento 8, Ohjelman suoritus 6

KJ esim: aikaviipalekeskeytys (3) R-to-R waiting QR P Q P Running R P P R P Disk1 TdriverR R R R Timer S R PR Msg from Tdriver U P saa aikaviipalekeskeytyksen? P siirretään takaisin R-to-R jonoon Seuraava prosessi R saa suoritusvuoron Entä jos P olisi pyytänyt levy I/O:ta Disk1:ltä? 13 KJ esim: aikaviipalekesk. (ei anim) R-to-R R Q P Running P waiting Disk1 Timer Tdriver S Msg from Tdriver U P saa aikaviipalekeskeytyksen? P siirretään takaisin R-to-R jonoon Seuraava prosessi R saa suoritusvuoron Entä jos P olisi pyytänyt levy I/O:ta Disk1:ltä? 14 Luento 8, Ohjelman suoritus 7

Prosessin 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 Kopioi uuden prosessin suoritinympäristö omalta talletusalueeltaan suorittimelle lataa kaikki suorittimen rekisterit (myös PC!) Uuden 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], kalvot INT 1-3/3 usein keskellä prosessin vaihtoa suorittavaa KJ rutiinia 15 Prosessin prioriteetti (3) Prosessin tärkeysjärjestys suorittimella esim. pieni numero iso (parempi) 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 muistakaa antaa KJ:lle aikaa aina joskus...! Prioriteetti voi vaihdella prosessin elinaikana paljon suoritinaikaa huonompi prioriteetti kauan R-to-R jonossa parempi prioriteetti (prosessi siirretään korkeamman prioriteetin R-to-R jonoon) 16 Luento 8, Ohjelman suoritus 8

Käyttäjän näkökulma (käyttö)järjestelmään 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? 17 Käyttöjärjestelmän näkökulma (käyttö)järjestelmään 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? 18 Luento 8, Ohjelman suoritus 9

Käyttöjärjestelmä käyttöliittymänä laitteistoon Loppukäyttäjälle (ihmiselle) Sovellusohjelmille Piilottaa laitteiston erityispiirteet käyttäjiltä käskykanta konekäskyn rakenne suorittimen toteutus ja suorittimien lukumäärä I/O:n toteutus I/O-laitteiden sijainti käyttäjät / sovellukset KJ HW 19 Käyttöjärjestelmän tavoitteet Laiteriippumaton (HW-riippumaton) käyttöliittymä laitteistoon järjestelmää on helppo käyttää KJ järjestelmä antaa reilua palvelua kaikille sovellukset on helppo tehdä sovellukset on helppo siirtää muista järjestelmistä sovellukset KJ:n laiteriippumaton taso KJ:n laitesidonnainen taso HW 20 Luento 8, Ohjelman suoritus 10

Käyttöjärjestelmän tavoitteet (jatk) Järjestelmän resurssien tehokas hallinta kaikista resursseista saada maksimihyöty kuka osti liikaa levyjä? joustava resurssien yhteiskäyttö lue tiedosto levyltä vai verkkopalvelimelta? tiukka tietosuoja kuka muu kuin Pekka tai Maija luki tietojani? 21 Käyttöjärjestelmä resurssien vartijana Suoritinaikaa 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 22 Luento 8, Ohjelman suoritus 11

KJ järjestelmän eheyden turvaajana Varauduttu kaikkiin mahdollisiin virheisiin Sovellusohjelmat eivät voi häiritä KJ:tä tai muita prosesseja tahallaan (esim. tietokonevirukset) vahingossa (yleisin tapaus) Järjestelmä ei lukkiudu tai kaadu KJ:n omat tietorakenteet ovat aina eheitä sovellusohjelmat eivät voi koskea KJ:n tietorakenteisiin sovellusohjelmat aina lopulta antavat vuoron KJ:lle 23 Käyttöjärjestelmän rakenne (4) Prosessien hallinta prosessien luonti, tuhoaminen prosessien välinen viestintä (IPC, Inter-Process 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? 24 Luento 8, Ohjelman suoritus 12

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 (Unix) - muistinhallintaprosessi init prosessi (Unix) - 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, SVC, viestit ajastimet ja muut keskeytykset 25 KJ palvelun kontrollin palautus Explisiittinen KJ-palvelun kutsu Implisiittinen KJ-palvelun kutsu Aliohjelmakutsut CALL RETURN SVC SVC IRET Viestit viesti vastausviesti (lähettäjä odottaa vastausta RECEIVE:ssä) Ajastimet ja muut keskeytykset keskeytys IRET 26 Luento 8, Ohjelman suoritus 13

Prosessit ja aliohjelmat (7) suoritin käyttäjätasolla suoritin etuoik. tasolla Sovellus P (käyttäjätaso) KJ prosessi ServProc-1 (käyttäjätaso) SVC MSG MSG KJ palvelu PrivSub-Msg (etuoik. taso) MSG MSG KJ prosessi PrivProc-1 (etuoik. taso) Sovellus Q (käyttäjätaso) SVC SVC CALL CALL SVC CALL KJ (KJ) aliohj. Sub-1 (käyttäjätaso) SVC KJ aliohj. PrivSub-1 (etuoik. taso) 27 KJ esimerkki: laiteajuri Aliohjelmana (eli proseduurina) laiteajuri suoritetaan KJ-rutiinina tavallisen SVC-kutsun kautta vain yksi kutsu kerrallaan suorituksessa? miksi? miten voidaan valvoa? sov. prosessi laiteajuri aliohj. svc iret 28 Luento 8, Ohjelman suoritus 14

KJ esimerkki: laiteajuri (jatk.) Aliohjelmana (eli proseduurina) laiteajuri suoritetaan KJ-rutiinina tavallisen aliohjelmakutsun ja/tai SVC-kutsun kautta osa tai kaikki koodista voi olla etuoikeutettua vain yksi kutsu kerrallaan suorituksessa? miksi? miten voidaan valvoa? sov. prosessi call return laiteajuri (osa etuoikeutettuna) svc ei etuoik. osa iret etuoik. osa 29 KJ esimerkki: laiteajuri Prosessina 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 30 Luento 8, Ohjelman suoritus 15

31 Käyttöjärjestelmien kehitys Varhaiset järjestelmät ei käyttöjärjestelmää, kytkimiä Eräajojärjestelmät (batch systems) osaa suorittaa yhden työn kerrallaan ja jatkaa sitten vuorossa seuraavalla Moniajojärjestelmät (multiprogramming) vuorottaa useaa samaan aikaan suorituksessa olevaa työtä edelleen eräajoa Osituskäyttöjärjestelmät (timesharing) suorakäyttö (on-line), useita samanaikaisia käyttäjiä 32 Luento 8, Ohjelman suoritus 16

Varhaiset järjestelmät Ei käyttöjärjestelmää, kytkimiä Vain yksi ohjelma kerrallaan ladataan suoritukseen konekielisenä suoritetaan tulokset tallennetaan Käyttäjä ei välttämättä ollut suoraan yhteydessä koneen kanssa Suoritusvuorojen jakelu Varauslista paperilla (aikajaksot) Kehittyneempi menettely: Operaattori, jolle toimitettiin suoritettavat ohjelmat 33 Eräajojärjestelmät (batch systems) Vain yksi ohjelma kerrallaan suorituksessa, mutta tietokoneella pieni ohjelmanpätkä (lataaja, monitori), joka osaa automaattisesti ladata työn ja suorittaa sen Operaattori järjestää työt jonoon laittaa korttipakat kortinlukijaan tai lataa magneettinauhat nauhuriin Käyttäjä toimittaa ohjelmansa suoraan korttipakkana tai magneettinauhana operaattorille ja saa joskus suorituksen jälkeen tuloksen paperilla tai magneettinauhalla 34 Luento 8, Ohjelman suoritus 17

Moniajojärjestelmät (multiprogramming) Edelleen operaattorien suorittamaa eräajoa Nyt samanaikaisesti suorituksessa useita töitä kun yksi työ odottaa oheislaitetta, suoritin voi suorittaa sillä aikaa jotain toista ohjelmaa Tämä toimintaperiaate käytössä nykyisissäkin käyttöjärjestelmissä (ns. tausta-ajo) prosessi ei ole suorittimella, jos se odottaa oheislaitteelle annetun tehtävän valmistumista IBM System/360 35 Osituskäyttöjärjestelmät (timesharing) Suorakäyttö (on-line) käyttäjällä on suora yhteystietokoneeseen useita samanaikaisia käyttäjiä Valtaosa nykyisistä käyttöjärjestelmistä tarjoaa käyttäjälle ajantasaisen yhteyden tietokoneeseen (esim. kaikki PC:t) 36 Luento 8, Ohjelman suoritus 18

Käyttöjärjestelmien historiaa 1950 1960 1970 1980 1990 Fortran monitor system BOS/360 DOS/360 VAX/VMS ULTRIX OS/2 LINUX Admiral BPS/360 OpenVMS AmigaOS MS-DOS FreeBSD BeOS SAGE EXEC 1 OS/MFT OS/MVS HP-UX SOS NEXT UNIX Joka koneella omansa Joka sarjalla koneita omansa Windows95 (Kymmenistä vaihtoehdoista olisi voinut valita toisinkin) 37 -- Luennon 8 loppu -- [Tane99] Lisää tietoa? KJ kurssit, RIO, HajJärj 38 Luento 8, Ohjelman suoritus 19