Toteutuskatsaus

ITKA203 Käyttöjärjestelmät -kurssin Vapaaehtoinen Bonusdemo 2 keväällä 2015. "Toteutuskatsaus"

Paavo Nieminen, paavo.j.nieminen@jyu.fi

Jyväskylän yliopiston tietotekniikan laitos.

Contents

Mistä tässä harjoitteessa on kyse

Harjoituksen tavoitteet:

  • Otat kosketusta oikean käyttöjärjestelmän oikeaan koodiin.
  • Totuttelet lukemaan toisten tekemää koodia (IT-alan metataito).
  • Ehkäpä (toivottavasti) havaitset, kuinka tämä pieni kurssimme on (toivottavasti) antanut joitain pieniä, alustavia, pohjia ymmärtää edes jotakin oikean käyttöjärjestelmän toteutuksellisista yksityiskohdista.

Keväällä 2015 määriteltyjen osaamistavoitteiden osalta demon tehtyään opiskelija:

Joissakin korkeakouluissa otetaan bottom-up -lähestymistapa, jossa toteutetaan itse pieni käyttöjärjestelmä. Nämä kurssit ovat kuitenkin pidempiä ja edellyttävät hyvin vahvaa esitietopohjaa laitteistosta ja ohjelmoinnista. Omalla lyhyellä kurssillamme katsotaan käyttöjärjestelmien teoriaa ja käytäntöä läpileikkauksena ja jonkinlaisena ohjattuna läpikävelynä. Tässä harjoitteessa ihmetellään ajankäytöllisten rajoitteiden puitteissa jotakin palasta olemassa olevasta koodista, ja yritetään sitä kautta hahmottaa miltä todellinen toteutus voisi paikallisesti näyttää. Millään tapaa kurssiin käytössä oleva aikaikkuna ei riitä syventymiseen, vaan tarkoituksena on toivon mukaan näyttää lähtökohtia ja työkaluja omatoimiseen syventymiseen, mikäli sellainen jotakuta alkaisi kiinnostaa pidemmän päälle. Lisämotivaatioksi tarjotaan lisäpiste tenttiin.

Tutkittavien kohteiden valinta oli keväällä 2014 palautusmuodon määrittelyn lisäksi suuri haaste tällaisen tehtävän julkaisussa. En vieläkään aivan tiedä, kuinka hyvin tämä onnistui. Keväällä 2014 tätä pidettiin mielenkiintoisena tehtävänä, ja tämän vastauksista sai hyvin osviittaa kurssin sisällön kehittämiseen... Tavoitteena oli, että valittavana olisi suurin piirtein saman kokoista ja/tai tasoista koodia sopivan kokoinen palanen eri aihealueista. Yritin parhaani mukaan varmistua, että ehdotetut koodinpätkät ovat relevantteja käytännön toteutuksen tai sovellusten kannalta. Prosessissa jouduin selaamaan koodia loppujen lopuksi aika paljon, ja jouduin toteamaan, että todellisuus pystyy olemaan aika paljonkin monimuotoisempi kuin miltä se pelkistetyissä oppikirjaesimerkeissä näyttää. Omakin vastaukseni sisältäisi täytettä viimeisessä kohdassa, "hämäräksi jääneitä seikkoja". Mielenkiintoinen tämä uskoakseni edelleen on, joten pidetään tämä toistaiseksi samanlaisena ainakin keväällä 2015.

Vaatimukset

Tehtävässä tutustut käytössä olevaan avoimena lähdekoodina tuotettuun käyttöjärjestelmään yleisellä tasolla sekä yhteen yksityiskohtaan syventyen.

Palautuksena on määrämuotoinen tiivistelmä ja oppimisdokumentaatio tekstitiedostona.

Käytä hyödyksesi seuraavia:

Valitse tutkittavaksesi yksi seuraavista kohteista (tiedostoista / funktioista / tietorakenteista). Heitä vaikka arvalla ja hylkää, mikäli arvottu aihepiiri ei kiinnosta tai tuli kohde, joka on arvioitu liian hankalaksi/pitkäksi (merkkasin "level 2" tai "level 3", jos jouduin itse kahlaamaan kovinkin paljon oheismateriaalia).

Vapaaehtoinen palautustehtävä (1p)

Tästä demosta saat bonuspisteen, mikäli olet tenttiin mennessä palauttanut seuraavanlaisen vastauksen: