Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi



Samankaltaiset tiedostot
Käyttöjärjestelmät: prosessit

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ä

Käyttöjärjestelmän rakenne

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

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

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

Käyttöjärjestelmät: Virtuaalimuisti

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ä.

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

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne

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

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

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

Pikaintro käyttöjärjestelmiin

Tietokoneen toiminta, K Tavoitteet (4)

2 Konekieli, aliohjelmat, keskeytykset

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu

Luento 2: LAITTEISTOSTA

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

Luento 8 Ohjelman toteutus järjestelmässä

Käyttöjärjestelmien historia. Joni Herttuainen Henri Jantunen Markus Maijanen Timo Saksholm Johanna Tjäder Eetu Turunen

Muistihierarkia Kiintolevyt I/O:n toteutus

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

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

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

Jakso 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

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Luento 0: Kurssihallinto Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

1. Keskusyksikön rakenne

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

Tietokoneen rakenne (2 ov / 4 op) Syksy 2007 Liisa Marttinen. Helsingin yliopisto Tietojenkäsittelytieteen laitos

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

OHJ-4301 Sulautettu Ohjelmointi

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

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

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

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

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

Järjestelmän ulkoinen muisti I/O

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

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus

Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest).

Nimettömien tietojen lähettäminen Lenovolle

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

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

Luento 8 Ohjelman toteutus järjestelmässä. Tietokonejärjestelmä. Prosessi (4) Prosessi. Prosessin elinkaari (11) Prosessin vaihto (3)

Jakso 5 Suoritin ja väylä

Jakso 5 Suoritin ja väylä

Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 8 Ohjelman suoritus järjestelmässä

Käyttöjärjestelmän rajapinnat

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

TIES325 Tietokonejärjestelmä. Jani Kurhinen Jyväskylän yliopisto Tietotekniikan laitos

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

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

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

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)

4. Lausekielinen ohjelmointi 4.1

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

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

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 (Computer Organization I)

TEHTÄVÄ 5: Microsoft Virtual PC asennus ja hallinta

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

Muistihierarkia Kiintolevyt I/O:n toteutus

Ohjelmoinnin perusteet Y Python

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Ohjelmointi 1 / syksy /20: IDE

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

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

Johdatus ohjelmointiin

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

.NET ajoympäristö. Juha Järvensivu 2007

Tietokoneen toiminta (Computer Organization I)

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++

Oppimistavoitteet kurssilla Rinnakkaisohjelmointi

Prosessi perinteisesti

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

Suoritin. Luento 5 Suoritin ja väylä. TTK-91 suorittimen rakenne (1) TTK-91 muistin rakenne. Käskyjen nouto- ja suoritussykli (5)

Luento 12 Yhteenveto

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

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

Luento 5 Suoritin ja väylä

Aihepiiri Tietokoneen toiminta (Computer Organization I)

Luento 5 Suoritin ja väylä

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Transkriptio:

Käyttöjärjestelmät Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet

Kurssin sisältö Johdanto, historiaa miten käyttöjärjestelmät ovat kehittyneet ja saaneet alkunsa erilaisia käyttöjärjestelmistä VAX/VMS, UNIX Microsoft Prosessien hallinta, skedulointi, moniajo Muistinhallinta, sivutus, virtuaalimuisti Levynkäsittely luku- ja kirjoitusrutiinit keskeytykset ja I/O Yhteenveto käyttöjärjestelmien rakentumisesta Kehitysnäkymät

Kurssin aikataulu PVM Sisältö Huom! 7.1. Johdanto, tietokoneen rakenteesta 14.1. Käyttöjärjestelmien osa-alueet ja historia Harjoitustehtävä 1 21.1. Prosessit ja niiden tilat 28.1. Prosessien resurssit ja erilaiset kj-ytimet Harjoitustehtävä 2 4.2. Säikeet ja rinnakkaisuus 11.2. Poissulkeminen ja semaforit 18.2. Lisää semaforeista Harjoitustehtävä 3 4.3. Muistinhallinta 11.3.. Lisää muistinhallinnasta Harjoitustehtävä 4 18.3 Tiedostojärjestelmien perusteet 25.3. Erilaisia tiedostojärjestelmiä Harjoitustehtävä 5 1.4.??? 8.4. Kehitysnäkymiä 15.4. Kertausta Harjoituskoe 22.4. Koe

