250 likes | 420 Views
Voit lisätä yrityksen logon tähän diaan. Valitse Lisää. Valitse Kuva. Etsi yhtiön logon sisältävä tiedosto. Valitse OK. Voit muuttaa logon kokoa Napsauta logon sisäpuolella. Logon ulkopuolelle tulevat ruudut ovat koonmuuttokahvoja. Voit muuttaa objektien kokoa näiden avulla.
E N D
Voit lisätä yrityksen logon tähän diaan. • Valitse Lisää. • Valitse Kuva. • Etsi yhtiön logon sisältävä tiedosto. • Valitse OK. • Voit muuttaa logon kokoa • Napsauta logon sisäpuolella. Logon ulkopuolelle tulevat ruudut ovat koonmuuttokahvoja. • Voit muuttaa objektien kokoa näiden avulla. • Jos pidät VAIHTONÄPPÄINTÄ alhaalla samalla, kun vedät koonmuuttokahvasta, objektin mittasuhteet säilyvät samoina, vaikka objektin koko muuttuu. Käyttöjärjestelmät Juhani Heikkinen Kymenlaakson ammattikorkeakou Käyttöjärjestelmät
Opetussuunnitelma Tavoitteet • Käyttöjärjestelmien toiminnan ymmärtäminen • Linux-ympäristön tuntemus Toteutus • Luennot 2h/vko + harjoittelu(Linux) 2h/vko + seminaarityöt Materiaali - Ilkka Haikala: TTKK:n pruju -(Stallings: Operating Systems) Käyttöjärjestelmät
…ops jatkuu Suoritustapa • Teoriakoe (Haikala) • Linux-koe • Esitys • 1-2 henkilöä • Aihe-ehdotukset annetaan melko pian kurssin alettua • Laajuus noin 15 min Käyttöjärjestelmät
Johdanto • Käyttöjärjestelmän päätehtävänä on toimia liitäntänä sovellusohjelman ja laitteiston välillä • Käyttöjärjestelmän tarjoamia palveluja: • ohjelmien suoritus, oheislaitteiden ohjaus, muistinhallinta, resurssien jakaminen, ohjelmien suojaus jne. Käyttöjärjestelmät
Tietokonejärjestelmienarkkitehtuuri Käyttöjärjestelmät
..Arkkitehtuuriratkaisuja • CISC (Complicated Instruction Set Computers) • Merkittävä osa käyttöjärjestelmän toiminnoista laitteistotasolle • RISC (Reduced Instruction Set Computer) • Suoritin yksinkertainen ja tehokas, monimutkaiset asiat käyttöjärjestelmätasolla Käyttöjärjestelmät
KJ:n kehittyminen: Sukupolvi 0: Ei KJ:ää • Von Neumann -arkkitehtuuri: • Laitteisto koostuu muistista ja suorittimesta Käyttöjärjestelmät
Sukupolvi 1: Yksiajokäyttöjärjestelmät • Eräajokäyttöjärjestelmä Käyttöjärjestelmät
Yksiajo-KJ:n tarpeita • KJ halutaan levylle => tarvitaan tiedostojärjestelmä • Suojaus virhetilanteilta -Esim. Yritys viitata käyttöjärjestelmän alueelle (ratkaisu: FENCE-rekisteri KJ:n ja käyttäjän muistialueiden välille) • Jotta käyttäjä ei pääse muuttamaan FENCE-rekisterin arvoa, tarvitaan yhden bitin rekisteri USER_MODE(Kun True, SET_FENCE-käsky ei ole sallittu) Käyttöjärjestelmät
…tarpeita • Sovellus voi käyttää oheislaitteita vain kutsumalla käyttöjärjestelmän aliohjelmia => Määritellään käskyt SVC (Supervisor Call) ja RETI (Return from Interrupt) • Suoritinajan valvontaa varten liitetään järjestelmään kello, jonka sisällöstä vähennetään yksi tasaisin aikavälein. Kellon nollautuessa suoritus pakotetaan siirtymään käyttöjärjestelmään (kellokeskeytys) Käyttöjärjestelmät
Kohti 2. sukupolvea • Otetaan käyttöön Spooling-järjestelmä (Simultaneous Peripheral Operation On Line) => sisäänluku ja tulostaminen puskuroidaan => töiden lomittuminen • Lisäksi tarvitaan I/O-keskeytys: kun luku tai kirjoitus on seuraavassa vaiheessa, jossa tarvitaan KJ:ää, KJ tallettaa suorittimen rekisterien sisällöt muistiin (ympäristön talletus, context save), suorittaa pyydetyn tehtävän ja palaa talletetun ympäristön mukaiseen suoritukseen • Myös muiden siirtymisten KJ:ään (SVC, virheet ja kello) voidaan sopia aiheuttavan ympäristön talletuksen • SVC-käskyillä aiheutetut keskeytykset = ohjelmoidut keskeytykset (programmed interrupts) • SVC- ja ohjelmavirheistä aiheutuvat keskeytykset = ohjelmistokeskeytykset (software interrupts) • I/O- ja kellokeskeytyksiä kutsutaan ulkoisiksi keskeytyksiksi (external interrupts) Käyttöjärjestelmät
Kehitystarpeita • Kiireellinentyö halutaan suoritukseen ennen kuin edellinen työ on päättynyt • Suoritettava työ keskeytetään, sen ympäristö talletetaan ja keskusmuistialue kopioidaan levylle. Kiireellinen työ otetaan suoritukseen (=irrottava skedulointi, pre-emptive scheduling) => Irrottavan skeduloinnin avulla voitaisiin toteuttaa myös yksinkertainen osituskäyttöjärjestelmä (monta päätekäyttäjää käyttää keskuskonetta yhtä aikaa) => toimintaa, jossa koko suoritettava ohjelma siirretään levylle, kutsutaan heittovaihdoksi (swapping) Käyttöjärjestelmät
Sukupolvi 2: Moniajokäyttöjärjestelmät • Vapaat resurssit otetaan käyttöön suorittamalla monta ohjelmaa samanaikaisesti. Suorituksessa oleva ohjelmaa kutsutaan prosessiksi • Keskusmuistissa voi olla yhtä aikaa monta prosessia = moniajokäyttöjärjestelmä (multiprogramming) • Lisätään ympäristön talletukseen USER_MODE ym suorittimen tilaa kuvaavat bitit (tilasanarekisteri, PSW processor status word) keskeytyneen käyttöjärjestelmärutiinin hallintaan Käyttöjärjestelmät
Lisätehtäviä... • Muistinhallinta vapaiden muistialueiden kirjanpitoon • Seuraavaksi suoritettavan prosessin valinta (prosessin skedulointi). Tehtävää suorittava käyttöjärjestelmän osaa kutsutaan vuorontajaksi • Prosesseille asetetaan prioriteetti, joka kuvaa prosessin kiireellisyyttä Käyttöjärjestelmät
Ohjelmakontrollin siirtymistä prosessista toiseen kutsutaan ympäristön vaihdoksi (context switch) Käyttöjärjestelmät
Sukupolvi 3 • Virtuaalimuisti: • Prosessin osoiteavaruus jaetaan osiin ja osat voivat sijaita eri puolilla keskusmuistia tai levyillä • Osituskäyttö mahdollista • Nykyiset suuret ja keskisuuret keskuskoneympäristöt Käyttöjärjestelmät
Sukupolvi 4 • Verkkokäyttöjärjestelmiä • pystyvät jakamaan resursseja (levyt, kirjoittimet, tiedonsiirtolinjat, päätteet jne.) dynaamisesti suuressakin tietokoneverkosa • Nykyiset käyttöjärjestelmät sisältävät piirteitä neljännestä sukupolvesta, mutta harvoin täyttävät kaikki em. ominaisuudet Käyttöjärjestelmät
Täydentäviä huomautuksia • Variointimahdollisuuksia • Rekisterirakenne esimerkissä (ARM suoritin): • 15 32 bitin yleisrekisteriä • Rekisteri 15 on ohjelmalaskuri (PC) • Suorittimen tilarekisteri • Vaihtoehto: ns. pinoarkkitehtuuri • Kaikilla rekistereillä oma käyttötarkoitus Käyttöjärjestelmät
Keskeytysjärjestelmä • Keskeytysten estäminen voi olla monitasoista. Esim. kullakin laitteella on oma keskeytysnumero • Muita laitteistopiirteitä • Etuoikeutettu vs. käyttäjän moodi • Etuoikeutettuja tiloja monentasoisia • Monisuoritinjärjestelmä (multiprocessing) Käyttöjärjestelmät
Yleistä KJ:n rakenteesta • KJ voidaan esittää myös esittää hierarkkisena koneena SOVELLUKSET SWAPPER ERÄAJOSKEDULERI VERKKO-OHJELMISTOT KOMENTOTULKKI TIEDOSTOJÄRJESTELMÄ MUISTINHALLINTA YDIN Käyttöjärjestelmät
Osa käyttöjärjestelmän tehtävistä voidaan myös korvata prosesseilla, joilla on erityisoikeuksia(erimerkiksi spooling, heittovaihtaminen, jne. Unixissa tällaisiä prosesseja kutsutaan demoneiksi=työhullu) • Proseduuriorientoitunut KJ: • palvelut suoritetaan kutsumalla ytimen palvelurutiineja aliohjelmakutsujen tapaan • Prosessiorientoinut KJ: • KJ koostuu joukosta palveluprosesseja, joilta KJ:n palveluja pyydetään sanomia välittämällä Käyttöjärjestelmät
Prosessiorientoituneen järjestelmän etuja: • prosessirakenne antaa KJ:lle selkeän modulaarisen rakenteen => muutokset helppoja • palveluprosessin virheiden vaikutuksia voidaan vähentää palveluprosessien oikeuksia rajoittamalla • priorisointi yksinkertaistuu -> prosessin prioriteettia ei tarvitse muuttaa käyttöjärjestelmäpalvelun ajaksi • prosessiorientuneita KJ:iä sanotaan mikroydin-KJ:ksi Käyttöjärjestelmät
Suurin osa nykyisistä KJ:stä proseduuriorientoituneita, koska sanomanvälitykseen liittyvä yleisrasite (overhead) on nykylaitteistoissa yleensä KJ-kutsun aiheuttamaa yleisrasitetta suurempi • proseduuriorientoituneita: Unix, Linux • prosessiorientoituneita: NT, uudemmat Unixit • Nykyinen suuntaus on, että ytimeen sijoitetaan mahdollisimman vähän operaatioita => luotettavuus, muunnettavuus Käyttöjärjestelmät