ID1200 Operativsystem 6,0 hp

Operating Systems

OBS!

Informationen nedan baseras på en kursplan som ännu inte har börjat gälla.

Kursen avser ge dig kunskap om hur operativsystem implementeras och hur man praktiskt skriver program som utnyttjar operativsystem, sk. systemprogrammering. 

  • Utbildningsnivå

    Grundnivå
  • Huvudområde

    Teknik
  • Betygsskala

    A, B, C, D, E, FX, F

Kurstillfällen/kursomgångar

HT19 för programstuderande

  • Perioder

    HT19 P1 (3,0 hp), P2 (3,0 hp)

  • Anmälningskod

    50901

  • Kursen startar

    2019-08-26

  • Kursen slutar

    2020-01-14

  • Undervisningsspråk

    Svenska

  • Studielokalisering

    KTH Campus

  • Undervisningstid

    Dagtid

  • Undervisningsform

    Normal

  • Antal platser

    Ingen begränsning

  • Kursansvarig

    Johan Montelius <johanmon@kth.se>

  • Målgrupp

    Öppen för CDATE. 

  • Del av program

HT18 för programstuderande

Lärandemål

Efter godkänd kurs ska studenten kunna

  • förklara hur flertrådade processer är strukturerade,
  • förklara hur ett operativsystem kan hantera flera processer samtidigt.

För högre betyg skall studenten dessutom kunna

  • förklara hur virtualisering av minne implementeras,
  • förklara hur minneshantering implementeras,
  • förklara egenskaper för olika schemaläggningsalgoritmer,
  • förklara egenskaper för olika typer av processkommunikation,
  • förklara implementering av mer avancerade filsystem.

Kursens huvudsakliga innehåll

Kursen ger kunskaper om principerna för och hur man kan implementera

  • abstraktioner av hårdvara
  • virtualisering av resurser och schemaläggning av uppgifter; främst vad avser exekvering, minne och persistent lagring.

Ett operativsystems uppbyggnad studeras för att öka kunskapen om dessa begrepp och även ge färdighet i att på ett effektivt sätt använda den abstraktionsnivå som ett operativsystem erbjuder.

Kursupplägg

Kursen består av 12-16 föreläsningar till vilka praktiska mindre uppgifter kopplas. De praktiska uppgifterna är avsedda att ge en ökad förståelse för de begrepp som presenteras såväl som ge den praktiska färdighet som krävs för att uppfylla kursens mål.

Behörighet

Slutförda kurser motsvarande

  • DD1337 Programmering
  • DD1338 Algoritmer och datastrukturer
  • DD1396 Parallellprogrammering
  • DD1362 Programmeringsparadigm
  • IS1500 Datorteknik och komponenter.

Rekommenderade förkunskaper

För att kunna tillgodoräkna dig kursen skall du ha grundläggande kunskaper om hur datorer är uppbyggda och fungerar, motsvarande grundkursen i datorteknik, samt god programmeringsvana. Erfarenhetsmässigt har det visat sig vara mycket svårt för studenter som inte har dessa förkunskaper att klara kursen. 

Litteratur

Kursen kommer att vara baserad på:

Remzi H. Arpaci-Dusseau och Andrea C. Arpaci-Dusseau, "Operating Systems: Three Easy Pieces", Arpaci-Dusseau Books.

Referenslitteratur:

Andrew S. Tanenbaum, "Modern Operating Systems", Prentice-Hall.  

Examination

  • TENA - Tentamen, 6,0, betygsskala: A, B, C, D, E, FX, F

Examinator beslutar, i samråd med KTH:s samordnare för funktionsnedsättning (Funka), om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning. Examinator får medge annan examinationsform vid omexamination av enstaka studenter.

Ges av

EECS/Datavetenskap

Examinator

Johan Montelius <johanmon@kth.se>

Övrig information

Kursen samläses med ID1206.

Kursen utvärderas och utvecklas i enlighet med KTH:s policy för kursanalys. 

Versionsinformation

Kursplan gäller från och med HT2019.
Examinationsinformation gäller från och med VT2019.