Tietokoneen rakenne Prosessori Rekistereitä Muistia I/O Sekundaarimuisti Viestintä Terminaalit Väylä Prosessorien, muistin ja I/O:n väliseen kommunikointiin

Prosessorin rekisterit Sisäiset rekisterit Muistinkäsittelyrekisterit: MAR, MBR Status- ja kontrollirekisterit: PC, IR, PSW, Flags (Ohjelmoijan) käytettävissä olevat rekisterit Dataa Osoittamiseen (index, segment, stack)

Käskyn suorittaminen 1. Prosessori hakee käskyn muistista Program counter (PC) osoittaa haettavan käskyn osoitteen Intruction registeriin (IR) haetaan uusi käsky ja PC:ia kasvatetaan 2. Prosessori suorittaa käskyn IR:ssä oleva käsky suoritetaan Mennään kohtaan 1

Keskeytykset Keskeytykset nimensä mukaisesti keskeyttävät prosessorin normaalin toiminnan Tarvitaan tehostamaan prosessorin käyttöastetta mm. hitaiden I/O-operaatioiden takia Erityyppisiä keskeytyksiä Ohjelmallinen Ajastin I/O H/W-virhe Prosessori tarkistaa, onko keskeytyksiä

Käskyn suorittaminen ja keskeytykset

Keskeytykset moniajojärjestelmissä Prosessorilla on useampi ohjelma ajettavanaan Järjestys riippuu prioriteetista ja I/O:sta Kun keskeytyskäsittelijä on suoriutunut tehtävästään, kontrolli voi palata jollekin muullekin ohjelmalle???

Muistihierarkia Muistien ominaisuudet: Nopeampi saantiaika suurempi kustannus Suurempi kapasiteetti pienempi hinta/bitti Suurempi kapasiteetti hitaampi saantiaika

Muistihierarkia Alaspäin mentäessä: hinta/bitti halpenee kapasiteetti kasvaa saantiaika kasvaa käsittelypyynnöt harvenevat

Muistityypeistä Sekundäärimuisti Apumuistia Hidasta Pysyvä tila non-volatile Tallennetaan ohjelmia ja tiedostoja

Muistityypeistä Cache - välimuisti Prosessorin suoritusnopeus suurempi kuin muistin Pieni määrä erittäin nopeaa muistia Käytetään paikallisuusominaisuutta hyväksi

Muistityypeistä Cache - välimuisti sisältää kopion osasta päämuistia prosessori tarkistaa ensin välimuistista jos haluttua dataa ei löydy välimuistista, niin muistiblokki luetaan välimuistiin paikallisuusperiaatteen mukaan on todennäköistä, että seuraavat muistiviittaukset osuvat samaan muistiblokkiin tulevat muistiviittaukset osuvat välimuistiin

Välimuistin toiminnasta Jopa pienellä cachella on suuri vaikutus nopeuteen Muistiblokin koko vaikuttaa Jos blokin kokoa kasvatetaan, niin osumia tulee lisää mutta, jos blokin kokoa kasvatetaan liikaa, niin uuteen blokkiin osumisen todennäköisyydestä tulee pienempi kuin sieltä poistettuun blokkiin osumisen todennäköisyys Mapping function määrittää uuden blokin paikan Korvausalgoritmi määrittää, mikä blokki korvataan Yleensä LRU eli least-recently-used Kirjoituspolitiikka määrittelee, milloin muistiin kirjoitetaan

Johdanto käyttöjärjestelmiin POHDINTATAUKO Mitä käyttöjärjestelmät ovat? Miksi käyttöjärjestelmiä tarvitaan?

Käyttöjärjestelmien perusteet Ohjelma, jota tarvitaan asiakasohjelmien (sovellusten) ajamiseen Liityntä sovellusten ja laitteiston välillä Tavoitteena Helpottaa elämää Tehokkuus Jatkokehitysmahdollisuus

