Computersystemen 2 (TIRCCMS02 - Operating systems) L.V.de.Zeeuw@HRO.NL
3 Input en Output Opgaven
Vraag 3.1 Stel dat de ontwikkelingen in de chip-technologieë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
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
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
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
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
Antwoord 3.3 3.1.2 L.V. de Zeeuw Computersystemen 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
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
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
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
Antwoord 3.5 3.x.y Systemcall van de gebruiker ( SWI ) 1000 μs Data naar kernel buffer 1024 μs Kernel buffer naar netwerk controller board 1024 μs 8 * 1024 = 8192 bits Verzenden van een datablock (10 megabits/s) 8192 μs Interrupt destination CPU 1000 μs Network controller board naar kernel buffer 1024 μs Kernel buffer naar data gebied 1024 μs ----------- + 14288 μs L.V. de Zeeuw Computersystemen 2
Vraag 3.6 Wat wordt bedoeld met ‘apparaat onafhankelijk’? L.V. de Zeeuw Computersystemen 2
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
Vraag 3.7 In welke van de 4 software-lagen wordt het volgende afgehandeld? Bepalen van de track, sector en kopnummer bij het lezen van een disk. Bijhouden van een cache van recent gebruikte blokken. Schrijven van commando's naar device registers. Controleren of de gebruiker wel de permissie heeft om een bepaald device te gebruiken. Omzetten van binaire format naar ASCII om ze af te kunnen drukken. L.V. de Zeeuw Computersystemen 2
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. 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
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
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
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
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
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
Antwoord 3.10 3.3.6 Diagonale trajecten zijn alleen mogelijk als multiprocessor systemen gebruikt worden. L.V. de Zeeuw Computersystemen 2
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
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
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
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
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
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
Vraag 3.x L.V. de Zeeuw Computersystemen 2
Antwoord 3. 3.x.y L.V. de Zeeuw Computersystemen 2