Oppimistavoitteet kurssilla Tietokoneen toiminta

Samankaltaiset tiedostot
Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Tietokoneen toiminta, K Tavoitteet (4)

tikra_oppimistavoitteet.doc Sivu 1 / / Teemu Kerola Oppimistavoitteet kurssilla Tietokoneen rakenne Osaa selittää Boolen algebran

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

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

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

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

Muistihierarkia Kiintolevyt I/O:n toteutus

Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright 2010

Tietokoneen toiminta Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright 2010

Kertausluento 1 (lu01, lu02, lu03) Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi

Tietokoneen toiminta, Kevät Copyright Teemu Kerola Järjestelmän eri tasot Laitteiston nopeus

Kertausluento luennoista 1-3 1

Tiedon esitysmuodot. Luento 6 (verkkoluento 6) Lukujärjestelmät Kokonaisluvut, liukuluvut Merkit, merkkijonot Äänet, kuvat, muu tieto

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

Teemun juustokakku Rekisterien, välimuistin, muistin, levymuistin ja magneettinauhan nopeudet suhteutettuna juuston hakuaikaan juustokakkua tehdessä?

Järjestelmän ulkoinen muisti I/O

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

Luento 12 Yhteenveto

Aihepiiri Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tito-kooste. Esipuhe. Versiohistoria:

Aihepiiri Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Luento 3 (verkkoluento 3) Ttk-91 konekielinen ohjelmointi. Ohjelman esitysmuoto Konekielinen ohjelmointi ttk-91:llä (Titokone, TitoTrainer)

Muistihierarkia Kiintolevyt I/O:n toteutus

Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat?

Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright Tavoitteet (4)

Tavoitteet (4) Luento 12 Yhteenveto. Keskeisiä asioita. Mitä hyötyä tästä on? (2) Esimerkkikone: TTK-91 laitteisto suoritin - CPU

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Tietokoneen toiminta (Computer Organization I)

Luento 9 Järjestelmän ulkoinen muisti. Muistihierarkia Kiintolevyt Muut pyörivät levyt I/O:n toteutus

Luento 9 Järjestelmän ulkoinen muisti

Tietokoneen toiminta, K Tavoitteet (4)

Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, K2000

Jakso 8 Ohjelman toteutus järjestelmässä

Tietokoneen toiminta (Computer Organization I) Aihepiiri. Mitä hyötyä tästä on? (3) Tavoitteet. Kurssien välisiä riippuvuuksia

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Käännös, linkitys ja lataus

Luento 12 Yhteenveto. Tavoitteet. Keskeisiä asioita. Mitä hyötyä tästä on? Esimerkkikone: TTK-91 laitteisto. Tietokoneen toiminta 27.4.

Tietokoneen toiminta Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright 2003

Tietokoneen toiminta (Computer Organization I)

Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? 29/01/2001 Teemu Kerola, Copyright 2001

Tietokoneen toiminta (Computer Organization I) Mitä hyötyä tästä on? (4) Kurssien välisiä riippuvuuksia. Aihepiiri.

Luento 9 Järjestelmän ulkoinen muisti

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

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

Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 8 Ohjelman suoritus järjestelmässä

Luento 12 Yhteenveto

2 Konekieli, aliohjelmat, keskeytykset

Muistihierarkia. Virtuaalimuisti. Tiedostojärjestelmä. Levymuistin saantiaika. Tietokoneen toiminta Luento 9, Ulkoinen muisti ja I/O 1

Tietokoneen toiminta (Computer Organization I)

Aihepiiri Tietokoneen toiminta (Computer Organization I) Tavoitteet (4) Mitä hyötyä tästä on? (4) Kurssien välisiä riippuvuuksia

Muistihierarkia Kiintolevyt I/O:n toteutus. Käännös, Linkitys Lataus

Tietokoneen toiminta Teemu Kerola, Copyright Muistihierarkia

Luento 11 Tulkinta ja emulointi

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

Luento 9 Järjestelmän ulkoinen muisti

Tietokoneen toiminta (Computer Organization I)

Luento 12 Yhteenveto

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Luento 9 Järjestelmän ulkoinen muisti

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

Tietokoneen toiminta (Computer Organization I)

Luento 9 Järjestelmän ulkoinen muisti

Java ohjelmien suoritus (3) Luento 11 Tulkinta ja emulointi. Java virtuaalikone (JVM) (5) JVM:n tietorakenteet (8) JVM:n tietorakenteet (jatkuu) (6)

