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
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
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
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
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
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
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
TietokonelaitteistoKayttojarjestelma
Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava
Keskusyksikko (CPU) suorittaa konekielista ohjelmaa
Paavo Nieminen Pikaintro kayttojarjestelmiin
TietokonelaitteistoKayttojarjestelma
Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava
Ohjelma – assembler – konekieli
(katsotaan kaytannon esimerkki ohjelman kaantamisesta)
Paavo Nieminen Pikaintro kayttojarjestelmiin
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
TietokonelaitteistoKayttojarjestelma
Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava
Nykyisen tietokoneen ominaisuuksia
Nopeampia, pienempikokoisia, suurempi kapasiteettiLoytyy kaikkialta!
Paavo Nieminen Pikaintro kayttojarjestelmiin
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
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
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
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
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
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
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
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
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
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
TietokonelaitteistoKayttojarjestelma
Esimerkki: Linuxin ydinRyhmatyo ja henkilokohtainen kotitehtava
(Katsotaan netista Linuxin ytimen lahdekoodia – konkreettinenesimerkki kayttojarjestelmasta)
Paavo Nieminen Pikaintro kayttojarjestelmiin
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
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
Top Related