TDIU16 Process- och operativsystemprogrammering
Föreläsningar
Innehåll
Slides till föreläsningarna publiceras i samband med varje föreläsning. Oftast kvällen innan.
- Föreläsning 0: Kursintroduktion, introduktion till C
- Föreläsning 1: Pintos, systemanrop i Pintos
- Föreläsning 2: Semaforen
- Seminarie 1: Systemanropen exec, exit och wait - Läs igenom "Starta en process" under "Tråd- och processhantering i Pintos" i Pintos Wiki innan, samt del B av lab 3 Processhantering
- Föreläsning 3: Synkronisering: Lås och conditions - Se nedan för de kodexempel som användes (gibberish, bank, sum)
- Föreläsning 4: Synkronisering: Hur implementeras lås?
- Föreläsning 5: Deadlocks
- Diverse kodexempel från föreläsningarna
-
Seminarie 2: Övningar deadlocks och synkronisering:
Inför seminariet, försök synkronisera koden nedan och lös räkneuppgiften
Ett osynkroniserat program för att simulera filosofer.
En Banker's algorithm räkneuppgift.
OBS! Frågor som dyker upp före seminariet mailas till kursledaren.
OBS! Det går också bra ta upp frågor för diskussion på labtid. -
Extra övning:
Två gamla tentafrågor.
The Deadlock Empire
I The Deadlock Empire tar du rollen som schemaläggare med målet att överbevisa felaktigt synkroniserad kod som just felaktig. Koden är given - du bestämmer var trådbyten ska ske.
Litteratur
Kursbok, "Operating System Concepts" (Wileys), samma som i TDIU11.
Kapitel relevanta för kursen: 2.3, 2.4 (systemanrop), 6 (synkronisering) och 7 (deadlock).
You Don't Know Jack about Shared
Variables or Memory Models (Data races are evil.) by H.-J. Boehm and S. V. Adve (ACM Queue 2011)
Beskriver minnesmodeller på ett relativt lättbegripligt, men ändå formellt sätt.
Design patterns for semaphores by Kenneth A. Reek
"Pass the Baton" and "I'll Do It For You" patterns for correct use of semaphores.
Process Synchronization with Readers and Writers Revisited Jalal Kawash
Much of what you want to know about readers-writers problem, including code examples.
The Problem with Threads by Edward A. Lee
No description.
IEEE Computer May 2006, pp. 33-42.
Blog with several operating system articles.
Semaphores are Surprisingly Versatile (Inledande förklaring av semaforen är bra, resterande är mer kuriosa.)
Linux insides. For the interested (tip from experienced assistant, not yet reviewed by me).
Sidansvarig: Filip Strömbäck
Senast uppdaterad: 2023-05-03