Luento 9 Järjestelmän ulkoinen muisti

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

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

Algoritmit 1. Luento 3 Ti Timo Männikkö

Luento 9 Järjestelmän ulkoinen muisti. Muistihierarkia Kiintolevyt Muut pyörivät levyt I/O:n toteutus

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

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

Luento 9 Järjestelmän ulkoinen muisti

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Jakso 4 Aliohjelmien toteutus

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

Kurssin esittely Tavoitteet Komponentit

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

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Dynaaminen kääntäminen ja Java HotSpot

Luento 4 Aliohjelmien toteutus

Kurssin oppimistavoitteet. Heikki Lokki Kurssin suorituksen jälkeen osaat

Tulkinta ja emulointi

Luento 10 Käännös, linkitys ja lataus

Tietorakenteet ja algoritmit - syksy

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

Aliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus

Transkriptio:

Oppimistavoitteet kurssilla Tietokoneen toiminta (Oppimistavoitteita tullaan muokkaamaan keväällä 2007 opiskelijoilta jo saatujen kommenttien pohjalta. Lisää kommentteja ja mielipiteitä oppimistavoitteiden hyödyllisyydestä pyydetään lähettämään osoitteella Heikki.Lokki@cs.helsinki.fi.) Pääteema Esitiedot Lähestyy Tietokonejärjestelmän rakenne ja toiminta Osaa luetella tietokoneen erilaisia osia käyttäjän näkökulmasta: prosessori, muisti, levymuisti, CDasema, mikrofoni, kaiuttimet, näyttö, jne. (Tietokone työvälineenä) Pystyy luettelemaan järjestelmän peruskomponentit laiterekistereistä ylöspäin Osaa selittää väylähierarkian tarpeen ja toiminnan Osaa selittää prosessorin toiminnan konekäskyjen suorittajana Osaa selittää keskeytysjärjestelmän tavoitteet ja toteutuksen Osaa selittää prosessorin erilaiset suoritustilat (tavallinen, etuoikeutettu) Osaa selittää laitteiston eri komponenttien väliset suuret nopeuserot ja niiden vaikutukset järjestelmään Osaa erotella väylätasoja eri nopeuksisille laitteille Osaa selittää keskeytysten merkityksen ja niiden toteutuksen konekäskyjen suorituksen tasolla Osaa selittää keskeytysjärjestelmän ja etuoikeutetun tilan merkityksen luotettavien järjestelmien toteuttamisessa Osaa selittää, milloin ja miten prosessorin suoritustila vaihtuu Osaa selittää, kuinka käskyjen suoritus tapahtuu kellopulssin tasolla Osaa käyttää keskeytysten estämistä samanaikaisuusongelmien ratkaisemisessa Sivu 1 / 7

Konekielitason ohjelmien toteutus Osaa ohjelmoida yksinkertaisia ohjelmia jollakin korkean tason lohkorakenteisella kielellä Osaa käyttää globaaleja muuttujia ja vakioita Osaa tietorakenteiden tilanvarauksien toteutuksen käännöksen/latauksen aikana tai vasta suoritusaikana Osaa käyttää yksiulotteisia rivijärjestyksessä talletettuja taulukoita Osaa toteuttaa aliohjelman (funktion, metodin) kutsun Osaa ohjelmoida valinta- ja toistorakenteet ja käyttää tietueita ja moniulotteisia taulukoita Osaa selittää globaalien ja paikallisten tietorakenteiden erot tilanvarauksessa ja niihin viittaamisessa Osaa selittää aktivointitietueen ja aktivointitietuepinon merkityksen aliohjelmien toteutuksessa ja osaa ohjelmoida aliohjelmia Osaa selittää täsmällisesti, miten Java-kielen oliot toteutetaan konekielen tasolla Osaa ohjelmoida suoritusajan mukaan optimoitua konekielistä koodia Osaa optimoida aliohjelmien kutsu- ja paluuaikaa tallettamalla jotkut aktivointitietueen kentistä erikoisrekistereihin Tiedon esitys ja talletus Osaa käyttää kokonaislukuja, etumerkittömiä kokonaislukuja, rationaalilukuja ja reaalilukuja erilaisissa sovelluksissa Osaa selittää kokonaislukujen esitysmuodot: vakiolisäys, etumerkki, yhden komplementti ja kahden komplementti Osaa selittää erilaisten merkistöjen olemassaolon perustelut ja esitellä niiden esitysmuodot Osaa muuttaa kokonaislukujen esitysmuodot 2-, 8, 16- ja 10-järjestelmien välillä Osaa toteuttaa loogisen tietotyypin kokonaislukujen avulla Osaa selittää IEEE-standardin mukaisen liukulukujen esitysmuodon Osaa selittää eron 8- ja 16-bittisten merkistöjen välillä Osaa selittää karkealla tasolla, kuinka (liikkuvat) kuvat ja äänet esitetään laitteistossa Osaa selittää pariteettibittien ja Hamming-koodin käytön tiedon muuttumattomuuden valvonnassa Osaa selittää liukulukujen tarkkuuden muutokset laskennan aikana Osaa selittää CRC-tarkistusmenetelmän käytön tiedon muuttumattomuuden valvonnassa Osaa selittää IEEEstandardin laajennukset Osaa selittää laitteiden monistamisen merkityksen tiedon saannin ja muuttumattomuuden turvaamisessa Osaa selittää, miksi rationaalilukujen käyttö on ongelmallista tietokoneohjelmissa Sivu 2 / 7

