Luennot on nyt pidetty. Alla on lista otsikoista ja käsitellyistä aiheista. Luennoilla näytettiin käytännön esimerkkejä auditorion tietokoneella, ja tuotettiin muistiinpanoja kurssimateriaalin pohjaksi.

Luento 1: Kurssi-info ja esitietojen varmistaminen

ti 22.5.

Yhteenveto luennolla puhutusta
Lisämateriaalia

Luento 2: Käyttöjärjestelmä konepellin päältä, alta ja rajapinnasta

ke 23.5.

Monisteviitteet
Yhteenveto luennolla puhutusta

HUOM: Yksinkertaisuuden vuoksi ei mainittu ainakaan tässä kohtaa mitään nykyprosessorien ominaisuuksista kuten ennakkonoudosta, liukuhihnoista, mikrokoodista tai välimuisteista. Olennaisia toki, mutta eivät Käyttöjärjestelmien ymmärtämisen kannalta. Moniprosessoriarkkitehtuureista puhutaan pari sanaa säikeiden yhteydessä parin viikon päästä. Muistinhallintaan liittyvästä prosessoriteknologiasta puhutaan hieman muistinhallinnan yhteydessä.

Lisämateriaalia

Luento 3: Ohjelmointi ja ohjelmointikieli ==> suoritus ja konekieli

to 24.5.

Monisteviitteet
Yhteenveto luennolla puhutusta
Lisämateriaalia

Luento 4: Assembler, konekieli, aliohjelmat ja keskeytykset

ti 29.5.

Yhteenveto luennolla puhutusta
Lisämateriaalia

Tässä nykyaikaista lisämateriaalia ihmeteltäväksi. Ei todellakaan ole tarkoitus lukea 1500 sivua, vaan korkeintaan nähdä vähän päältä, että millaisen käyttöohjeen prosessorivalmistaja aina julkaisee. Intro-luvut (parikymmentä ensimmäistä sivua) kertovat dokkarien sisällöstä ja oletetusta kohderyhmästä. Terminologian ja käsiteltyjen asioiden pitäisi tulla esille tällä kurssilla, eli täällä pitäisi syntyä pohjat tuollaisten manuaalien lukemiseen jatkossa, tarvittaessa.

Luento 5: Prosessit ja prosessien vuorottelu

ke 30.5.

Luento 6: Prosessit ja prosessien vuorottelu, jatkoa
Prosessien synkronointi ja kommunikointi (IPC), alkua

to 31.5.

Luento 7: Prosessien synkronointi ja kommunikointi, jatkoa. Säikeet.

ti 5.6.

Yritän eksplikoida motivaatioajatuksen: Tietojärjestelmän tekijän (konepellin päällä) tulee ymmärtää järjestelmässä olevien ohjelmakomponenttien suorituksiin (konepellin alla) liittyvä pelikenttä, jotta hän osaa tehdä tarvittavat suunnitteluratkaisut (abstraktisti). Lopputulos toteutuu rajapinnan avulla (mutta se on pikkujuttu em. yleiskuvaan verrattuna, ja se on työkalusta riippuen erilainen). Tämä kurssin puoliväliin sijoittuva motivaatioajatus ei liity ainoastaan säikeisiin, vaan kaikkeen muuhunkin. Se nyt vaan tulee heitettyä sanoiksi tässä kohtaa.

Luento 8: Prosessien synkronointi ja kommunikointi loppuun
Pikkuhuomioita microkernel-mallista ja moniprosessorikoneista.

ke 6.6.

Luento 9: Muistinhallinta, virtuaalimuisti.

ti 12.6.

Luento 10: Oheislaitteet ja I/O. Tiedostojärjestelmistä

ke 13.6.

Luento 11: Pieni syvennys shell-ohjelmointiin

to 14.6. (huomioi paikka: Beeta)
Ensin käydään eilinen aihe loppuun; ehkä n. 20 minuuttia tjsp. eli sivutaan aihetta "laiteajurin toteutuksesta"

Luento 12: Valaistuneempi näkökulma tietokoneeseen

ti 19.6.
Lisämateriaalia

Luento 13: Linux Kernel

ke 20.6.
Lisämateriaalia

Luento 14: Kertaus, paikkaukset, loppukeskustelu, tenttitärpit

to 21.6.