Kursplan fastställd 2024-01-24 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 12112
- Blockschema
- Sökbar för utbytesstudenterJa
Poängfördelning
Modul | LP1 | LP2 | LP3 | LP4 | Sommar | Ej LP | Tentamensdatum |
---|---|---|---|---|---|---|---|
0117 Tentamen 6 hp Betygsskala: TH | 6 hp |
| |||||
0217 Laboration 1,5 hp Betygsskala: UG | 1,5 hp |
I program
- MPCSN - DATORER, NÄTVERK OCH SYSTEM, MASTERPROGRAM, Årskurs 1 (obligatorisk)
- MPEES - INBYGGDA ELEKTRONIKSYSTEM, MASTERPROGRAM, Årskurs 2 (valbar)
- MPHPC - HÖGPRESTERANDE DATORSYSTEM, MASTERPROGRAM, Årskurs 2 (valbar)
- TIDAL - DATATEKNIK, HÖGSKOLEINGENJÖR - Allmän, Årskurs 3 (obligatoriskt valbar)
Examinator
- Vincenzo Massimiliano Gulisano
- Biträdande professor, Dator- och nätverkssystem, Data- och informationsteknik
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 6Sö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. Studenten ska också översiktligt kunna belysa de möjliga etiska konsekvenserna av operativsystem och sitt eget arbete.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).Göra etiska bedömningar:
Studenten skall kunna göra och försvara etiska bedömningar generellt, och särskilt inom operativsystems området.
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. Etiska aspekter kommer att behandlas i kursen, med kompletterande läsmaterial.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. Laborationerna avser också att ge en miljö för att främja jämställdhet-likabehandling-mångfald. 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örd och godkänd på laborationsmomentet, samt betyg 3, 4 eller 5 på den skriftliga 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.