Muistihierarkia Pystyy selittämään tilapäis- ja pysyväismuistin erot Osaa selittää muistin käyttämisen sekä ohjelman että sen käyttämän (tilapäisen) datan tallettamiseen Osaa selittää erilaisten muistilaitteiden suuret nopeuserot ja niiden merkitykset keskusmuistiteknologioita ja niiden eroavaisuuksia Pystyy perustelemaan välimuistin olemassaolon välttämättömyyden Osaa selittää levymuistin yhteiskäytön tiedostoille ja virtuaalimuistin tukimuistille Osaa selittää FLASH/ROM-muistiteknologian vaatimukset ja perusidean Osaa selittää muistiviipeiden ja muistihierarkian vaikutuksen ohjelman suoritusaikaan Osaa selittää välimuistin ja virtuaalimuistin toiminnan perusteet Tuntee muistiteknologian kehityshistorian ja sen toteutuksessa käytetyt erilaiset menetelmät Osaa monitasoisen virtuaalimuistin toteutuksen Sivu 3 / 7

Ohjelmasta prosessiksi Osaa toteuttaa ohjelmia korkean tason kielellä Osaa perustella, miksi koko ohjelmaa ei haluttaisi kääntää aina yhdellä kertaa alusta loppuun Osaa perustella dynaamisen linkityksen tarpeellisuuden Osaa selittää prosessin käsitteen ja sen esitysmuodon käyttöjärjestelmässä Osaa selittää prosessin erilaiset tilat ja niiden väliset tilasiirtymät Osaa selittää pääpiirteet korkean tason kielen moduulien kääntämisestä konekielisiksi objektimoduuleiksi Osaa selittää objektimoduulien linkittämisen perusidean Osaa selittää, milloin prosessin tila vaihtuu ja mitä järjestelmässä silloin tapahtuu Osaa selittää, milloin suorituksessa oleva prosessi vaihtuu ja miten prosessinvaihto on toteutettu konekielen tasolla Osaa perustella, mitä hyötyä välikielestä on kääntämisessä Osaa selittää staattisen ja dynaamisen linkityksen edut ja haitat dynaamisen linkityksen menetelmiä Osaa selittää sijainnista riippumattoman koodin merkityksen ja toteutuksen Osaa selittää, kuinka yhteen linkitetyistä objektimoduuleista saadaan suorituskelpoinen järjestelmän tuntema prosessi Osaa perustella, miksi ohjelma tarvitsee suoritusaika erilaisia resursseja, ja että näistä resursseista täytyy pitää jollain tavoin kirjaa Osaa selittää tiettyjen dynaamisen linkitysmenetelmien yksityiskohdat Sivu 4 / 7

