Open Universiteit 1 Een computersysteem omvat meerdere processoren. Die processoren gebruiken gezamenlijk enkele harde schijven en andere randapparaten. Elke processor heeft zijn eigen taak, één processor controleert en coördineert de andere processoren. Dit computersysteem wordt gekenmerkt door de karakteriseringen a b c d 2 3 symmetrische multiprocessing symmetrische multiprocessing asymmetrische multiprocessing asymmetrische multiprocessing en en en en loosely tightly loosely tightly coupled systeem. coupled systeem. coupled systeem. coupled systeem. Het afhandelen van een interrupt gebeurt door een voor elk interrupttype specifieke afhandelingsroutine, die daartoe eerst opgestart moet worden. Beoordeel de juistheid van de volgende uitspraken. I In het begin van elke afhandelingsroutine wordt eerst de waarde van de Program Counter (met daarin het adres van de volgende uit te voeren instructie van het onderbroken programma) op de stack gezet en daarna de waarden van de registers die de afhandelingsroutine zelf gebruikt. II Aan het einde van elke afhandelingsroutine krijgen vanaf de stack eerst de gesavede registers en dan de Program Counter hun oorspronkelijke waarden weer terug. a b c d Uitspraken I en II zijn beide juist. Uitspraak I is juist, uitspraak II is onjuist. Uitspraak I is onjuist, uitspraak II is juist. Uitspraken I en II zijn beide onjuist. Welke van de volgende beweringen is niet waar? a b c d 4 Voorbeeldvragen cursus T.27.2.2.1 Binnen een interruptafhandelingsroutine kunnen zowel gewone als bevoorrechte (= geprivilegieerde) instructies staan. Bij het uitvoeren van een interruptafhandelingsroutine moeten de basis- en het limietregister zo ingesteld staan dat alleen instructies van die routine uitgevoerd kunnen worden. Er is geen bezwaar tegen dat zowel in de monitor- als in de gebruikersmodus de waarden van het basis- en het limietregister gelezen kunnen worden. De geheugenplaatsen van de interruptvector mogen in de monitormodus gewijzigd worden, maar niet in de gebruikersmodus. In het tekstboek worden twee manieren besproken om informatie tussen processen uit te wisselen, namelijk message passing en de shared memory methode. Welke van de volgende uitspraken hierover is waar? Bij de message passing methode a b c d wordt minder gebruikt gemaakt van door het besturingssysteem beschikbaar gestelde faciliteiten dan bij de shared memory methode. treden er meer synchronisatieproblemen tussen de berichten uitwisselende processen op dan bij de shared memory methode. gaat de uitwisseling van informatie meestal sneller dan bij de shared memory methode. moeten te transporteren data vaker gekopieerd worden dan bij de shared memory methode. Open Universiteit 5 Voorbeeldvragen cursus T.27.2.2.1 Hieronder volgt een Linux-commando en de daarop volgende uitvoer. bsstxxx@linux:~ ls –l -rw-r--r--rw-r--r-- 1 bsstxxx 1 bsstxxx bsst bsst 7 Aug 01 20:29 test1.lst 7 Aug 02 16:29 test2.lst Vervolgens wordt een tweede commando uitgevoerd: bsstxxx@linux:~ chmod u+x *.lst Welke uitvoer verschijnt na het volgende commando? bsstxxx@linux:~ ls –l *.lst a -rw-r--r--rw-r--r-- b -rwxr--r--rwxr--r-- c -rwxr-xr-x -rwxr-xr-x d -rwxr--r--rw-r--r-- 6 bsst bsst 7 Aug 01 20:29 test1.lst 7 Aug 02 16:29 test2.lst 1 bsstxxx 1 bsstxxx bsst bsst 7 Aug 01 20:29 test1.lst 7 Aug 02 16:29 test2.lst 1 bsstxxx 1 bsstxxx bsst bsst 7 Aug 01 20:29 test1.lst 7 Aug 02 16:29 test2.lst 1 bsstxxx 1 bsstxxx bsst bsst 7 Aug 01 20:29 test1.lst 7 Aug 02 16:29 test2.lst Beoordeel de juistheid van de volgende uitspraken. I II a b c d 7 1 bsstxxx 1 bsstxxx Bij Linux wordt met world de groep gebruikers aangeduid die niet behoren tot een op het systeem gedefinieerde groep. Bij Linux hebben twee verschillende threads binnen een proces elk hun eigen geheugengebied. Uitspraken I en II zijn beide juist. Uitspraak I is juist, uitspraak II is onjuist. Uitspraak I is onjuist, uitspraak II is juist. Uitspraken I en II zijn beide onjuist. Welke van de onderstaande uitspraken met betrekking tot de GNU General Public License (GPL) is niet juist. Programmatuur die onder de GPL a b c d wordt uitgebracht, mag alleen doorgeleverd worden als er geen financiële vergoeding gevraagd wordt. mag door iedereen aangepast worden, mits men zich houdt aan de condities van de GPL. moet in zijn distributie voor elke gebruiker informatie bevatten waaruit blijkt dat de programmatuur onder de GPL valt. dient altijd informatie te bevatten omtrent de persoon of instantie die de code het laatst aangepast heeft. Open Universiteit 8 Beoordeel de juistheid van de volgende uitspraken. I II a b c d 9 Voorbeeldvragen cursus T.27.2.2.1 Een proces kan achtereenvolgens in de volgende toestanden verkeren: running, waiting, running. In elk PCB (Process Control Block) is er één positie waarin een waarde van de Program Counter geplaatst kan worden. Daar staat de waarde die de Program Counter bij de start van het proces moet krijgen. Uitspraken I en II zijn beide juist. Uitspraak I is juist, uitspraak II is onjuist. Uitspraak I is onjuist, uitspraak II is juist. Uitspraken I en II zijn beide onjuist. Beoordeel de juistheid van de volgende uitspraken. I II Een scheduling stategie heet preemptive als process switches ook in andere situaties optreden dan wanneer een actief proces overgaat in de toestand waiting of de toestand terminated. Bij preemptive scheduling moeten er meer maatregelen genomen worden om te voorkomen dat er synchronisatieproblemen ontstaan tussen twee processen met shared data dan bij non-preemptive scheduling. a b c d Uitspraken I en II zijn beide juist. Uitspraak I is juist, uitspraak II is onjuist. Uitspraak I is onjuist, uitspraak II is juist. Uitspraken I en II zijn beide onjuist. 10 In een besturingssysteem zijn de processen P1, P2, P3 en P4 aanwezig. De tijdstippen van aankomst, de benodigde CPU-tijden (uitvoeringstijden) en de doorlooptijden zijn gegeven in de volgende tabel (alle tijden zijn uitgedrukt in dezelfde tijdeenheden): proces aankomsttijd uitvoeringstijd doorlooptijd P1 P2 P3 P4 0 0 0 1 3 4 5 1 4 8 13 1 Welke schedulingsstrategie is toegepast? a b c d Rround-Robin met een time slice van 1 tijdseenheid Rround-Robin met een time slice van 2 tijdseenheid First-Come, First-Served Shortest-Job-First Open Universiteit Voorbeeldvragen cursus T.27.2.2.1 11 Variabele x, met initiële waarde 0, is een gemeenschappelijke variabele van de processen P1 en P2. P 1 heeft als enige instructie: x = x+2; en P2 heeft als enige instructie: x = 2*x; Welke mogelijke waarden kan x na afloop hebben als P1 en P2 schijnbaar gelijktijdig met interleaving worden uitgevoerd? a b c d 4 0, 1, 2, 3, 4 2, 4 0, 2, 4 12 Gegeven is het volgende algoritme om wederzijdse uitsluiting van een kritieke sectie van twee processen te realiseren: public class Algorithm extends MutualExclusion { public Algorithm() { flag[0] = false; flag[1] = false; } public void enterCriticalSection(int t) { int other; other = 1-t; flag[t] = true; while (flag[other] == true) Thread.yield(); } } public void exitCriticalSection(int t) { flag[t] = false; } private volatile boolean[] flag = new boolean[2] ; Welke eigenschappen zijn bij deze oplossing gegarandeerd? a b c d zowel wederzijdse uitsluiting als de voortgang van de processen wederzijdse uitsluiting, maar voortgang van processen niet voortgang van de processen, maar wederzijdse uitsluiting niet wederzijdse uitsluiting niet en voortgang van de processen ook niet 13 Beoordeel de juistheid van de volgende twee beweringen die betrekking hebben op het gebruik van semaforen : I II a b c d Een semafoor die initieel de waarde 1 heeft zal geen andere waarden kunnen aannemen dan de waarden 0 en 1. Een proces dat alleen maar P-operaties uitvoert zal op den duur altijd in een deadlock-situatie terecht komen. Beweringen I Bewering I is Bewering I is Beweringen I en II zijn beide juist. juist, bewering II is onjuist. onjuist, bewering II is juist. en II zijn beide onjuist. Open Universiteit Voorbeeldvragen cursus T.27.2.2.1 14 Gegeven is de volgende hulpbronallocatiegraaf : P = {P1, P2, P3} R = {R1, R2, R3} E = {P1 R2, P1 R3, P2 R3, P3 R1, R1 P1, R2 P2, R3 P3} Welke processen zijn betrokken in de deadlocksituatie die is ontstaan? a b c d P 1 en P2, maar P3 niet. P 2 en P3, maar P1 niet. P 1, maar P2 niet en P3 niet. P 1 , P2 en P3. 15 Adresbinding kan plaatsvinden bij het compileren, bij het laden en tijdens de executie van een programma. Beoordeel de juistheid van de volgende twee beweringen. I II a b c d Een memory management unit om logische in fysieke adressen om te zetten is nodig bij adresbinding bij het laden en tijdens de executie, maar niet bij adresbinding bij het compileren. Een uit het geheugen geswapt proces moet bij terugswappen op een andere plaats in het geheugen gezet kunnen worden. Dat kan probleemloos bij adresbinding tijdens executie, het kan met moeite of helemaal niet bij adresbinding bij het laden of bij compileren. Beweringen I Bewering I is Bewering I is Beweringen I en II zijn beide juist. juist, bewering II is onjuist. onjuist, bewering II is juist. en II zijn beide onjuist. 16 Een in frames ingedeeld geheugen van 1,0 Mbyte is per byte adresseerbaar. De paginagrootte is 256 byte. Processen voor dit geheugen kunnen maximaal 0,50 Mbyte groot zijn. Proces P1 heeft een omvang van 64 kbyte en wordt na een indeling in pagina’s in het geheugen geplaatst. Beoordeel de juistheid van de volgende twee beweringen. I II De page table van dit proces en de page frame table van het geheugen hebben respectievelijk (!) een omvang van 4096 en 256 regels. Het logische adres 0x3f7c wordt geplaatst op het fysieke adres 0x94f7c. Dat houdt in op regel 3 van de page table (eerste regel van de page table is regel 0) de waarde 94 staat. a b c d Beweringen I Bewering I is Bewering I is Beweringen I en II zijn beide juist. juist, bewering II is onjuist. onjuist, bewering II is juist. en II zijn beide onjuist.