I/O beheer en schijfplanning

Start Omhoog Computersystemen Besturingssystemen Processen Threads Gelijktijdigheid: Wederzijdse uitsluiting Gelijktijdigheid: deadlock en utisterving Geheugenbeheer Virtueel geheugen Uniprocessor planning Multiprocessor en real-time planning Bestandsbeheer I/O beheer en schijfplanning Bash Powershell Begrippen

11.1. I/O apparaten

Zoals in hoofdstuk 1 werd vermeld, kunnen externe apparaten die zich bezighouden bij I/O met computer systemen ruwweg in drie categorieën worden onderverdeeld:

  • Leesbaar voor de mens: Geschikt voor communicatie met de computergebruiker. Voorbeelden onder meer printers en terminals, waarbij de laatste bestaat uit video-beeldscherm, toetsenbord en misschien andere apparaten zoals een muis.
  • Leesbaar voor de machine: Geschikt voor communicatie met elektronische apparatuur. Voorbeelden zijn harde schijven, USB-sticks, sensoren, controllers en actuatoren.
  • Communicatie: Geschikt voor communicatie met externe apparaten. Voorbeelden zijn digitale lijn drivers en modems.
  • Er zijn grote verschillen tussen de klassen en zelfs aanzienlijke verschillen binnen elke klasse. Een van de belangrijkste verschillen zijn de volgende:

  • Gegevenssnelheid: Er kunnen verschillen van verschillende ordes van grootte tussen de gegevenssnelheid zijn. Figuur 11.1 geeft enkele voorbeelden.
  • Toepassing: Het nut waarvoor een apparaat gebruikt wordt heeft invloed op de software en het beleid in het besturingssysteem en de ondersteunende hulpprogramma's. Bijvoorbeeld, een schijf dat gebruikt wordt voor bestanden vereist de ondersteuning van de bestandsbeheer software. Een schijf dat gebruikt wordt als reserve opslag voor pagina's in een virtueel geheugen schema hangt af van het gebruik van virtueel geheugen hardware en software. Bovendien hebben deze toepassingen een impact op de schijfplanningsalgoritmen (later in dit hoofdstuk besproken). Als een ander voorbeeld kan een terminal worden gebruikt door een gewone gebruiker of een systeembeheerder. Deze toepassingen impliceren verschillende privilege niveaus en misschien verschillende prioriteiten in het besturingssysteem.
  • Complexiteit van de besturing: Een printer vereist is een relatief eenvoudige bediening. Een schijf is veel complexer. Het effect van deze verschillen op het besturingssysteem wordt deels gefiltreerd door de complexiteit van de I/O-module dat het apparaat controleert, zoals in de volgende paragraaf wordt besproken.
  • Eenheid van overdracht: De gegevens kunnen overgedragen worden als een stroom van bytes of tekens (bv.. terminal I/O) of in grotere blokken (bv. disk I/O).
  • Datarepresentatie: Verschillende data codering schema's worden gebruikt door verschillende apparaten, zoals verschillen in karakter code en pariteit conventies.
  • Foutcondities: De aard van fouten, de wijze waarop zij worden gerapporteerd, de gevolgen daarvan, en mogelijke bereik van reacties verschillen sterk van apparaat tot het andere
  • Deze diversiteit maakt een uniforme en consistente aanpak van de I/O, zowel vanuit gezichtspunt van het besturingssysteem en vanuit het oogpunt van de gebruiker processen moeilijk te bereiken.

    11.2. Organisatie van de I/O functies

    Geprogrammeerde I/O: De processor geeft namens een proces een I/O-opdracht aan een I/O-module; dat proces dat dan bezig is wacht dan tot de werking is afgerond voordat het verder gaat.

    Interrupt-gestuurde I/O: De processor geeft namens een proces een I/O-opdracht. Dan zijn er twee mogelijkheden. Als de I/O instructie van het proces niet-blokkerend is, dan zal de processor verder gaan met het uitvoeren van instructies van het proces dat de I/O-opdracht heeft uitgegeven. Als de I/O-instructie geblokkeerd wordt, dan zal de volgende instructie die de processor uitvoert van het besturingssysteem zijn, welk het huidige proces in een geblokkeerde toestand plaatst en een een ander proces plant.

    Directe geheugen toegang (DMA): Een DMA-module controleert de het uitwisselen van data tussen het hoofdgeheugen en een I/O-module. De processor stuurt een aanvraag om een blok data naar de DMA module over te brengen en dit zal pas onderbroken worden als het hele blok is overgebracht.

    Tabel 11.1 geeft de verhouding aan tussen deze drie technieken. In de meeste computersystemen is DMA de overheersende vorm van overdracht die ondersteund moet worden door het besturingssysteem.

    11.2.1. De evolutie van de I/O functie

    Zoals de computersystemen geëvolueerd zijn, is er een patroon van toenemende complexiteit geweest en de verfijning van afzonderlijke componenten. Nergens is dit duidelijker geweest dan in de I/O functie. De evolutionaire stappen kunnen als volgt worden samengevat:

    1. De processor bestuurt een randapparaat direct. Dit kan men zijn aan eenvoudige microprocessor gestuurde apparaten.
    2. Een controller of een I/O-module wordt toegevoegd. De processor gebruikt geprogrammeerde I/O zonder interrupts. Met deze stap, wordt de processor enigszins gescheiden van de specifieke details van de externe apparaat interfaces.
    3. Dezelfde configuratie als stap 2 wordt gebruikt, maar nu worden er interrupts toegepast. De processor hoeft niet te wachten tot een I/O-bewerking wordt uitgevoerd, dus neemt de efficiëntie toe.
    4. Aan I/O-module wordt de directe controle van het geheugen via DMA gegeven. Het kan nu een blok van gegevens naar of van het geheugen verplaatsen zonder dat de processor daarmee betrokken is, behalve aan het begin en het einde van de overdracht.
    5. De I/O-module wordt aangepast aan om een aparte processor te worden met een gespecialiseerde instructieset die op maat gemaakt voor is voor de I/O. De centrale verwerkingseenheid (CPU) geeft de I/O-processor de opdracht om een I/O-programma in het hoofdgeheugen uit te voeren. De I/O processor haalt deze instructies op een voert deze instructies uit zonder de interventie van de processor. Hierdoor kan de
      processor een reeks I/O activiteiten specificeren en om alleen onderbroken te worden als de volledige sequentie werd uitgevoerd.
    6. De I/O-module heeft een lokaal geheugen van zichzelf en is in feite een computer op zichzelf. Met deze architectuur kunnen een groot aantal I/O-apparaten worden bestuurd, met een minimale tussenkomst van de processor. Een algemeen gebruik dergelijke architectuur is om de communicatie met interactieve terminals besturen. De I/O processor zorgt voor de meeste taken bij het besturen van de terminals.

    Meer en meer van de I/O-functie wordt uitgevoerd zonder betrokkenheid processor. De centrale processor wordt steeds meer en meer ontheven van I/O-gerelateerde taken, wat een verbetering van de prestaties is. Met de laatste twee stappen (5 en 6), komt er een grote verandering met de introductie van het concept dat een I/O-module in staat is om een programma uitvoeren.

    Een opmerking over de terminologie: Voor al de modules in stap 4 tot 6 beschreven, is directe geheugen toegang de geschikte term, omdat al deze typen gepaard gaan met de directe controle van het hoofdgeheugen via een I/O-module. Ook wordt de I/O-module in stap 5 vaak gerefereerd als een I/O kanaal, en dat van stap 6 als een I/O processor; echter, wordt elke term, soms toegepast op beide situaties. In het laatste deel van deze sectie, zullen we de term I/O-kanaal gebruiken om te verwijzen naar beide typen I/O-modules.

    11.2.2. Direct Memory Access

    Figuur 11.2 geeft, in algemene termen de DMA logica aan. De DMA-eenheid is in staat om de processor na te bootsen en zelfs de controle van de systeembus over te nemen. Het moet dit doen om de overdracht van gegevens van en naar het geheugen over de systeembus te laten lopen.

    De DMA techniek werkt als volgt. Als processor een gegevensblok wenst te lezen of te schrijven, geeft het een commando aan de DMA-module door de volgende informatie naar de DMA-module te sturen:

  • Of een lees- of schrijfbewerking wordt gevraagd, met behulp van het lezen of schrijven controlelijn tussen
    de processor en de DMA-module
  • Het adres van het betrokken I/O-apparaat communiceert op de datalijnen
  • De startlocatie in het geheugen waaruit gelezen uit of geschreven moet worden, wordt via de datalijnen gestuurd en door de DMA-module in het adresregister opgeslagen
  • Het aantal woorden dat gelezen of geschreven moet worden, wordt weer via de gegevenslijnen gestuurd en opgeslagen in het register van de datateller
  • De processor gaat dan verder met ander werk. Het heeft deze I/O-bewerking gedelegeerd aan de DMA module. De DMA-module verplaatst het hele blok van gegevens, één woord per keer, zonder tussenkomst van de processor, rechtstreeks van of naar het geheugen. Als de overdracht is voltooid, stuurt de DMA-module een interrupt signaal naar de processor. Dus is de processor alleen betrokken bij het begin en einde van de overdracht (figuur 1.19c).

    De DMA-werking kan op verschillende manieren worden geconfigureerd. Enkele mogelijkheden worden in figuur 11.3 getoond . In het eerste voorbeeld delen alle modules dezelfde systeembus. De DMA-module, dat als een surrogaat-processor fungeert, maakt gebruik van geprogrammeerde I/O om via de DMA-module gegevens uit te wisselen tussen geheugen en een I/O-module. Deze configuratie, ook als is die goedkoop, is duidelijk niet efficiënt: Zoals met processor gecontrolleerde geprogrammeerde I/O, verbruikt elke overdracht van een woord twee buscycli (verplaatsingsaanvragen gevolgd door overschrijving).

    Het aantal benodigde bus cycli kan aanzienlijk worden verminderd door de integratie van de DMA en I/O-functies. Zoals figuur 11.3b aangeeft, betekent dit dat er een pad is tussen de DMA-module en één of meer I/O-modules dat geen deel uitmaakt van de systeembus. De DMA-logica kan zelfs een gedeelte van een I/O module zijn, of het kan een aparte module zijn die één of meer I/O modules bestuurd. Dit begrip kan ons een stap dichter brengen door de I/O-modules met behulp van een I/O-bus aan te sluiten op de DMA-module (Figuur 11.3c). Dit zal het het aantal I/O-interfaces in de DMA-module verminderen en zal in een gemakkelijk en expandeerbare configuratie voorzien. In al deze gevallen (Figuur 11.3b en 11.3c), wordt de systeembus, dat de DMA-module met de processor en hoofdgeheugen deelt alleen door de DMA-module gebruikt om gegevens met het geheugen uit te wisselen en om besturingssignalen uit te wisselen met de processor. De uitwisseling van gegevens tussen de DMA en I/O-modules vindt plaats buiten de systeembus.

    11.3. Ontwerpkwesties van het besturingssysteem

    11.3.1. Ontwerpdoelstellingen

    Efficiëntie

  • I/O-Apparatuur is veel trager dan processoren
  • Belangrijk voor de totale performantie
  • Generaliteit

  • Uniforme afhandeling van alle apparaten
  • Niet altijd mogelijk door diversiteit
  • 11.3.2. Logische structuur van de I/O functie

    Lagenprincipe

  • Bovenste laag geeft door aan de onderste laag
  • Van gebruiker tot hardware
  • Drie indelingen

  • Lokale randapparatuur
  • Communicatiepoorten
  • Bestandssysteem
  • Soorten functies bij lokale apparatuur en communicatiepoorten:

  • Logische I/O
    Openen/lezen/schrijven/sluiten van en naar een apparaat
  • Apparaat I/O
    Logische opdrachten worden omgezet naar de juist I/O instructies eigen aan het apparaat
  • Plannings besturing
    Plaatsen in wachtrijen en plannen van de I/O-operaties
  • Extra soorten functies bij bestandssysteem:

  • Directorybeheer
    Symbolische bestandsnamen omzetten in identificatiecodes die direct naar het bestand verwijzen
  • Bestandssysteem
    ≈ Logische I/O bij de andere 2 functies
  • Fysieke indeling
    Omzetten van logisch adres naar fysiek adres
  • 11.4. I/O buffering

    Waarom?

    Om gegevens vanuit randapparatuur op te slaan in het hoofdgeheugen en omgekeerd alvorens ze aan een gebruikersproces te geven

     Twee soorten I/O apparaten:

  • Blokgericht
    Gegevens worden in 1 vaste blok tegelijk overgedragen (Schijf, magneetband, …)
  • Stroomgericht
    Gegevens worden overgedragen in 1 stroom van bytes (Terminals, printers, muizen, …)
  • 11.4.1. Single buffer

  • Reading ahead
  • 11.4.2. Double buffer

  • Een buffer voor overdracht naar gebruikersgeheugen
  • Andere buffer kan ondertussen worden opgevuld
  • Efficiënter dan enkelvoudige buffer
  • 11.4.3. Circulaire buffer

  • Variant op dubbele buffer
  • Aantal buffers per proces
  • 11.4.4. Het nut van bufferen

    Buffering is een techniek die pieken in de I/O-vraag uitvlakt. Echter zal geen hoeveelheid buffering een I/O-apparaat toestaan om onbeperkt gelijke tred te houden met een proces wanneer de gemiddelde vraag van het proces groter is dan het I/O-apparaat kan leveren. Zelfs met meer buffers, zullen de buffers uiteindelijk gevuld zijn en zal het proces moeten wachten dat elk stuk van de gegevens verwerkt is. In een Multiprogrammering omgeving, wanneer er een verscheidenheid aan I/O-activiteit is en verschillen procesactiviteit, is buffering een instrument dat de efficiëntie van het besturingssysteem en de prestaties van de afzonderlijke processen kan verhogen.

    11.5. Schijfplanning

    In de afgelopen 40 jaar, heeft de verhoging van de snelheid van processors en het geheugen de toegang tot de schijf ver overtroffen. Met de processor en het hoofdgeheugen snelheden die verhogen door ongeveer twee orden van grootte in vergelijking met een orde van grootte van schijf. Het resultaat is dat de schijven ten minste vier orden van grootte trager zijn dan het hoofdgeheugen. Deze kloof zal naar verwachting doorzetten in de nabije toekomst. Zo is de prestatie van het subsysteem schijfopslag van vitaal belang, en veel onderzoek is besteed aan regelingen voor de verbetering van die prestaties. In dit gedeelte, belichten we enkele van de belangrijkste kwesties en kijken naar de belangrijkste benaderingen. Omdat de prestaties van het schijfsysteem nauw verbonden is met de systeemontwerpkwesties, gaat de discussie verder in hoofdstuk 12.

    11.5.1. Schijfprestatieparameters

    Meerdere wachttijden bij het lezen en schrijven van/naar schijf:

  • Wachten op apparaat
    Tijd die nodig is om het apparaat vrij te geven aan een proces:
  • Wachten op kanaal
    Tijd die nodig is om het kanaal vrij te geven waarop het apparaat is aangesloten
  • Opzoektijd (seek)
    Tijd die nodig om de schrijfarm (met kop) te verplaatsen naar het vereiste spoor
  • Rotatievertraging
    Tijd die nodig om de desgewenste sector binnen het spoor te vinden
  • Overdrachtstijd
    Overdrachtstijd van en naar de schijf
  • 11.5.2. Schijfplanningsbeheer

    Herhalingsvragen

    1. Noem en omschrijf in het kort drie technieken om I/O uit te voeren.
      1. Leesbaar voor de mens: geschikt voor communicatie met de computergebruiker. Voorbeelden zijn printers en grafische terminals die bestaan uit een beeldscherm, een toetsenbord en wellicht andere apparaten, bijvoorbeeld een muis.
      2. Leesbaar voor de machine: geschikt voor communicatie met elektronische apparatuur. Voorbeelden zijn schijf- en magneetbandenstations, sensoren, controllers en actuatoren.
      3. Communicatie: geschikt voor communicatie met apparaten op afstand. Voorbeelden zijn digitale datalijnen en modems.
       
    2. Wat is het verschil tussen logische I/O en apparaat-I/O?
      Logische I/O: De logische I/O-module behandelt het apparaat als een logische systeembron en heeft niets te maken met de bijzonderheden van de feitelijke besturing van het apparaat. De logische I/O-module verzorgt het beheren van algemene I/O-functies voor gebruikersprocessen, waarmee de processen het apparaat kunnen benaderen in termen van apparaatidentificatie en eenvoudige opdracht zoals openen, sluiten, lezen en schrijven.
      Apparaat I/O: De bewerkingen en gegevens (gebufferde tekens, records enzovoort waarom wordt verzocht, worden omgezet in de juiste I/O-instructies, kanaalopdrachten en controlleropdrachten. Buffertechnieken kunnen worden gebruikt om de bezettingsgraad te verbeteren.
       
    3. Wat is het verschil tussen blok- en stroomgerichte apparaten? Geef van beide een paar voorbeelden.
      Blokgerichte apparaten slaan informatie op in blokken die doorgaans een vaste grootte hebben; overdrachten worden met één blok tegelijk uitgevoerd. In het algemeen is het mogelijk een gegevensblok aan te duiden met een bloknummer. Schijven en magneetbanden zijn voorbeelden van blokgerichte apparaten.
      Stroomgerichte apparaten dragen gegevens over als een stroom van bytes, zonder blokstructuur. Terminals, printers, communicatiepoorten, muizen en andere aanwijsapparaten, en de meeste andere apparaten die geen secundaire opslag vormen, zijn stroomgericht.
       
    4. Waarom zal de prestatie verbeteren wanneer bij I/O een dubbele buffer wordt gebruikt in plaats van een enkelvoudige?
      Omdat men dan twee systeembuffers toewijst aan de bewerking. Een proces draagt dan gegevens over naar (of uit) de ene buffer terwijl het besturingssysteem de andere buffer leegt (of vult).
       
    5. Welke vertragingscomponenten spelen een rol bij het lezen of schrijven van of naar een schijf?
      Opzoektijd (seek time), rotatievertraging (rotational delay), overdrachtstijd (access time).
       
    6. Beschrijf in het kort de schedulingstrategie voor schijf, zoals is weergegeven in figuur 11.8.
      FIFO: Elementen van de wachtrij worden verwerkt in de volgorde waarin ze in de wachtrij werden geplaatst.
      SSTF: Selecteer de schijf-/O dat de kleinste verplaatsing van de schijfarm vanaf de huidige positie vereist.
      SCAN: De schijfarm kan slecht in één richting bewegen, waarbij onderweg wordt voldaan aan alle aanvragen, totdat het laatste spoor in die richting is bereikt.
      C-SCAN: Gelijkaardig aan SCAN, maar beperkt het zoeken in één richting. Is het laatste spoor in één richting bezocht, dan keert de arm terug naar het tegenovergestelde einde van de schijf en begint het zoeken opnieuw.
       
    7. Beschrijf in het kort de zeven niveaus van RAID.
      0: Niet-redundant.
      1: Gespiegeld; iedere schijf heeft een spiegelschijf die dezelfde gegevens bevat.
      2: Redundant via Hammingcode; een foutcorrectiecode wordt berekend voor overeenkomstige bitposities op meerdere pariteitschijven.
      3: Gelijkaardig aan raid 2, maar in plaats van foutcorrectiecode wordt een eenvoudige pariteitbit berekend voor de verzameling afzonderlijke bits op dezelfde positie van alle gegevensschijven.
      4: Een bit-voor-bitpariteitstrip wordt berekend voor overeenkomstige strips op elke gegevensschijf en de pariteitbits worden opgeslagen in de overeenkomstige strip op de pariteitschijf.
      5: Vergelijkbaar met raid 4, bij raid 5 worden pariteitbits verdeelt over alle schijven.
      6: Twee verschillende pariteitberekeningen worden uitgevoerd en bewaard in verschillende blokken op verschillende schijven.
       
    8. Wat is een gangbare grootte van een schijfsector?
      512 bytes.

    Probleemvraagstukken

    1. Ga uit van een programma dat één I/O-apparaat gebruikt en vergelijk ongebufferde
      I/O met het gebruik van een buffer. Laat zien dat het gebruik van de buffer de verwerkingstijd maximaal met een factor twee kan verminderen.
    2. Maak het resultaat van opgave 11.1 meer algemeen door uit te gaan van het geval dat een programma n apparaten gebruikt.
    3. Voer hetzelfde soort analyse uit als in tabel 11-2 voor de volgende reeks aanvragen voor schijfsporen: 27, 129, 110, 186, 147, 41, 10, 64 en 120. Veronderstel dat de schijf- kop in eerste instantie boven spoor 100 is geplaatst en zich verplaatst in de richting van de lagere spoornummers. Voer vervolgens dezelfde analyse uit maar veronderstel nu dat de schijfkop zich verplaatst in de richting van de hogere spoornummers.
    4. Ga uit van een schijf met N sporen die genummerd zijn van 0 tot en met N - 1 en veronderstel dat de opgevraagde sectoren willekeurig en gelijkmatig zijn verdeeld over
      de schijf. We willen het gemiddeld aantal sporen berekenen dat bij een opzoekbewerking wordt gekruist.
      1. Bereken eerst de waarschijnlijkheid van een zoeklengte j als de kop op dit moment boven spoor t is gepositioneerd. Aanwijzing: dit is een kwestie van het bepalen van het totale aantal combinaties, waarbij alle spoorposities als bestemming voor de opzoekbewerking even waarschijnlijk zijn.
      2. Bereken vervolgens de waarschijnlijkheid van een zoeklengte K. Aanwijzing: dit vereist twee optellingen van alle mogelijke combinaties van verplaatsingen van K sporen.
      3. Bereken het gemiddeld aantal doorkruiste sporen bij een zoekbewerking met de formule voor de verwachtingswaarde:
      4. Laat zien dat het gemiddeld aantal bij een opzoekbewerking doorkruiste sporen N/3 benadert bij grote waarden van N.
    5. De volgende vergelijking werd genoemd voor zowel cachegeheugen als schijfcachegeheugen:

      Generaliseer deze vergelijking tot een geheugenhiërarchie van N niveaus in plaats van slechts twee niveaus.
    6. Definieer Fnieuw, Fmidden en Foud voor de vervangingsalgoritme op basis van frequentie (figuur 11.11) als de fracties van de cache voor respectievelijk de nieuwe, middelste en oude sectie. Vanzelfsprekend geldt Fnieuw + Fmidden + Foud = 1. Beschrijf de strategie wanneer geldt dat
      1. Foud = 1 - Fnieuw of
      2. Foud = 1/cachegrootte.
    7. Wat is de overdrachtsnelheid van een magnetische tape-eenheid van 9 sporen waarvan de tapesnelheid 120 inches per seconde is en waarvan de tapedichtheid 1600 lineaire bits per inch is?
    8. Ga uit van een 2400-voet tapespoel met de volgende eigenschappen: 0,6 inch ruimte tussen opeenvolgende records; de tape stopt tussen twee leesbewerkingen; de snelheidstoename en afname tijdens stops is lineair; de overige kenmerken van de tape zoals beschreven in opgave 11.7. Gegevens op de tape zijn ingedeeld in fysieke records, waarbij elke fysieke record een vast aantal door de gebruiker gedefinieerde eenheden bevat, de zogenoemde logische records.
      1. Hoe lang duurt het lezen van een volledige tape met 120-bytes logische records in blokken van 10 per fysieke record?
      2. Dezelfde vraag, maar dan bij blokken van 30.
      3. Hoeveel logische records zal de tape bevatten bij elk van de voorgaande blokfactoren?
      4. Wat is de effectieve, algehele overdrachtsnelheid voor elk van de twee voorgaande blokfactoren?
      5. Wat is de capaciteit van de tape?
    9. Bereken hoeveel schijfruimte (in sectoren, sporen en oppervlakken) nodig is voor het opslaan van dein opgave 11.8b gelezen records wanneer de schijf vaste sectoren heeft van 512 bytes/sector, met 96 sectoren/spoor, 110 sporen/oppervlak en 8 bruikbare oppervlakken. Negeer eventuele records voor headers en spoorindexen en veronderstel dat de records niet kunnen overlopen naar een volgende sector.
    10. Ga uit van het schijfsysteem dat werd beschreven in opgave 11.9 en veronderstel dat de schijf roteert met 360 rpm. Een processor leest een sector van de schijf met interruptgestuurde I/O met één interrupt per byte. Als het verwerken van elke interrupt 2,5 ps kost (en de opzoektijd wordt genegeerd), welk percentage van de tijd zal de processor dan besteden aan het affiandelen van I/O?
    11. Herhaal opgave 11.10 met DMA en ga uit van één interrupt per sector.
    12. Een 32-bits computer heeft twee selectorkanalen en één multiplexorkanaal. Elk selectorkanaal ondersteunt twee magnetische-schijfstations en twee magnetischetapestations. Aan het multiplexorkanaal zijn twee regeidrukkers, twee kaartiezers en tien VDT-terminals (video display terminals) verbonden. Ga uit van de volgende overdrachtsnelheden:
          Schijfstation: 800 kilobytes/seconde
          Magnetische-tapestation: 200 kilobytes/seconde
          Regeldrukker: 6,6 kilobytes/seconde
          Kaartlezer: 1,2 kilobytes/seconde
          VDT: 1 kilobyte/seconde
      Schat de gemiddelde, samengestelde I/O-overdrachtssnelheid van dit systeem.
    13. Het zal duidelijk zijn dat het strippen van schijven de overdrachtssnelheid van gegevens kan verbeteren wanneer de stripgrootte klein is in verhouding tot de grootte van een I/O-verzoek. Het zal ook duidelijk zijn dat RAID 0 betere prestaties levert dan één grote schijf, omdat meerdere I/O-verzoeken parallel kunnen worden afgehandeld. Is in het laatste geval echter het strippen van schijven nodig? Dat wil zeggen:
      verbetert het strippen van schijven de I/0-zoeksnelheid ten opzichte van een vergelijkbare schijfarray zonder strippen?