Pystytetäänpä kumminkin kotisivu myös kesän kurssia varten. Katso myös Ernvallin kevään 2005 kurssin kotisivu. Siellä on mm. demo-ohjeen päivitetty versio. Aikataulut ja paikat päivittyvät ensimmäisenä kurssin Korppi-sivulle. Tällä sivulla on kesän 2005 kurssi-ilmentymään liittyviä tiedotteita.
Tässä PDF-dokumentissa on aiemmin kysyttyjä tenttikysymyksiä, jotka viimeisellä luennolla käytiin läpi.
Käydään läpi Ernvallin demo-ohjeen päivitettyä versiota. Karkeasti ottaen alku- ja lopputohinoiden pitäisi toimia mikroluokassa näin:
Ernvallin materiaali omatoimiseen Unix-harjoitteluun on käytettävissä.
(Kopioitu luentomonisteen sivulta 64)
Harjoitustyö tehdään Ernvallin demo-ohjetta mukaillen mieluiten heti, kun tuntuu, että alat ymmärtää mistä on kyse. Demotilaisuudessa tähän saa ohjausta. Palautus seuraavasti: lähetätte mulle sähköpostin liitetiedostoina (mieluiten tosiaan normaaliliitteinä, ei "multiparttina") jaetussa etusivussa mainitut asiat. Sitten käväisette tuomassa paperitulosteet, joiden mukana on täytetty etusivu. Etusivun email-riville sama sähköpostiosoite, josta lähetit sähköisen version etukäteen.
Jos ette ymmärrä tehtävänantoanne, voitte joko (1) kysyä siihen selvennystä tai (2) hakea uuden tehtävänannon, joka saattaa olla selvempi.
Jos mietit, millä työkalulla harkan voisi tehdä kotona, sallin (uskalluksen salliessa jopa suosittelen), että teet 32-bittisen assembler-käännöksen vapaasti saatavissa olevalla kääntäjällä gcc. Windows-käyttäjät tarvitsevat tähän esim. Minimalist GNU for Windows -ohjelmiston.
Luentomoniste kuuluu avoimen yliopiston opintomaksuun. Ottakaa yhteyttä Mirja Tervoon (mirja.tervo@avoin.jyu.fi). Monisteen voi kuulemma noutaa Tourulasta tai sen saa jopa postitse. (Muut voivat ostaa monisteen Kampus Kirjasta Kauppakadulta.)
Käyttöjärjestelmät on mitoitettu 28 luentotunnin mittaiseksi. Nyt näistä on takana 12, ja luentomateriaali näyttää kohta ikään kuin loppuvan kesken... Johtopäätös lienee, että olen käsitellyt asioita turhan nopeasti ja pinnallisesti (?). Yritän korjata asian siten, että kurssin loppuosassa (kun moniste on kahlattu läpi) pyritään tutkimaan kurssin osa-alueita vielä käytännön esimerkkien kautta. Koetetaan mahdollisuuksien mukaan löytää jotain sellaista, jota innokkaat pystyvät pikkuvaivalla kokeilemaan ja varioimaan myös itse mikroluokissa. Syvennetään hiukan johonkin suuntiin, ja yritetään maksimoida eväät, joita kurssilta saa.
Tarkoitus oli edetä hieman pidemmälle luentomonisteen ohjelmaesimerkeissä. Toisaalta pinon olemus piti ymmärtääkseni selvittää ennen kuin konekielisiä aliohjelmia on mitään mahdollisuutta ymmärtää. Pahoittelen, että kalvoon "reaaliajassa" tuhraamani kuvat olivat sotkuisia ja että hukkasin ensin aikaanne piirtämällä väärin.
Huomatkaa muuten: vaikka prosessorin pino-operaatiot push ja pop toimivat pinon huipulla, niin tavalliset konekieliset ohjelmat käyttävät pinon osoittamaa muistialuetta myös keskeltä! (Eli "puhdasoppisesta" pinotyyppisestä käytöstä ei ole kyse, vaikka pinon huippu käyttäytyy kuten kunnon pinossa kuuluukin).
Huomasin, että Käyttöjärjestelmät -kurssi elää hieman vielä jollain aiemmalla vuosikymmenellä. Nykyään ihmisille tuttu virtuaalikone on Java luokkakirjastoineen eikä C (tai edes C++). Kuitenkin uskon, että kurssin perusteema, koneen ja laitteiston lähellä käväisy, on hyödyllistä sivistystä. Miten tuo "pikku kuilu" nykypäivän korkean tason ohjelmoinnin ja tietokonelaitteiston ymmärtämisen välillä tasoitetaan? Kulkisiko jokin lähestymistapa suorempaa reittiä Java-rajapinnasta koneen bittiväyliin? Ainakin kesällä 2005 joudumme vielä käväisemään "harhapoluilla" C-kielen kanssa. Vaikka eihän kai ohjelmointi niin kovin erilaista ole: käskyä käskyn perään vaan... aliohjelman kai pitäisi olla yksinkertaisempi käsite kuin oliosysteemi... Joka tapauksessa ehdotuksia kuiluongelman ratkaisemiseksi otetaan vastaan, jos joku keksii. Tänä kesänä ei ehditä suuntaa muuttamaan, mutta tulevaisuuttahan aina teemme joka tapauksessa.
Tässä on suoria linkkejä J. Ernvallin kirjoittamaan materiaaliin sekä nettilähteisiin, joihin aiemmilla kurssikerroilla on ollut linkkejä.