Practicum IPC

Dit practicum heeft tot doel de problematiek van concurrente processen in de praktijk te proeven.

De kennis waarover je dient te beschikken, omvat:

  1. Processen en de concurrentiegereedschappen: semaforen, monitoren, boodschappen.
  2. De taal C.
  3. Basiskennis van besturingssystemen, zoals behandeld.
  4. Het besturingssysteem XINU.

 

ad 1: Dit onderwerp staat in het betrokken hoofdstuk van het boek over Besturingssystemen, en wordt tijdens de ingeroosterde uren behandeld.

ad 2: Syllabus "C in Vogelvlucht".

ad 3: Het betreft hier afhankelijk van de opgave de onderwerpen Geheugenbeheer, multiprogrammering met variabele partities, of "Disk scheduling" algoritmes, of cpu-scheduling.

ad 4: Syllabus "PC-Xinu".

 

De werkvorm:

Het practicum moet uitgevoerd worden in groepen van 2 studenten (of na overleg alleen of groep van 3).

De ingeroosterde uren worden gebruikt als uitleg-, werk- en spreekuren. Je kunt dan aan de opdracht werken en vragen en problemen voorleggen aan de docent, waarbij in voorkomende gevallen klassikaal uitleg gegeven wordt. Houd rekening met het feit dat je, zolang de ingeroosterde uren niet volledig gebruikt worden, de docent niet buiten deze uren om hulp kunt vragen.

 

De aanpak:

Oriënteer je eerst op de taal C met behulp van de syllabus, oefen met bijvoorbeeld het programma 'vkvgl.c'.
Oriënteer je op het besturingssysteem Xinu met behulp van de syllabus, oefen met het programma 's-demo.c'
Bestudeer het betrokken onderwerp m.b.v. het boek.
Als op deze zaken zicht gekregen hebt, begin dan aan de opgave (deze wordt separaat uitgereikt).

  1. Maak een DFD waarin de 4 processen en de datastromen / opslagplaatsen en de besturingsstromen zichtbaar zijn.
  2. Maak een tabel waarin gebeurtenissen (events) en hun gevolgen zichtbaar zijn.
  3. Ontwerp de interprocescommunicatie (dwz waar je welke gereedschappen gebruikt).
  4. Maak en documenteer het programma.
  5. Evalueer deze practicumopdracht: wat heb je geleerd en wat vind je van deze opdracht?
  6. Houd een logboek bij van de activiteiten.
  7. Houd bij hoeveel tijd je aan de opdracht besteedt.

 

Programmatuur:

De software die je hierbij nodig hebt, staat op het web.
De plaats is:
www.hio.ft.hanze.nl/mele/student/default.htm
Kopieer de bestanden naar je locale schijf en pak de zip-bestanden uit in bijvoorbeeld een directory 'Xinu'.
Bekijk de "leesmij"-bestanden.

 

In te leveren:

  1. Een tussentijds verslag waarin kort en bondig de stand van zaken opsomt: wat is al gebeurd, resultaten van de eerste 3 onderdelen van de aanpak, welke problemen zijn er, hoeveel tijd heb je op dit moment aan het vak besteed.
    In te leveren in de vijfde week van het kwartaal.
  2. Een (eind)verslag van de activiteiten (de 8 punten van de aanpak, dus!) en de gemaakte programmatuur (bestaande uit tenminste de volgende aparte bestanden: de broncode van de applicatie, de broncode van de monitor, het .exe-module).

Nota bene: telkens blijkt een aantal van jullie een onvolledig verslag in te leveren. In dat geval krijg je het ongecorrigeerd terug tot alle onderdelen aanwezig zijn. Ook zijn er altijd studenten die een potje maken van de Monitor. Is die niet in orde dan krijg je het verslag ook direct terug. Nog een aspect waar speciaal op gelet wordt: er mogen geen 'busy waits' voorkomen in het programma.

 

Beoordeling:

Het verslag wordt bekeken en de programmatuur getest door de docent.
Daarna wordt je uitgenodigd een (mondelinge) presentatie van pakweg 15 minuten te geven.
Als de docent tevreden is, krijg je een voldoende voor het vak.

 

Beschikbare tijd en Tijdpad: