Skip to main content

2011 juni examen

Praktijkexamen

  • Synchronisatie (zie labo's: synchronisation, thread synchronisation in Java en BACI): Semaforen en monitoren kunnen toepassen.
  • Het /proc file system en system call's: Informatie opvragen a.d.h.v. een reguliere expressie.
  • Clusters: Vragen i.v.m. de opdracht over clusters. Er zal niet gevraagd worden een cluster op te zetten.
  • I/O-schedulers: Vragen i.v.m. de opdracht over schedulers. Er zal niet gevraagd worden te benchmarken.

Theorie

  • Opgesplitst in 2 delen: Geens en Steegmans / Sanen
  • Elke reeks heeft andere vragen.
  • Er staan enkele artikels in de map Shared/Operating_Systems_2 die mogen gebruikt worden tijdens de examens. Druk deze dus af en neem ze mee naar het examen.


Dinsdag 14 juni

1) (mondeling) Wederzijdse uitsluiting. Gegeven: een stuk code. Zoek een tegenvoorbeeld dat bewijst dat dit stuk code geen wederzijdse uitsluiting garandeert. Bijvragen over deadlocks en hoe we deze kunnen vermijden.

2) Leg uit hoe FCFS werkt en wat voor algoritme dit is. Gegeven: een aantal processen met aankomsttijden en de uitvoeringsduur. Zijn I/O-processen bevoordeeld bij FCFS? Teken dit in een schema. Leg uit wat SRT is, en vergelijk dit met FCFS.

3) Op welke manieren kunnen we deadlocks voorkomen? Wat is een race condition?

4) Leg uit: demand paging en prepaging. Vergelijk deze met mekaar. Wat is thrashing?

5) (mondeling) Waar of niet waar? Bij een 32-bit systeem met 4K pagina's en 1024 MB RAM zijn de eerste 12 bits gebruikt voor de offset, en de laatste 20 bits voor het paginanummer.

Niet waar, dit is omgekeerd. Opgelet: de vraagstelling is hierbij onduidelijk! Hij bedoelt hierbij pagina's van 4 kilobyte grootte, niet dat er 4000 pagina's zijn.

Als we een proces in het hoofdgeheugen hebben staan dat nog niet gedispatched is en een suspended proces, welk proces zouden we dan swappen?

6) (mondeling) Leg uit (adhv de tekst "De zuilen van Nehalem": MacroOp Fusion en pipelines.

7) Iets ivm hoofdstuk 11, niet in te vullen als je het labo ivm elevator benchmarking gemaakt hebt. Vergelijk deadline scheduling met anticipatory scheduling.


Vrijdag 17 juni

Sanen (helemaal mondeling):

- Wederzijdse uitsluiting: code gegeven, zeggen waarom het niet goed is. Bijvragen over starvation en deadlock.

- Leg SRT uit + tekenen op tijdlijn voor processen met gegeven aankomst- en bedieningstijd.

- Leg uit: busy waiting & VRR.

 

Geens:

- (schriftelijk) Prepaging & demand paging: leg uit, efficiëntie, bij welke meer trashing, wat doet paginagrootte?

- (mondeling) waar of niet waar:

  • In een 32bit systeem zijn de eerste 12bits de offset en de laatste 20 het paginanummer.
  • Als we een proces uit het hoofdgeheugen willen swappen en we hebben een opgeschort proces en een proces dat nog niet gedispatched is, welke pakken we dan?
  • Een niet-preëmptieve kernel is niet geschikt voor real-time toepassingen.

- (mondeling, adhv teksten) MacroOp-fusion & pipelines

- (schriftelijk) vraag over hoofdstuk 11, niet op te lossen als het labo is gemaakt.


Vrijdag 17 juni (namiddag)

Sanen (volledig mondeling)

- Algoritme van Dekker, waarvoor dient het? Dan een stukje pseudo code voor wederzijdse uitsluiting (was hierbij niet mogelijk, wel deadlock onstaan)

- Round Robin, leguit, bij welke clasificatie hoort dit (preëmtief of niet, lang, midden, kort) is dat voordelig voor I/O-processen of niet? + stukje schrijven zoals in uw boek staat.

- Deadlock, leg uit en geef 3 manieren om het te voorkomen

 

