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



Samankaltaiset tiedostot
Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle,

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

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

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

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

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

Käyttöjärjestelmät II

Käyttöjärjestelmät II

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

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

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat

Käyttöjärjestelmät: prosessit

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

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

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

VUOROTTAMINEN YKSI CPU

Linux. 00 Keskeiset piirteet. Unix ja Linux Helsingin ammattikorkeakoulu Stadia Vesa Ollikainen (muokannut M.Mäki-Uuro) Kysymyksiä

Osio 2: Luennot 4-7 Muistinhallinta

Käyttöjärjestelmän rakenne

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

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

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

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

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

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

Tietokoneen toiminta, K Tavoitteet (4)

Jakso 8 Ohjelman toteutus järjestelmässä

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Pikaintro käyttöjärjestelmiin

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

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

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

KJ:N KEHITTYMINEN JA YLLÄPITO

KJ:N KEHITTYMINEN JA YLLÄPITO

Muistihierarkia Kiintolevyt I/O:n toteutus

6. Luento: Skedulointi eli Vuoronnus. Tommi Mikkonen,

Kuva 1: Varo pyöräilijää!

YLEISTÄ KÄYTTÖJÄRJESTELMÄSTÄ

Luento 3: PROSESSIT JA NIIDEN HALLINTA

Järjestelmän ulkoinen muisti I/O

OHJ-4301 Sulautettu Ohjelmointi

Luento 6: VIRTUAALIMUISTI

Osio 2: Luennot 5-8 Muistinhallinta

Luento 1 Tietokonejärjestelmän rakenne

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

Luento 1 Tietokonejärjestelmän rakenne

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

Tietokanta (database)

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

ATK yrittäjän työvälineenä

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

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

Luento 9 Järjestelmän ulkoinen muisti

Prosessit ja säikeet SMP, Mikroytimet W2K säikeet

WEIKKA. Asennus opas. Hannu-Matti Lemettinen HML Productions

CT50A2602 Käyttöjärjestelmät Seminaarityö. Tietokoneen muisti nyt ja tulevaisuudessa

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

jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja

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

MUISTINHALLINTA. Stallings, Luku 7

3. Luento: Muistin hallinta. Tommi Mikkonen,

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

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen

Luento 9 Järjestelmän ulkoinen muisti

Toshiba EasyGuard käytännössä: Portégé M300

KJ:n ydin (Fig 4.10 [Stal 05])

KJ:n ydin (Fig 4.10 [Stal 05])

Mikroydin (vs monoliittinen ydin)

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

Luento 9 Järjestelmän ulkoinen muisti

Käyttöjärjestelmät: Virtuaalimuisti

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

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

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

Muistihierarkia Kiintolevyt I/O:n toteutus

KJ-II K2006 / Auvo Häkkinen - Teemu Kerola

Käyttöjärjestelmät II. SMP, Mikroytimet. Prosessit yleensä. UNIX prosessit. UNIX SVR4 Prosessit. UNIX prosessin kuvaaja

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

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

SISÄLLYS sisällys 1 Tietokoneen toimintaperiaate ja käyttö 2 Tietokoneen historia 3 Tietokoneen rakenteen ja toiminnan perusteet

Mobiilin ekosysteemin muutos - kuoleeko tietoturva pilveen?

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

Asennuksessa kannattaa käyttää asennusohjelman tarjoamia oletusarvoja.

Arto Salminen,

1 Tivax siirto uuteen koneeseen

2 Konekieli, aliohjelmat, keskeytykset

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen

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

Prosessi (4) Luento 8 Ohjelman toteutus järjestelmässä. Prosessi. Prosessin vaihto (4)

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

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

Stallings, Luku

Arto Salminen,

Transkriptio:

Ongelma(t): Jotta tietokonetta voitaisiin käyttää monipuolisesti ja mahdollisimman yksinkertaisesti kaikkiin sille soveltuviin käyttötarkoituksiin, niin miten tietokoneen resurssit tulisi antaa käyttöön ohjelmoijille, sovellusohjelmille ja käyttäjille? 2013-2014 Lasse Lensu 2

