24
Tietokonelaitteisto aytt ¨ oj¨ arjestelm ¨ a Esimerkki: Linuxin ydin Ryhm ¨ aty ¨ o ja henkil ¨ okohtainen kotiteht¨ av¨ a Pikaintro k ¨ aytt ¨ oj¨ arjestelmiin Paavo Nieminen Tietotekniikan laitos Jyv ¨ askyl ¨ an yliopisto TIES406 Tietotekniikan opintojen aktivointi, luento 17.8.2011 Paavo Nieminen Pikaintro k ¨ aytt ¨ oj¨ arjestelmiin

Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

Pikaintro kayttojarjestelmiin

Paavo Nieminen

Tietotekniikan laitosJyvaskylan yliopisto

TIES406 Tietotekniikan opintojen aktivointi,luento 17.8.2011

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 2: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

Outline

1 Tietokonelaitteisto

2 KayttojarjestelmaHistoriaaPaakasitteita

3 Esimerkki: Linuxin ydin

4 Ryhmatyo ja henkilokohtainen kotitehtava

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 3: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

Outline

1 Tietokonelaitteisto

2 KayttojarjestelmaHistoriaaPaakasitteita

3 Esimerkki: Linuxin ydin

4 Ryhmatyo ja henkilokohtainen kotitehtava

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 4: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

Mika on tietokone?