Tietokonejärjestelmien arkkitehtuuri Tietokonejärjestelmää voidaan ajatella hierarkkisena koneena Järjestelmä voidaan jakaa kerroksiin Kukin kerros toteutetaan alapuolella olevan kerroksen palvelujen avulla Kerros Sovellus Kääntäjä Käyttöjärjestelmä Laitteisto Rajapinta Ohjelmointikieli Virtuaalikone Arkkitehtuuri

Käyttöjärjestelmien historiaa Alkuun tietokoneita käytettiin sarja-ajoihin käyttöliittymänä kytkimiä ja valoja sekä syöttölaite ja tulostin ei varsinaista käyttöjärjestelmää ajanvaraus koneelle, ohjelman syöttö, kääntäminen ja ajo jos ohjelman ajossa tuli ongelmia, käyttäjän aika saattoi loppua kesken

Käyttöjärjestelmien historiaa Seuraavaksi kehitettiin eräajojärjestelmät Ajanvarausten tekeminen sarja-ajoja varten oli hankalaa Ei enää tarvetta operoida tietokonetta suoraan Asiakas toi ohjelmansa koneen operaattorille Eräajojen hallintaa varten tarvittiin monitori-ohjelma Ohjelma-ajot tehtiin erissä (batch) Ohjelma palauttaa päättyessään kontrollin takaisin monitorille Monitori suorittaa automaattisesti seuraavan jonossa olevan ohjelman

Töiden hallinta eräajojärjestelmissä Monitoriohjelman osan tulee olla aina ladattuna muistiin (resident monitor) Monitoriohjelma lukee työn kerrallaan sisään lukulaitteelta Työ siirretään muistin ohjelmaalueelle (user program area) ja kontrolli annetaan ko. työlle Kun työ on valmis, tulokset lähetetään esim. tulostimelle Mitä tämä tarkoittaa prosessorin kannalta??? M o n i t o r Interrupt processing Device drivers Job sequencing Control language interpreter User Program area

Laitteistovaatimuksia eräajojärjestelmälle Muistin suojaus Käyttäjän ohjelma ei saa kirjoittaa monitorin muistiin Mitä tehdään, jos tällaista yritetään??? Ajastukset Keskeyttää ohjelman suorituksen, jos se on ollut pitkään käynnissä Miksi tarvitaan???

Laitteistovaatimuksia eräajojärjestelmälle Etuoikeutetut käskyt Tietyt käskyt ovat vain monitorin suoritettavissa Esim. työjonon I/O-luku ja kirjoitus Mitä tehdään, jos käyttäjän ohjelma yrittää suorittaa ko. käskyä? Keskeytykset Ensimmäisissä tietokoneissa ei ollut keskeytyksiä

Muistin suojaus Käyttäjän ohjelmat ajetaan käyttäjämoodissa (user mode) Tiettyjä käskyjä ei saa suorittaa Monitoria ajetaan etuoikeutetussa eli järjestelmämoodissa (system mode) Sallii etuoikeutetut käskyt Suojattuihin muistialueisiin voidaan kirjoittaa

Suoritinajan käyttötehokkuus eräajossa Yleensä I/O-käsittely on erittäin hidasta Pääosan ajasta suoritin odottaa lukuoperaatioita Tyypillisesti yli 90 % koneen ajasta menee hukkaan

Moniajo (multiprogramming/multitasking) Ongelmaa voidaan helpottaa moniajolla Kun normaalisti odoteltaisiin I/O:ta, suoritetaankin toista ohjelmaa

Ajankäyttö moniajossa Esimerkki: Kolme erilaista työtä Yksi tekee laskentaa, kaksi I/O:ta

Ajankäyttö: yksiajo vs. moniajo

Tehtävä: Käyttöjärjestelmien historia Selvitä seuraavat asiat Minkä nimisiä olivat ensimmäiset käyttöjärjestelmät? Nimi, vuosi, kehittäjä, tyyppi, Minkä tyyppisiä käyttöjärjestelmiä ilmestyi sarja- ja eräajojärjestelmien jälkeen? Miten Unix sai alkunsa?

Time sharing systems Moniajoa voidaan käyttää myös interaktiivisten töiden käsittelyyn Suorittimen aikaa jaetaan monen eri käyttäjän kesken Käyttäjät ottavat yhteyden järjestelmään terminaaleilla

Compatible Time Sharing System - CTSS