Tietokoneella voi suorittaa algoritmeja, jotka ovat muunnettu tietokoneelle sopivaan esitystapaan ja jotka huomioivat tietokoneen laitteiston sisältämät toiminnot. Tietokoneen muisteihin voi tallentaa algoritmeja ja tietoa, tietoa voi siirtää komponentista toiseen sekä tietokoneella voi käsitellä tietoa algoritmeja suorittaen. 2013-2014 Lasse Lensu 3

Tietojenkäsittelytieteen perusteet Tietokoneen resurssien käyttö 2013-2014 Lasse Lensu 4

Käyttöjärjestelmä Alaoutinen S. 2008 Boberg J. 2010 Brookshear J.G. 2005 Ikonen L. 2011 Tietokoneen ohjelmistot Tietokoneen resurssit Käyttöjärjestelmän tehtävät Tehtävien toteutuksia 2013-2014 Lasse Lensu 5

Ohjelmistojen jaottelu esimerkinomaisesti Ohjelmisto Varusohjelmat Tietoliikenneohjelmat Valmisohjelmat Sovellusohjelmat Käyttöjärjestelmät Apuohjelmat Käyttöliittymät Tekstintoimittimet Tietokantajärjestelmät Käyttäjien laatimat ohjelmat 2013-2014 Lasse Lensu 6

Käyttöjärjestelmä Laitteistoa ja sovellusohjelmien suoritusta hallitseva ohjelmisto Erottaa sovellusohjelmat niiden käyttämästä laitteistosta: Ohjelmistokerros Ohjaa ohjelmistoa ja laitteistoa halutun toiminnan aikaansaamiseksi ja suorituskyvyn takaamiseksi erilaisissa käyttötarkoituksissa 2013-2014 Lasse Lensu 7

Käyttöjärjestelmä Hallitsee tietokoneen resursseja: Laitteisto Suorittimet Muistit muistihierarkian eri tasoilla Syöttö/tulostuslaitteet Tiedonsiirtolaitteet Ohjelmisto/muut sovellukset 2013-2014 Lasse Lensu 8

Käyttöjärjestelmän tehtäviä Resurssien varaaminen (resource allocation): Töille resursseja: muistia, siirräntälaitteita, prosessoria Vuoronvaihto (dispatching): Prosessoriresurssin varaaminen työlle, työn vaihto suoritusvuoroon Ajoitus (scheduling): Päätös siitä, mikä oheismuistissa oleva työ tulee seuraavaksi suoritusvuoroon Kriteerejä: kiireellisyysaste, resurssien saatavuus, resurssien tarve, odotusaika Resurssien suojaus (resource protection): Varmistus siitä, ettei työ pääse käsiksi resurssiin, jota se ei ole varannut Keskeytysten käsittely (interrupt handling) Tiedonsiirtopyyntöjen käsittely (input/output) 2013-2014 Lasse Lensu 9

Käyttöjärjestelmään liittyvät kerrokset Komentotulkki (shell) / käyttöliittymä: Käyttäjän yhteys käyttöjärjestelmään Graafinen tai merkkipohjainen Ydin (kernel): Käyttöjärjestelmän perustoiminnot sisältävä ohjelmisto (Laitteisto) 2013-2014 Lasse Lensu 10

Käyttöjärjestelmän (ytimen) tehtävät Systeemikutsurajapinta Prosessinhallinta: Viestinvälitys Suorituksenhallinta (ajanjako) Muistinhallinta Syöttö- ja tulostietojen hallinta: Tiedostojärjestelmä Puskurointi (välimuisti) Laiteohjaimet, laitteiston hallinta 2013-2014 Lasse Lensu 11

