Käyttöjärjestelmät

HUOM: Kurssi pidetään keväällä 2009 toisella jaksolla, ks. tarkemmat tiedot päiväkirjajärjestelmästä

Kurssilla tutustutaan käyttöjärjestelmien toiminnan ja rakenteen periaatteisiin sekä käyttöjärjestelmäläheiseen ohjelmointiin Linux-ympäristössä. Ohjelmointikielenä C joten C-kurssi tulee olla suoritettuna ennen kurssille osallistumista.

Kurssin sisätö

  • tunti 1: johdanto
  • tunti 2: tiedostojen käsittely, virheiden raportointi
  • tunti 3: komentoriviparametrit, terminaalimoodit
  • tunti 4: aika, järjestäminen, muistivarauksen kasvatus, tilapäiset tiedostot
  • tunti 5: prosessit
  • tunti 6: prosessien skedulointi
  • tunti 7: signaalit
  • tunti 8: putket
  • tunti 9: muistinhallinta, semafoorit, jaettu muisti
  • tunti 10: tiedostojärjestelmä, tiedostojen metadata, hakemistojen käsittely, muistiinkuvatut tiedostot
  • tunti 11: säikeet
  • tunti 12: säikeiden synkronointi
  • Labratehtävät

  • tehtävät
  • Kurssin suoritus

  • Kaikki tähdellä merkittävät tehtävät ovat kaikille pakollisia. Kaikista labratehtävistä on tehtävä vähintään puolet eli 21.
  • Viikon n teoriaan liittyvät tehtävät on palautettava viimeistään viikolla n+2
  • Labroista pisteitä 12, kokeesta 12. Labrojen pisteytys:
  • 38 tehtävää = 12 pistettä
  • 36 tehtävää = 11 pistettä
  • 34 tehtävää = 10 pistettä
  • 32 tehtävää = 9 pistettä
  • 30 tehtävää = 8 pistettä
  • 28 tehtävää = 7 pistettä
  • 26 tehtävää = 6 pistettä
  • 24 tehtävää = 5 pistettä
  • 22 tehtävää = 4 pistettä
  • 20 tehtävää = 3 pistettä
  • 18 tehtävää = 2 pistettä
  • 16 tehtävää = 1 pistettä
  • Läpipääsyyn vaaditaan 12 pistettä, kokeista vähintään 6 pistettä
  • Linkkejä

  • Lista emacsin tärkeimmistä komennoista
  • C-kurssin materiaali
  • C standardikirjasto
  • C/C++ reference, C-standardikirjasto ja esimerkkejä
  • GNU C kirjasto, edellisiä huomattavasti perusteellisempi esitys, sisältää myös esimerkkejä
  • Käyttöjärjestelmät kurssin vanha materiaali täällä
  • Käyttöjärjestelmäohjelmointiprojekti