HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems) [email protected] HOGESCHOOL ROTTERDAM / CMI 3 Input en Output Opgaven HOGESCHOOL ROTTERDAM / CMI Vraag 3.1 Stel dat de ontwikkelingen in de chiptechnologieën het mogelijk maken om een complete controller, met inbegrip van de Bus Access Logica, in één chip te bakken, wat voor een gevolg zou dat hebben voor het model van fig. 3-1? L.V. de Zeeuw Computersystemen 2 3 HOGESCHOOL ROTTERDAM / CMI Antwoord 3. 3.1.2 Dit zou voor het model in fig. 3-1 geen gevolgen hebben voor de architectuur hebben, omdat elk device toch toegang moet hebben tot de bus, en of dat nu door één chip of meerdere chips wordt bestuurd, maakt voor het schema niets uit. Wel heeft het gevolgen voor de snelheid van busoverdracht, toegangstijden tot de bus e.d., omdat elk device zelf kan zien of de bus voor hem vrij is of niet, deze taak wordt nu dus overgenomen van de processor door de devices. L.V. de Zeeuw Computersystemen 2 4 HOGESCHOOL ROTTERDAM / CMI Vraag 3.2 Veronderstel dat de disk controller de bytes even snel wegschrijft naar het geheugen, als de controller deze binnen krijgt vanaf disk, waarbij geen interne buffer wordt gebruikt. Is interleaving dan bruikbaar. Beargumenteer het antwoord. L.V. de Zeeuw Computersystemen 2 5 HOGESCHOOL ROTTERDAM / CMI Antwoord 3. 3.1.2 Nee, interleaving is dan niet nodig. De controller kan immers de aanvoer en verwerking van data bijhouden. L.V. de Zeeuw Computersystemen 2 6 HOGESCHOOL ROTTERDAM / CMI Vraag 3.3 Bij een disk wordt dubbele interleaving toegepast (zie figuur 3.4. (c)). De disk bestaat per spoor uit uit acht sectoren van 512 bytes. De omwenteling snelheid is 300 toeren per minuut. Hoelang duurt het om alle sectoren van een spoor in de juiste volgorde te lezen? Men mag ervan uitgaan, dat de arm al in de juiste positie staat en dat een halve omwenteling nodig is om sector 0 onder de lees/schrijf kop te krijgen. Al is de snelheid waarmee gegevens worden verstuurd? Beantwoord dezelfde vragen, nu met een DISC zonder interleaving, maar verder met dezelfde karakteristieken. Hoeveel valt datarate lager uit als gevolg van interleaving? L.V. de Zeeuw Computersystemen 2 7 HOGESCHOOL ROTTERDAM / CMI Antwoord 3.3 3.1.2 Dubbel Interleaved: Voor het lezen van alle sectoren van een track in volgorde is bij een dubbel interleaved disk 3 1/2 omwentelingen nodig • ½ omwenteling voor het positioneren van de lees/schrijf kop. • 3 omwentelingen voor het lezen van 8 sectoren – – – eerste keer worden de sectors 0, 1, 2 gelezen tweede keer worden de sectors 3, 4, 5 gelezen derde keer worden de sectors 6 en 7 gelezen 300 omwentelingen/minuut = 300 omwentelingen / 60 s = 5 omwentelingen/s. 3 ½ omwenteling duurt 3 ½ / 5 = 0.7 s De datarate = 8 x 512 bytes / 0.7s = 5851 bytes/s Non Interleaved: Voor het lezen van alle sectoren van een track bij een non-interleaved disk zijn 1 ½ omwentelingen nodig: • 1/2 omwenteling voor het positioneren van de lees/schrijf kop. • 1 omwentelingen voor het lezen van 8 sectoren Dus totaal 1 1/2 omwentelingen 1 ½ x 1/5 = 0.3 s De datarate = 8 x 512 bytes / 0.3s = 13653 bytes/s L.V. de Zeeuw Computersystemen 2 8 HOGESCHOOL ROTTERDAM / CMI Vraag 3.4 De DM-11 terminal multiplexer, die werd gebruikt voor de PDP-11 nam van iedere (half duplex) terminal lijn zeven keer zoveel samples (monsters) als de baudrate. Zo kon men zien of het binnenkomende bit een 0 of een 1 was. Het samplen van de lijn duurde 5,7 μs. (10-6s). Hoeveel 1200 baud lijnen kon de DM-11 ondersteunen? L.V. de Zeeuw Computersystemen 2 9 HOGESCHOOL ROTTERDAM / CMI Antwoord 3.4 3.x.y • 1200 baud gescand met 1200 x 7 = 8400 Hz. Dit is (1/8400) s per sample • Een scan op zich duurt 5.7 μs. • Door multiplexing kunnen er dus (1/8400) / (5.7 x10-6s) = 20 kanalen worden gescand. L.V. de Zeeuw Computersystemen 2 10 HOGESCHOOL ROTTERDAM / CMI Vraag 3.5 Een local network werkt als volgt. De user roept een system call aan om naar het netwerk te schrijven. Het operating system kopieert de data naar een kernel buffer. Hierna kopieert hij de data naar de network controller board. Wanneer alle bytes zijn opgeslagen in de controller worden ze verzonden over het netwerk met een snelheid van 10 megabits/s. De ontvangende network controller slaat elk bit een ms nadat het verzonden is op in zijn geheugen. Wanneer het laatste bit is ontvangen krijgt de destination CPU een interrupt zodat de kernel de nieuwe data kan kopiëren naar een kernel buffer. Vervolgens wordt uitgezocht voor welke user de data bestemd is en naar de betreffende user space gekopieerd. Als we aannemen dat elke interrupt en zijn afhandling 1 ms duurt, dat de data in blokken van 1024 bytes worden verstuurd en dat het kopiëren van een byte 1 ms duurt, wat is dan de maximale snelheid waarmee een proces data kan versturen naar een ander proces? L.V. de Zeeuw Computersystemen 2 11 HOGESCHOOL ROTTERDAM / CMI Antwoord 3.5 3.x.y Systemcall van de gebruiker ( SWI ) Data naar kernel buffer Kernel buffer naar netwerk controller board 1000 μs 1024 μs 1024 μs 8 * 1024 = 8192 bits Verzenden van een datablock (10 megabits/s) Interrupt destination CPU Network controller board naar kernel buffer Kernel buffer naar data gebied L.V. de Zeeuw Computersystemen 2 8192 μs 1000 μs 1024 μs 1024 μs ----------- + 14288 μs 12 HOGESCHOOL ROTTERDAM / CMI Vraag 3.6 Wat wordt bedoeld met ‘apparaat onafhankelijk’? L.V. de Zeeuw Computersystemen 2 13 HOGESCHOOL ROTTERDAM / CMI Antwoord 3.6 3.2.1 ‘Apparaat onafhankelijk’ wil zeggen, dat bepaalde commando's op een vaste manier moeten worden uitgevoerd, ongeacht op welk device de commando's betrekking hebben. Bijv. een write-commando moet altijd een schrijfaktie inhouden, of dit commando nu naar een scherm, printer of een file gestuurd wordt. L.V. de Zeeuw Computersystemen 2 14 HOGESCHOOL ROTTERDAM / CMI Vraag 3.7 In welke van de 4 software-lagen wordt het volgende afgehandeld? a) Bepalen van de track, sector en kopnummer bij het lezen van een disk. b) Bijhouden van een cache van recent gebruikte blokken. c) Schrijven van commando's naar device registers. d) Controleren of de gebruiker wel de permissie heeft om een bepaald device te gebruiken. e) Omzetten van binaire format naar ASCII om ze af te kunnen drukken. L.V. de Zeeuw Computersystemen 2 15 HOGESCHOOL ROTTERDAM / CMI Antwoord 3.7 3.2.1 De 4 software-lagen zijn : (4) Utilities , gebruikerprogramma's. (3) Device onafhankelijke software. (2) Device drivers. (1) Interrupt handlers. a) b) c) d) e) Bepalen van de track, sector en kopnummer bij het lezen van een disk. (2) Bijhouden van een cache van recent gebruikte blokken. (3) Schrijven van commando's naar device registers (3) Controleren of de gebruiker wel de permissie heeft om een bepaald device te gebruiken. (4) Omzetten van binaire format naar ASCII om ze af te kunnen drukken. (1) L.V. de Zeeuw Computersystemen 2 16 HOGESCHOOL ROTTERDAM / CMI Vraag 3.8 Waarom worden output files voor de printer, normaliter, eerst op disk geschreven voordat ze worden afgedrukt? L.V. de Zeeuw Computersystemen 2 17 HOGESCHOOL ROTTERDAM / CMI Antwoord 3. 3.2.5 SPOOL = Simultanous Peripheral Operations On Line Omdat, indien ieder proces de mogelijkheid zou hebben om te printen en zo'n proces zou de character special file van de printer openen en daarna urenlang niets doen, dan kan geen enkel ander proces iets printen. Dit wordt ondervangen door een nieuw speciaal proces te creëren 'deamon' genaamd en ook een speciaal directory een spooling directory genaamd. Wanneer een proces een file wil printen moet het de gehele file genereren en dit in het spooling directory zetten. En dan is het aan het 'deamon' proces,wat het enige proces is met permissie om het special file van de printer te gebruiken,om de files in het directory uit te printen. Hierdoor wordt het probleem van het onnodig lang openhouden van de special file direct door de users volledig ondervangen. Bovendien kost dit weinig extra tijd, want dit deamon proces kan de files uitprinten als hiervoor tussendoor tijd over is. L.V. de Zeeuw Computersystemen 2 18 HOGESCHOOL ROTTERDAM / CMI Vraag 3.9 Beschouw figuur 3.8 Neem aan dat in stap (o) C om S vraagt in plaats van R. Zou dit leiden tot deadlock? En als C om S en R vraagt? L.V. de Zeeuw Computersystemen 2 19 HOGESCHOOL ROTTERDAM / CMI Antwoord 3.9 3.3.2 Nee, in de graaf ontstaat voor beide scenario’s géén cirkel. Omdat er maar een taak tegelijk gebruik kan maken van een bepaalde device (bv een printer), moet ieder taak wachten totdat het device wordt vrijgegeven. Een device wordt dan pas vrijgegeven als de taak verder kan gaan op een ander device. Als er echter twee taken op elkaar zitten te wachten om verder te kunnen gaan, ontstaat er deadlock. Geen van beide taken geeft zijn device vrij. L.V. de Zeeuw Computersystemen 2 20 HOGESCHOOL ROTTERDAM / CMI Vraag 3.10 Al de trajecten in figuur 3.12 zijn horizontaal en verticaal. Kun je omstandigheden bedenken waarin ook diagonale trajecten mogelijk zijn ? L.V. de Zeeuw Computersystemen 2 21 HOGESCHOOL ROTTERDAM / CMI Antwoord 3.10 3.3.6 Diagonale trajecten zijn alleen mogelijk als multiprocessor systemen gebruikt worden. L.V. de Zeeuw Computersystemen 2 22 HOGESCHOOL ROTTERDAM / CMI Vraag 3.11 Bekijk figuur. 3.11(b). Als Yvonne om nog een eenheid vraagt, leidt dit dan tot een veilige of onveilige toestand? Wat gebeurt er als de aanvraag van Micheal komt in plaats van Yvonne? L.V. de Zeeuw Computersystemen 2 23 HOGESCHOOL ROTTERDAM / CMI Antwoord 3.11 3.3.6 • Als Yvonne om nog een eenheid vraagt, dan hou je nog 1 eenheid over, dit is niet genoeg om één van de aanvragers zijn volle credit te kunnen geven, een onveilige toestand dus. • Als de aanvraag van Michel komt, dan hou je er ook nog maar één over, maar dan bestaat de mogelijkheid om Michel zijn volle credit te geven, waarna er later 4 eenheden vrijkomen waarmee je weer de anderen hun volle credit kunt geven. Dit is dus een veilige toestand. L.V. de Zeeuw Computersystemen 2 24 HOGESCHOOL ROTTERDAM / CMI Vraag 3.12 Zie figuur 3.13. Stel dat process A de laatste tapedrive aanvraagt. Leidt dit tot een deadlock? L.V. de Zeeuw Computersystemen 2 25 HOGESCHOOL ROTTERDAM / CMI Antwoord 3.12 3.3.6 • Dit kun je nagaan door het bankiers algoritme voor méér resources uit te voeren. – – – • E=totaal beschikbaar P=toegewezen. A=nog over. Indien A de laatste tapedrive aanvraagt kan dit tot een deadlock leiden omdat A ook nog een plotter nodig heeft die niet beschikbaar is en wordt vastgehouden door C die op een tapedrive staat te wachten. L.V. de Zeeuw Computersystemen 2 26 HOGESCHOOL ROTTERDAM / CMI Vraag 3.13 Een computer heeft 6 tape drives, met n processen die daar allen gebruik van willen maken. Elk proces kan twee drives nodig hebben. Voor welke waarden van n is het systeem vrij van deadlock? L.V. de Zeeuw Computersystemen 2 27 HOGESCHOOL ROTTERDAM / CMI Antwoord 3.13 3.3.6 Voor n<6 is het systeem deadlock vrij. Voor n≥6 is het mogelijk dat alle processen op elkaar staan te wachten, en dus geen van allen klaar komen met de uitvoering van hun taak. L.V. de Zeeuw Computersystemen 2 28