Geens:

- adhv teksten: QuickPath Interconnect en hyperhtreading uitleggen

- Waar of niet + uitleg: Is het mogelijk om bij 32bitsysteem meer als 4GB ram te adresseren? Lokalisering heeft een grote invloed op paging? IO cancellation support voordelig voor gebruiker?

- Vraag ivm CPU Counter Cycle (film)(schriftelijk)

- Vraag hoofdstuk 11 indien labo niet gemaakt (schriftelijk)


Zaterdag 18 juni Sanen (volledig mondeling)

Sanen:

- Een stuk code en bewijzen dat er geen wederzijdse uitsluiting gegarandeerd is

- Leg SPN uit, categorie, werking, tekenen. Gerelateerde algoritmes en verschillen.

- Leg uit: Livelock en twee manieren om een deadlock te vermijden

Geens:

- Leg de verschillen tussen een CPU en een GPU uit op de tekening (tekst)

- Waar of niet waar: Het is nuttig om 3GB RAM uit te breiden naar 4GB RAM in een virtueel paged geheugen systeem van 32 bits zonder PAE (niet waar). Lokaliteit is van belang voor een systeem met gepagineerd geheugen. Een niet-preëmptieve kernel is niet geschikt voor real-time toepassingen.

- (schriftelijk) Wat is een geinverteerde paginatabel, teken het. Is een TLB nuttig bij dat soort systemen? Wat zijn de voordelen en nadelen tegenover een normale paginatabel.


Maandag 20 juni

Sanen (mondeling overlopen + uitleggen)

- Wat is het algoritme van Dekker? Waar zorgt het voor?

  • stuk code, zeggen of er wederzijdse uitsluiting is

- Leg Round Robin volledig uit: voordelen, nadelen, categorie

  • RR is nadelig voor CPU-intensieve processen -> fout!

- Leg Race-conditie uit

Geens

- (schriftelijk) Memory management: leg combinatie segmenteren + pagineren grondig uit. (schema, tekst, nadelen, voordelen, oplossing grootste nadeel, enz.)

- (mondeling) Leg verschil tussen CPU en GPU adhv afbeelding (zie tekst)

- (mondeling) Waar of niet waar:

  • Er kunnen niet meer processen in de 'Ready to run' status staan dan er processoren zijn
  • Er komen meer modusswitchen dan contextswitchen voor
  • Een proces kan niet alle signalen negeren


Vrijdag 24 juni Vraag 1 (Sanen, mondeling)

  • Welk probleem lost het bankers algorithm van Dijksta op? (deadlocks vermijden adhv tabellen)
  • Geef een voorbeeld
  • Bespreek een andere methode die het probleem oplost

 

Vraag 2 (Sanen, mondeling)

  • Leg HRRN (Highest Response Ratio Next) uit en welke beslissingsmodus het gebruikt
  • Pas HRRN toe op een gegeven tabel met aankomst- en bedieningstijden en maak een schema van de toedeling van de processen in functie van de tijd
  • Kies een andere scheduling methode, vergelijk deze met HRRN en maak van deze zelf gekozen schedulingsmethode eveneens een schema

 

Vraag 3 (Sanen, mondeling)

  • Wat is een race condition?
  • Wat is een semafoor? En wat zijn de verschillen tussen sterke, zwakke, binaire en algemene semaforen?

 

Vraag 4 (Geens, mondeling)

  • Leg het verschil uit tussen: context switch, mode switch en process switch.
  • Welke switch komt het vaakst voor?
  • Is er hardware-ondersteuning nodig voor deze switches?

 

Vraag 5 (Geens, schriftelijk)

Waar of niet waar? Leg uit.

  • Paging zorgt voor een slechtere performantie
  • Jacketing wordt in Solaris gebruikt om LWP (Light Weight Processes) te creëren
  • De modify bit wordt niet gebruikt in een STE (Segment Table Entry) in modern management systems

 

Vraag 6 (Geens, mondeling)

Leg uit wat een RBTree is (Red-Black tree) en hoe deze gebruikt wordt bij CFS (Completely Fair Scheduling)

 

Vraag 7 (Geens, schriftelijk)

Leg het verschil uit tussen de anticipatory scheduler van Linux en <een andere die ik ben vergeten>