PSS (F2008) Miniprojekt

Det overordnede formål med miniprojektet er at designe og implementere et kørende flertrådet program med ikke-triviel synkronisering.

Miniprojekt 1: Kalender

Projektet handler om en kalender der kan tilgås af flere brugere. Kalenderen er defineret i termer af tidsreserveringsenheder, kaldet slots, der f.eks. dækker en time. Reservationer kan spænde over flere slots. Et slot indeholder relevant information, f.eks., en kort beskrivelse, et bruger ID og status (ledig, mulig aftale, bekræftet aftale, aflysning osv.).

Projektet skal som minimum opfylde følgende:

Der skal i besvarelsen argumenteres for at deadlock er umuligt. Endvidere skal det skal overvejes om udsultning er muligt og argumenteres for svaret.

Miniprojekt 2: Disk-schedulering

I dette projekt skal der implementeres en disk scheduler der varetager den overordnede kontrol med disken, en "disk simulator"-process samt et antal brugerprocesser der ønsker adgang til at læse/skrive på disken.

Et request består læse- eller skrive-adgang til et givet cylinder/spor på disken. Brugerprocesser opnår adgang ved at tilføje et request til en request-liste der kontrolleres og analyseres af disk-scheduleren. Disk-scheduleren skal minimere tilgangstiden til disken ved at minimere flytning af diskens læse/skrive-hovede. Endvidere skal disk-scheduleren sørge for, at udsultning undgås. Dette kan gøres ved at benytte SCAN algoritmen der (1) servicerer alle requests til det aktive spor inden hovedet flyttes og (2) flytter hovedet i een retning sålænge der er requests for spor i den retning.

I projektet skal de ovennævnte processer implementeres, procedurer til læsning/skrivning samt synkronisering mellem brugerprocesser, scheduler og disk-processen således at:

Der skal i besvarelsen argumenteres for, at der ikke kan forekomme deadlock og udsultning.

Miniprojekt 3: Hukommelsesallokering

Der skal implementeres rutiner til hukommelsesallokering samt et antal brugerprocesser der allokerer, reallokerer og deallokerer hukommelse. Følgende krav skal være opfyldt:

Der skal argumenteres for at deadlock er umuligt. Det skal desuden overvejes om der er mulighed for udsultning samt om systemet er fair. Argumenter for svaret.

Detaljeret opgaveforslag fra Morten Kühnrich kan ses her og templates kan findes her.

[PSS home]