hogeschool rotterdam / cmi

advertisement
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
Download