Mikroydin vs. Muut toiminnot Vain välttämättömät laitetoiminnot ytimeen, joka suoritetaan etuoikeutetussa tilassa: Keskeytyskäsittelyn alkutoimet Mikä / kuka aiheutti? Vuoronvaihdon laitetoiminnot Rekistereiden kopiointia Muistinhallinnan laitetoiminnot MMU:n asetukset, suojaus Tiedonsiirron laitetoiminnot Ohjaimien käyttö, suojaus Prosessien välinen sanomanvälitys Pyyntöjen välitys, kopiointia prosessien muistialueille Muut käyttöjärjestelmän palvelut tavallisina prosesseina, jotka suoritetaan käyttäjätilassa: Laiteajurit, tiedostojärjestelmä, virtuaalimuisti Toteutus perustuu sanomanvälitykseen (IPC = inter-process communication) Joustavuus, laajennettavuus, siirrettävyys... 2013-2014 Lasse Lensu 12

Prosessit Ohjelma = sarja käskyjä Prosessi = ohjelman suoritusympäristö Prosessin tila = suoritusympäristön hetkellinen tila: Suorituksessa/valmiina suoritukseen/odottaa (resurssia) Tietokoneessa on tyypillisesti käynnissä useita prosesseja yhtä aikaa (käyttöjärjestelmän tai käyttäjän käynnistämiä) Prosessoriaikaa ja muita resursseja pitää jakaa prosessien kesken: Toistuvasti, nopeilla vaihdoilla tulee samanaikaisuuden vaikutelma, vaikka vain yksi prosessi käsittelyssä kerrallaan. 2013-2014 Lasse Lensu 13

Vuoronvaihto Yksittäinen ohjelman suoritukseen liittyvä työ voi koostua useista prosesseista. Yksi prosessi kerrallaan suoritusvuorossa yhdessä suorittimessa suoritin jaettava prosessien kesken. Vuoronvaihtaja (dispatcher) hoitaa prosessit suoritusvalmiiksi. Vuoronvaihto voi tapahtua keskeyttävästi tai eikeskeyttävästi. 2013-2014 Lasse Lensu 14

Prosessin tilat suorita prosessi prosessi saapuu keskeytä prosessi valmiina suoritettavaksi suoritettavana prosessi valmis toiminto valmis resurssipyyntö odotustilassa 2013-2014 Lasse Lensu 15

Ajoitus ja resurssit Ajoittaja (scheduler) päättää suoritusvuorosta Ajoituksessa huomioitava: Tarvittavat resurssit Vapaat resurssit Prosessiin liittyvän työn tärkeys (prioriteetti) Prosessin odotusaika suoritukseen Resurssien varaus staattisesti tai dynaamisesti: Staattinen: resurssit valmiiksi ennen käynnistystä Dynaaminen: varataan suorituksen aikana Dynaaminen resurssien varaus voi johtaa lukkiutumiseen (deadlock): väh. 2 prosessia odottamassa resurssia, joka on varattuna toisella. 2013-2014 Lasse Lensu 16

Lukkiutuminen 2013-2014 Lasse Lensu 17

Ajanjakoalgoritmeja FIFO (First-In-First-Out; syn. FCFS, First-Come- First-Served) LIFO (Last-In-First-Out) Round Robin SJF (Shortest Job First; syn. SPN, Shortest Process Next) SRT (Shortest Remaining Time) HRRN (Highest Response Ratio Next) Takaisinkytkentä 2013-2014 Lasse Lensu 18

Muistinhallinta Käyttöjärjestelmän tehtävä Huomioitavia tekijöitä: Varaus prosessin muistitarpeiden mukaan Suojaus siten, että prosessilla on pääsy vain sille tarkoitettuun muistiin Hyväksikäyttö tehokkaasti siten, etteivät prosessit joudu odottelemaan turhaan 2013-2014 Lasse Lensu 19

Muistinhallinta Sivu on pienehkö muistiyksikkö (usein 4 kilotavua), jota käyttöjärjestelmä käsittelee kokonaisuutena. Virtuaalimuisti on jatkettu muistialue: Toteutetaan siirtämällä muistisivuja päämuistin ja massamuistin välillä Ohjelmointikielen kääntäjän tuottamien suhteellisten osoitteiden muuttaminen todellisiksi osoitteiksi staattisesti (suorituksen alkaessa) tai dynaamisesti (suorituksen aikana). 2013-2014 Lasse Lensu 20

