Tiedossa on kiva kesäkurssi
Etusivu -- Materiaali -- Luennot Miksi Ajatuksia  

ITKA203 Käyttöjärjestelmät --- kesä 2007 --- Kirjallinen materiaali ja ohjeistus

Neljän opintopisteen (108 tuntia) sisältörajaus

Tässä on lopullinen versio kirjallisesta materiaalista, joka kurssilla käytiin läpi kesällä 2007. Jotakin on jätetty pois, ja joitakin kohtia on täsmennetty aiemmasta. Kiitän kaikkia, jotka ovat antaneet rakentavaa palautetta ja esittäneet pyyntöjä.

Tenttitärpeistä ilmenee oppimistavoitteet:

Luentomoniste on perusrunko myös kesällä 2007:

Demoissa ja harjoitustyössä läpikäyty materiaali kuuluu myös kurssiin:

Luennoilla esitellyt esimerkkiohjelmat valaisevat teoriaa:

Ylläoleva materiaali on siis kurssin tämänkertainen aiherajaus. Alla on lisätietoa, kirjallisuutta ja nettilinkkejä.


Kirjallisuutta / Reference material

Olen sitä mieltä, että mikään ei korvaa kunnon oppikirjaa. Kovakantinen on kallis, mutta se on sijoitus tulevaisuuteen (ja näyttää hyvältä hyllyssä). Luentomoniste on aina väistämättä referaatti ja paikallinen tulkinta. Käyttöjärjestelmistä kertovia kirjoja on paljon; seuraavassa on muutamia hyviä poimintoja. Kirjallisuusviitteet on kopioitu luentomonisteesta. Googlella löysin joitakin linkkejä kirjojen kotisivuihin.

On otettava huomioon, että neljän opintopisteen kurssiin ei voi mahtua kuin pintaraapaisu siitä, mitä esim. noissa oppikirjoissa kerrotaan todellisesta maailmasta.

Käyttöjärjestelmistä / About operating systems

Unixista / About Unix

Windowsista / About Windows

+ Sivistävää iltalukemista

Seuraavat dokumentit ovat vapaasti saatavilla netistä:

Linkkejä

Nämä linkit kertyivät kesällä 2005, kun viimeksi pidin Käyttöjärjestelmät. Ne liittyvät aihepiireihin, joita käydään luennolla läpi jossakin järjestyksessä myös kesällä 2007.

Kokonainen käyttöjärjestelmä lähdekoodina

Okei, tämä on vain käyttöjärjestelmän ydin eli "kernel" ...

Lisätietoa muutamista käyttöjärjestelmän osista

Laitteistosta

Säikeistä ja yhdenaikaisohjelmoinnista (concurrent...)

Shell-ohjelmoinnista

Oletusarvoisesti C-shell on se interaktiivinen shell, jota porukka meillä käyttää. Sen voi vaihtaa, ja jostain syystä minä käytän bashiä kun joskus olen siihen tottunut. Shell-skriptejä tullaan opiskelemaan käyttäen esimerkkinä joko C-shelliä tai bashiä. Paljon käyttävät maailmalla molempia ja myös muita.

Tekstieditointia mm. Unixeissa

Mm. ohjelmointi on tekstin eli lähdekoodin editointia. Tässä on linkkejä sellaisiin tekstieditorityökaluihin, jotka yleensä löytyvät Unix/Linux-koneiden perusasennuksista. Jos sinulla ei ole kokemusta, suosittelen, että editoit nanolla (ei hajoa pää heti alussa):

Yllä mainitut ovat helppoja ja siksi hyviä aloittelijalle. Nano näyttää olevan asennettu JY:n Tietohallintokeskuksen Linux-koneisiin, joita me kaikki voidaan käyttää (ja ainakin tällä kurssilla käytetään). Mutta sitten kun/jos sinulla on kokemusta, sinulla ei ole vaihtoehtoja vaan on siirryttävä eteenpäin:

Myös nämä löytyvät THK:n tarjoamilta suorakäyttökoneilta. Vi-editori itse asiassa löytyy suurin piirtein maailman jokaisesta Unix-koneesta. Se on myös tehokas ja kätevä, sanovat aktiivikäyttäjät. Minä osaan kirjoittaa rivejä Vi-improvedilla, tallentaa tekstin ja poistua ohjelmasta. En juuri muuta sillä osaakaan... Vi on osittain vähän työläs hahmottaa... Emacsissa on kaikki, mitä voin kuvitella tarvittavan tekstinkäsittelyyn. Jos voisin kuvitella jotain muuta tarpeellista, voisin periaatteessa laajentaa Emacsia tekemään juuri sen. Mutta editorin valinta on näitä subjektiivisia makuasioita! Ymmärtääkseni kuitenkin nörtti osaa joko Emacsin tai Vin käytön tai se ei ole oikea nörtti. Windowsilla tekstiä voi editoida myös esimerkiksi ConText-ohjelmalla, joka on asennettu ainakin Agoran mikroluokkiin.

Aiempien kurssikertojen linkkilistaa

Tässä on suoria linkkejä J. Ernvallin kirjoittamaan materiaaliin sekä nettilähteisiin, joihin aiemmilla kurssikerroilla on ollut linkkejä. En tiedä vielä, onko 8086 se arkkitehtuuri, jota kesällä 2007 käytetään esimerkkinä. Voi olla; voi olla että ei... ja joka tapauksessa tarkemmin ajatellen prosessori kuin prosessori on abstraktisti ajateltuna vain joku prosessori; ei ne niin kovin erilaisia ole.

Vastaavan aiheen opetusta muualla maailmalla

Käyttöjärjestelmät ovat elimellinen osa informaatioteknologiaa. Niinpä sitä opetetaan joka paikassa. Alla on yhden Google-session antama lista muiden oppilaitosten järjestämistä vastineista. Ehkä se auttaa suhteuttamaan aiheen tärkeyttä, ja ehkä kurssien painotuserot auttavat näkemään, miten monta muuta asiaa käyttöjärjestelmiin liittyy:


Viimeksi kajottu 2007-07-31.

(Validoi sivu WDG:n validaattorilla)