Käyttöjärjestelmän perusrakenne Osaa käyttää jonkin käyttöjärjestelmän peruspalveluja Osaa käynnistää ohjelman suorituksen jossakin käyttöjärjestelmässä Osaa selittää, miksi jotkut käyttöjärjestelmän osat tulee tai niiden ei haluta suorittaa etuoikeutetussa tilassa Osaa antaa esimerkkejä yleisesti käytetyistä käyttöjärjestelmän palveluista Osaa luetella käyttöjärjestelmän perustoiminnot resurssien jakajana ja prosessien ohjaajana: prosessien hallinta, prosessien kommunikointi, muistin hallinta, laitteiden hallinta, verkon hallinta, tiedostojen hallinta Osaa selittää käyttöjärjestelmän tavoitteet ja perustoiminnot sekä käyttäjän näkökulmasta että käyttöjärjestelmän ylläpitäjän näkökulmasta Osaa selittää käyttöjärjestelmäpalvelujen toteutuksen periaatteen erilaisten (etuoikeutettujen) aliohjelmien tai prosessien avulla Osaa selittää käyttöjärjestelmäpalvelujen palvelurajapinnan toiminnan aliohjelma- ja SVC-kutsujen sekä sanomien välityksen avulla Osaa selittää käyttöjärjestelmän laitteistorajapinnan toteutuksen laiteajurien ja keskeytyskäsittelijöiden avulla Osaa selittää käyttöjärjestelmän toteutuksen erilaisten hierarkkisten palvelujen avulla prosessin vuoronantopolitiikkoja muistinhallintapolitiikkoja tiedostojenhallintamenetelmiä verkonhallintamenetelmiä menetelmiä samanaikaisuusongelmien hallintaan Osaa selittää, millä erilaisilla kutsumekanismeilla (etuoikeutettuja) käyttöjärjestelmäpalveluja käytetään Sivu 5 / 7

Siirräntä ja tiedostojärjestelmät Osaa käyttää näppäimistöä, hiirtä, levykeasemaa, CD/DVD-asemaa ja kovalevyä Osaa selittää levymuistin rakenteen ja toiminnan Osaa laskea levymuistiin talletetun tiedon saantiajan Osaa selittää tiedostojen talletuksen levylle levylohkojen ja lohkotaulukoiden avulla Osaa selittää tiedostopalvelimen ja tiedostovälimuistin perusidean Osaa selittää laiteajurin ja laiteohjaimella suorittavan laiteohjainprosessin yhteistoiminnan I/O:n toteutuksessa Osaa selittää suoran I/O:n, epäsuoran I/O:n ja DMA I/O:n edut ja haitat Osaa selittää CD- ja DVDlevyjen rakenteen ja toiminnan Tuntee RAID-järjestelmän peruspiirteet Osaa selittää jonkin tiedostojärjestelmän yksityiskohtia Osaa selittää laiteajurin merkityksen ja käytön I/O:n toteutuksessa Osaa selittää väylähierarkian merkityksen ja väylän toimintaperiaatteen Osaa selittää suoran I/O:n, epäsuoran I/O:n ja DMA-perustaisen I/O:n toiminnat ja niiden eroavaisuudet Osaa selittää, kuinka oheislaitteen laiteohjainprosessin ja normaalilla prosessorilla suorittavan laiteajurin samanaikainen suoritus aiheuttaa ongelmia Sivu 6 / 7

Ohjelmien erilaiset suoritustavat Osaa toteuttaa yksinkertaisia ohjelmia Java lla Osaa selittää, miksi Java-ohjelmat ensin käännetään tavukoodiksi Osaa selittää, miksi saman ohjelman Javatoteutuksen suoritus voi olla hitaampaa kuin vastaavan C-toteutuksen suoritus Osaa selittää Javan tavukoodin edut ja haitat Osaa selittää Java virtuaalikoneen (JVM) perusidean ja toiminnan Osaa selittää Java-ohjelmien erilaiset suoritustavat ja niiden eroavaisuudet Osaa selittää Java virtuaalikoneen (JVM) rakenteen ja toiminnan Osaa selittää Javan lähdekoodin kääntämisen ja tavukoodin kääntämisen erot Osaa selittää JIT-käännöksen edut ja haitat tavalliseen käännökseen verrattuna Osaa selittää JIT-käännöksen suhteen dynaamiseen linkitykseen Osaa selittää, kuinka tavallisia konekielisiä ohjelmia voidaan suorittaa missä tahansa laitteistossa emuloinnin avulla Osaa selittää emuloinnin ja simuloinnin eroavaisuudet Osaa selittää JVM n täsmällisen rakenteen Osaa selittää Java tavukoodin kaikki käskyt Osaa kirjoittaa konekielisen ohjelman Javan tavukoodilla Osaa selittää, kuinka koko prosessorin toiminta voi perustua emulointiin (Verkkooppimismenetelmät) Osaa käyttää selaimia ja hakukoneita tiedon hakuun Osaa käyttää Authorware-tyyppisiä verkkoluentoja Osaa käyttää keskusteluryhmiä ryhmätyöskentelyn ja oppimisen apuvälineenä Osaa käyttää wikiä ryhmätyöskentelyyn Sivu 7 / 7