Kursplan för Operativsystem

Kursplan fastställd 2021-02-26 av programansvarig (eller motsvarande).

Kursöversikt

  • Engelskt namnOperating systems
  • KurskodEDA093
  • Omfattning7,5 Högskolepoäng
  • ÄgareMPCSN
  • UtbildningsnivåAvancerad nivå
  • HuvudområdeDatateknik, Informationsteknik
  • InstitutionDATA- OCH INFORMATIONSTEKNIK
  • BetygsskalaTH - Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3), Underkänd

Kurstillfälle 1

  • Undervisningsspråk Engelska
  • Anmälningskod 12116
  • Blockschema
  • Sökbar för utbytesstudenterNej

Poängfördelning

0117 Tentamen 6 hp
Betygsskala: TH
6 hp
  • 23 Okt 2021 fm J
  • 03 Jan 2022 fm J
  • 16 Aug 2022 em J
0217 Laboration 1,5 hp
Betygsskala: UG
1,5 hp

I program

Examinator

Gå till kurshemsidan (Öppnas i ny flik)

Behörighet

Grundläggande behörighet för avancerad nivå
Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Särskild behörighet

Engelska 6
Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Kursspecifika förkunskaper

Studenten skall ha god förståelse av en dators konstruktion och grundläggande kunskaper i maskinnära programmering samt ha kännedom om begrepp som assembler och avbrott etc, dvs innehållet i någon kurs i maskinorienterad programmering. Studenten behöver också ha kunskaper om datastrukturer t ex träd, länkade listor, hashtabeller, dvs innehållet i en kurs i datastrukturer samt programmeringskunskaper (minst 7,5 kurspoäng i dataprogrammering). Kunskap om grundläggande sannolikhetslära kan vara en fördel, men kan också inhämtas parallellt med denna kurs.

Syfte

Operativsystem finns överallt där datorsystem finns; inte bara i stationära datorer och servrar utan också i fordon, telefoner och inbyggda industriella system. Kursen ger en introduktion till design och implementering av operativsystem. I synnerhet är syftet: att förklara strukturen och funktionen i ett operativsystem och dess samarbete med datorsystem det stöder; att belysa viktiga operativsystemaspekter och algoritmer i operativsystemets implementationer; att åtfölja med konkreta exempel och att förbereda studenterna för kommande kurser.

Lärandemål (efter fullgjord kurs ska studenten kunna)

Efter kursen skall studenterna kunna visa att de har kunskaper om och förståelse för: 1. Grundläggande funktioner i moderna operativsystem 2. Grundläggande begrepp och algoritmer rörande operativsystems implementering. 3. Implementeringen av enklare delar av ett operativsystem Studenterna skall också kunna: * uppskatta design utrymme och kompromisser involverade i genomförandet av ett operativsystem. * Skriva C-program som anropar operativsystemet på systemanropsnivå. * Implementera någon enklare rutin i ett operativsystem i programspråket C. * en del programmering med konstruktioner multitrådsprogrammering synkronisering (t.ex. miljö språk: C + +, Java).

Innehåll

Kursen ger en introduktion till design och implementering av operativsystem. Exempel på avsnitt som behandlas är: Processbegreppet, Parallella processer, resurshantering, hantering av låsningssituationer (deadlock), hantering av primärminne, virtuellt minne, CPU schemaläggning, skivminnen, filsystem, distribuerade filsystem och mikrokärnor, virtual machines, säkerhet- och skyddsmekanismer. Kursen presenterar viktiga komponenter i operativsystem, och kompletterar denna diskussion med hur deras slutliga utformning och implementering utvecklades från historiska till moderna mobila OS. De olika begreppen illustreras med exempel från Unix, Linux, Windows och operativsystem for mobila apparater.

Organisation

Undervisningen bedrivs i from av föreläsningar, lektionsövningar och laborationer. Laborationerna avser att ge erfarenhet av program som anropar operativsystemet på systemanropsnivå samt programmering av enklare interna rutiner i ett operativsystem. Exempel på laborationer är en kommandotolk för unix samt att programmera vissa interna delar av ett operativsystem som t.ex. en schemaläggare och delar av ett virtuellt minne. I labmomentet kommer systemet Pintos att användas. Detta är ett pedagogiskt operativsystem som stöder trådar, laddning och körning av användarprogram och ett filsystem. Pintos är internationellt renommerat som en väletablerad plattform av högsta kvalité för praktiskt labbande för operativsystem.

Litteratur

Andrew S. Tanenbaum, Herbert Bos: Modern Operating Systems (4th ed.). Prentice Hall Press, 2015.

eller

A. Silberschatz, P. Galvin, G. Gagne: Operating System Concepts, Ninth Edition, Wiley 2010;

Tidskriftsartiklar.

Examination inklusive obligatoriska moment

Genomförande av laboration och skriftlig tentamen.

Kursens examinator får examinera enstaka studenter på annat sätt än vad som anges ovan om särskilda skäl föreligger, till exempel om en student har ett beslut från Chalmers om pedagogiskt stöd på grund av funktionsnedsättning.