Dynaaminen osoitteiden muunnos Alkuosoitteiden käyttö: Prosessin alkuosoite ja pituus muistissa Muistiosoite = alkuosoite + ohjelmaosoite Heittovaihto massamuistiin Pirstoutuminen Sivutus (paging): Prosessi vakiokokoisina sivuina Muistiosoite = sivu + muistipaikka Sivutaulu Segmentointi (segmentation) Yhdistetty segmentointi ja sivutus 2013-2014 Lasse Lensu 21

Tiedostojärjestelmä Hakemisto, kansio: käyttäjän luoma ryhmä, nippu tiedostoja Polku: tiedoston sijainti hakemistohierarkiassa Tiedostokuvaaja: avoimen tiedoston käyttämiseen tarvittava tunnus, jonka käyttöjärjestelmä antaa sovellukselle 2013-2014 Lasse Lensu 22

Tietoturva ja suojaus Käyttäjien tunnistus: Vain tunnuksen ja salasanan tuntevat käyttäjät saavat ottaa istunnon koneeseen Prosessilla aina omistaja Resurssien käyttöoikeus Prosessi käyttää resurssia vain omistajan luvalla: Tiedostoihin liittyy omistaja ja käyttöoikeudet Vain omistaja voi muuttaa käyttöoikeuksia Ohjelmat ja data suojattava toisilta ohjelmilta: Erityisen tärkeää on suojata KJ sovelluksilta Resurssien yhteiskäyttö silti sallittava 2013-2014 Lasse Lensu 23

Käyttöjärjestelmältä toivottuja ominaisuuksia Suorituskyky Vakaus Skaalautuvuus Laajennettavuus Siirrettävyys Turvallisuus Tietosuoja Vuorovaikutteisuus Käytettävyys 2013-2014 Lasse Lensu 24

Käyttöjärjestelmän kehitys ja ylläpito Laitteistot muuttuvat / uusia kehitetään kytkimet, kortit, nauhat, levyt merkkipohjaiset / graafiset päätteet tuki virtuaalimuistille muistin määrä kasvanut, väylät parantuneet, moniprosessorijärjestelmät, jne. Tietojenkäsittelytavat muuttuvat interaktiiviset reaaliaikaiset järjestelmät graafiset ikkunointiympäristöt paikallisverkot ja Internet kuvankäsittely... 2013-2014 Lasse Lensu 25

Käyttöjärjestelmän kehitys ja ylläpito Jatkuvan kehitystarpeen vuoksi modulaarinen rakenne selkeät liittymät eri osien välillä mahdollisesti oliopohjainen toteutus sisäinen vs. julkinen data Myös käyttöjärjestelmässä on puutteita ja virheitä: paikkopaketit (patches, service packages) uudet käyttöjärjestelmäversiot Milloin on aika tehdä käyttöjärjestelmä alusta alkaen uudelleen? 2013-2014 Lasse Lensu 26

Uutuuksia Laitteistokehitys moniprosessorijärjestelmät nopeat tietoliikenneverkot Nopeammat suorittimet Suurempi muisti, uudet talletusmediat Ohjelmistojen / käyttötapojen muutos: Asiakas/palvelin-malli Internet ja WWW Multimedia Mobiilikäyttöjärjestelmät ja ekosysteemit 2013-2014 Lasse Lensu 27

Yhteenveto Tietokone koostuu suorittimesta, muisteista, tietoväylistä sekä syöttö- ja tulostusliitynnöistä. Käyttöjärjestelmä kuuluu tietokoneen varusohjelmistoihin. Käyttöjärjestelmä hallitsee tietokoneen laitteistoa ja resursseja: Suorittimet Muisti Syöttö- ja tulostuslaitteet Tiedonsiirtolaitteet Sovellusohjelmat 2013-2014 Lasse Lensu 28