(Image Copyright Computer Laboratory, University of Cambridge:http://en.wikipedia.org/wiki/File:EDSAC_(25).jpg used under CC license.)

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 5: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

Tietokone on binaarinen laskukone

Tietokonelaitteisto kasittelee bitteja (nollia ja ykkosia), jotkailmenevat sahkojannitteinaKaikki mita tietokone tekee on bittien siirtamista ja kahdenbitin yhdistamista ns. logiikkaportin avulla!Komponenteista (portteja, muistisoluja) organisoidaansuuri ja monipuolinen verkosto, mutta pohjalla oleva idea eiole kummempi.

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 6: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

Tietokone on ”uusi keksinto”

Ideat 1800-luvultaLaskennan teoria 1900-luvun alkupuoleltaEnsimmaiset yleiskayttoiset tietokoneet 1940-luvulta(Kaytannossa n. 70 vuotta sitten; esim. auto yli 100 vuotta,paperinvalmistus yli 2000 vuotta)

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 7: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

Tietokone on ”samanlainen” kuin 60 vuotta sitten

”Von Neumann -arkkitehtuuri”: prosessori, muisti, I/O, vaylaNykyaan monimutkainen (tehostavia lisakomponentteja);tarkeat peruskomponentit loytyvat kuitenkin yhaTeoreettiset mahdollisuudet yha samat!Ei harppauksia nakopiirissa (ellei kvantti-, DNA- taiaivosolukoneista aleta saada kayttokelpoisia).

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 8: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

Keskusyksikko (CPU) suorittaa konekielista ohjelmaa

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 9: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

Ohjelma – assembler – konekieli

(katsotaan kaytannon esimerkki ohjelman kaantamisesta)

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 10: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

Muistihierarkia

RekisteritValimuistit (Level 1, Level 2; prosessoriteknologia hoitaavalimuistin kayton; ohjelma nakeevirtuaalimuistiavaruuden)KeskusmuistiMassamuistit kuten kovalevyt

Rekisterit nopeita mutta kalliita (komponenttien jasunnitteluratkaisujen hinta). Alaspain siirryttaessa nopeus putoaa jahinta laskee. Muistin suunnittelu aina kompromissikapasiteettitavoitteen ja hintarajoitteen valilla!

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 11: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

Nykyisen tietokoneen ominaisuuksia

Nopeampia, pienempikokoisia, suurempi kapasiteettiLoytyy kaikkialta!

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 12: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

Tietokoneita on joka puolella!

Kannykoissa, kameroissa, DVD-soittimissa, pesukoneissa,autoissaRFID:t periaatteessa ”tietokoneita””Taydellinen” kayttojarjestelma tarvitaan yleiskayttoisissatietokoneissa, mutta kayttojarjestelman osioita tarvitaanmyos muissa laitteistoissa.

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 13: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

HistoriaaPaakasitteita

Outline

1 Tietokonelaitteisto

2 KayttojarjestelmaHistoriaaPaakasitteita

3 Esimerkki: Linuxin ydin

4 Ryhmatyo ja henkilokohtainen kotitehtava

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 14: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

HistoriaaPaakasitteita

Kayttojarjestelman merkitys

Tietokone on siis binaarinen laskin, ”tyhma vekotin”, kasa”rautaa” (so. piita, kuparia, kultaa, muovia, kemikaaleja)Laitteiston kayttamiseksi tarvitaan jarjestelma. . . . . . nimittain kaytto-jarjestelma

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 15: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

HistoriaaPaakasitteita

Kayttojarjestelmien historiaa

1940-luku, 1950-luku: Ensimmaiset tietokoneet, ei kayttojarjestelmaa. Ongelmia mm. ajankayton kannalta:Miljoonien arvoista konetta varattiin kalenterista kuin Kortepohjan pyykkikonetta, esim. tunti kerrallaan. Jos tunninaikaikkunassa tehtiin vartin tyo, jai 45 minuuttia hukattua aikaa. Ongelmana oli siis kallis hukka-aikaa, joka johtijonkinlaisen automaattisen vuoronnuksen tarpeeseen.1950-luku: ”monitoriohjelmat” – yksi ns. tyo (job) loppuun, minka jalkeen monitoriohjelma latasi ja kaynnistiautomaattisesti seuraava tyon.1960-luku: monitoriohjelmia, ”JCL”, ohjelmointikielia ja kaantajaohjelmia (”compile and run”). Ei moniajoa, eimuistinsuojausta. Haasteita lisaksi tasapuolisuus ja keskeytykset.1960-luku (edelleen): Aikajakojarjestelmat (time-sharing systems). Koneet yha kalliita, moni pystyisi tekemaantehokasta tyota koneen avulla. Ratkaisuna tahan paatteet ja kayttajien kesken jaetut aikaikkunat/aikaviipaleet.Useiden prosessien ja jaettujen resurssien kaytosta syntyivat luonnollisesti ongelmat synkronoinnissa, poissulussaja lukkiutumisessa. Lisaksi muistin seka kayttajien ja kayttooikeuksien hallinta tuli entista tarkeammaksi.1970-luku: mm. Multics seka kehitteilla olevat UNIX ja MS-DOS. monipuolisempi, suurempi koodimassa,hankalampi hallita. Haaste kokonaisuuden jasentaminen. Kerroksittainen jasennysmalli.1980-luvulta alkaen: moniajon ja suojausten kehittamista, moniydinprosessorit, hajautetut kayttojarjestelmat,oliopohjaisuus. Mikrotietokoneet, oheislaitteiden kirjo. Verkkoyhteydet ja internet.2000-luku: kannykat ym. sulautetut laitteet.Tulevaisuus:Ainakin hajautus, liikkuvat laitteet seka moniydinprosessorit. Pilvet ja kevyet asiakaslaitteet.

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 16: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

HistoriaaPaakasitteita

Nykyisen kayttojarjestelman toimintoja ja tavoitteita

Moniajo (monta ohjelmaa yhtaaikaa)Monta kayttajaaVerkkoyhteydetTietoturvaVirransaasto (erit. mobiililaitteissa)Multimedia

Kayttaja pitaa tiettyja toiminnallisuuksia itsestaanselvina;ne on tarjottava. Tasapainotettavia tavoitteita ovat mm.vasteaika, tuottavuus, tehokkuus, tasapuolisuus,saatavuus, luotettavuus.

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 17: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

HistoriaaPaakasitteita

Olennaisin kasite: prosessi

Prosessi on ”ohjelman kaynnissa oleva ilmentyma”Kayttojarjestelman paatehtava on mahdollistaa prosessienkaynnistaminen ja suorittaminen tietokonelaitteistossa.

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 18: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

HistoriaaPaakasitteita

Resurssit ja vuoronnus

Mm. prosessoria, keskusmuistia, kovalevya ym. laitteita,tiedostoja, viestikanavia sanotaan resursseiksi.Moniajon avain on resurssien jakaminen prosessien valillaMm. aikaviipaleet ohjelmille, tiedostojen lukitseminenOhjelmat eivat valttamatta laske koko ajan – silloin neodottelevat jotakin tapahtumaa (ovat ”blokkautuneina”)Tapahtuma kasitellaan ”valittomasti”, jolloin nykyinenprosessi keskeytyy valiaikaisestiKonteksti (context) on prosessorin tila, kun se suorittaaohjelmaa. Kun prosessi keskeytyy prosessorinkeskeytyskasittelyssa, on tarkeaa etta konteksti sailyy,toisin sanoen johonkin on tallennettavarekisterien sisalto.

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 19: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

HistoriaaPaakasitteita

Kayttajatila, kayttojarjestelmatila

Normaalit ohjelmat toimivat suojatussa kayttajatilassa.Vahintaan jonkinlainen osa kayttojarjestelmankonekielisesta ohjelmasta toimii prosessorin ollessa ns.kayttojarjestelmatilassa. Tata osaa sanotaankayttojarjestelman ytimeksi.Ytimen vastuulla voi olla paljon (monoliittinen ydin) taivahan (”pienoisydin” / microkernel) toimintojaYtimen ja sen laheisten komponenttien toimenpiteetvoidaan suunnitella hyvin monella tavalla.Operaatiotutkimuksen menetelmia voi kayttaavaihtoehtojen arvioinnissaTiettyja pakollisia toimintoja loytyy kuitenkin kaikistakayttokelpoisista kayttojarjestelmista . . .

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 20: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

HistoriaaPaakasitteita

Yhteenveto kayttojarjestelman tehtavista/moduuleista

Prosessinhallinta:

vuoronnus (scheduler/dispatcher)synkronointi (synchronization)prosessien kommunikointi (IPC, inter-processcommunication)kaynnistys, linkitys

Muistinhallinta (memory management)

Tiedostojarjestelma (file system)

Laitteiden ja muiden sijaintien nimeaminen/osoitteet

Matalan tason laitehallinta (device management / drivers)

Puskurointi

Kayttajamaan rajapinta (system call interface / API)

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 21: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

Outline

1 Tietokonelaitteisto

2 KayttojarjestelmaHistoriaaPaakasitteita

3 Esimerkki: Linuxin ydin

4 Ryhmatyo ja henkilokohtainen kotitehtava

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 22: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

(Katsotaan netista Linuxin ytimen lahdekoodia – konkreettinenesimerkki kayttojarjestelmasta)

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 23: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

Outline

1 Tietokonelaitteisto

2 KayttojarjestelmaHistoriaaPaakasitteita

3 Esimerkki: Linuxin ydin

4 Ryhmatyo ja henkilokohtainen kotitehtava

Paavo Nieminen Pikaintro kayttojarjestelmiin

Page 24: Pikaintro kaytt¨ oj¨ arjestelmiin¨users.jyu.fi/~aikaihla/TIES406/t7/kj_intro.pdf · luento 17.8.2011 Paavo Nieminen Pikaintro kaytt¨ oj¨ ¨arjestelmiin. Tietokonelaitteisto

TietokonelaitteistoKayttojarjestelma

Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava

Tehtava

Jakaudutaan kahteen ryhmaan ja tehdaan 15 minuutinkeskustelu seka purku:

Kirjoita (subjektiivinen) kertomus ensimmaisestakosketuksestasi tietokoneeseen. Milloin tama oli? Mikatietokone oli kyseessa, ja mika oli kayttojarjestelma?Vertaa silloista kayttokokemusta nykyisin kayttamaasitietokoneeseen ja kayttojarjestelmaan (todennakoisestiesim. Windows XP/Vista/7, Mac OSX, Linux). Mitaominaisuuksia ensimmaisestasi puuttui verrattunanykypaivaan, ja kaipaatko toisaalta jotakin ominaisuuttajota enaa ei ole?

Paavo Nieminen Pikaintro kayttojarjestelmiin