1/49
Looks like no tags are added yet.
Wat is de rol van een besturingssysteem (OS)?
Het biedt abstractie, beheert en maakt I/O-apparaten toegankelijk via een gebruiksvriendelijke interface.
Hoe ziet de interface van een OS voor I/O devices eruit?
Het is een interface die zoveel mogelijk consistent is voor alle apparaten.
Wat zijn de twee soorten I/O devices?
Block devices en character devices.
Wat is een kenmerk van block devices?
Data wordt opgeslagen in vaste grootte blokken, elk met een eigen adres en kan apart worden gelezen of geschreven.
Wat is een kenmerk van character devices?
Data wordt als een stroom van karakters behandeld en is niet adresseerbaar, wat geen seek mogelijk maakt.
Geef voorbeelden van block devices.
HDD's en USB-sticks.
Geef voorbeelden van character devices.
Printers, netwerkinterfaces (NIC’s), en muizen.
Wat zijn device controllers?
Electronische componenten van een apparaat die de communicatie tussen het apparaat en de computer beheren.
Waar is de device controller meestal te vinden?
Op het moederbord of op een controllerkaart
Hoe vindt de verbinding met I/O devices meestal plaats?
Via kabels en vaak volgens standaarden zoals SATA, SCSI, of USB.

Vul de foto aan: (I/O hardware)
1 Bus
2 CPU MMU
3 Memory
4 Video Controller
5 Keyboard controller
6 USB controller
7 Hard disk controller

Wat is de rol van device controllers in I/O hardware?
Ze zorgen voor de communicatie tussen de controller en het apparaat, meestal op een zeer laag niveau.
Welke taken voert een block device controller uit?
Omzetten van de seriële stream naar block, uitvoeren van de checksum en kopiëren van data naar RAM.
Wat is memory-mapped I/O?
Een methode waarbij elke controller registers heeft voor communicatie met het OS, waarbij het OS commando's geeft door in de registers te schrijven en statusinformatie uitleest.
Wat is het doel van I/O software?
Het biedt device independence, uniforme naamgeving en error handling.
Wat houdt device independence in?
Toegang tot I/O is onafhankelijk van het type apparaat.
Wat is uniforme naamgeving in I/O software?
Benaming van apparaten is onafhankelijk van het type apparaat, zoals bij Windows versus Linux.
Wat is error handling in I/O software?
Fouten worden zoveel mogelijk door de hardware en op een laag niveau afgehandeld.
Wat is het verschil tussen synchronous en asynchronous I/O?
Synchronous is blocking, waarbij het OS wacht op een interrupt, terwijl asynchronous interrupt-driven is.
Waarom is buffering belangrijk in I/O software?
Inkomende data moet vaak eerst worden opgeslagen voordat deze kan worden doorgestuurd, zoals bij NIC's en audio.
Wat is het verschil tussen sharable en dedicated devices?
Sharable devices kunnen door meerdere gebruikers tegelijk worden gebruikt, terwijl dedicated devices dat niet kunnen.
Wat zijn de drie I/O methodes?
Programmed I/O, interrupt driven I/O en DMA I/O.
Wat gebeurt er bij programmed I/O?
Het OS kopieert data naar het data register van de device controller en controleert continu de status totdat deze beschikbaar is.
Wanneer is programmed I/O acceptabel?
Wanneer de CPU geen andere taken heeft of als de wachttijd zeer kort is.
Wat is een nadeel van programmed I/O?
Het is CPU-intensief en kan leiden tot tijdsverlies als er andere taken zijn.
Wat is het proces bij interrupt-driven I/O?
De CPU start een ander proces terwijl er op een interrupt van de device controller gewacht wordt.
Wat gebeurt er met de caller (user program) tijdens interrupt-driven I/O?
De caller wordt geblokkeerd terwijl de CPU wacht op de interrupt.
Hoe verwerkt de CPU data bij interrupt-driven I/O?
De CPU moet elke letter één voor één doorgeven aan de device controller.
Wat is het voordeel van DMA I/O?
De CPU is vrij voor andere processen terwijl de DMA controller data doorgeeft aan de device controller.
Hoe werkt de DMA controller?
De CPU schrijft data naar de DMA controller, die het vervolgens naar de device controller stuurt via programmed I/O.
Wat zijn de stappen in de werking van DMA?
De stappen herhalen zich tot het hele proces is afgerond, waarna een interrupt naar de CPU wordt gestuurd.
Wat gebeurt er met de data na een interrupt van de DMA?
De data is al naar RAM gekopieerd door de DMA, zodat de CPU dit niet meer hoeft te doen.
Wat is een nadeel van DMA?
De DMA controller is veel trager dan de CPU, wat soms kan leiden tot verlies van snelheid.
Wat is de structuur van I/O software lagen?
Elke laag heeft een duidelijk afgebakende taak en een specifieke interface met de boven- en onderliggende lagen
Wat zijn interrupt handlers?
Software die reageert op interrupts, vaak met complexe systemen van stappen en CPU-instructies.
Wat is de rol van device drivers?
Device drivers gebruiken eigen registers voor data en status, en zijn specifiek voor elk apparaat en type OS.
Waarom zijn er aparte drivers voor elk device?
Omdat registers sterk afhankelijk zijn van het type device (bijvoorbeeld muis versus HDD).
Wie levert meestal de device drivers aan?
Meestal worden ze aangeleverd door de fabrikant van het apparaat.

Vul de foto aan: (interrupt-driven I/O)
1 Device is finished
2 Controller issues interrupt
3 CPU acks interrupt


Vul de foto aan: (DMA werking)
1 CPU programs the DMA controller
2 DMA requests transfer to memory
3 Data transferred
4 Ack


Vul de foto aan: (I/O software lagen)
1 User program
2 User process
3 User space
4 Kernel space
5 Hardware
6 Devices

Wat is de structuur van device drivers?
Soms een gelaagde structuur, met onderste lagen identiek voor verschillende devices, bijvoorbeeld bij USB.
Waar zijn device drivers meestal onderdeel van?
Meestal onderdeel van de OS-kernel, soms in user-mode voor stabiliteit (bijvoorbeeld Minix)
Wat zijn de twee soorten device drivers?
Block en character drivers.
Wat is de functie van een uniforme interface voor drivers?
Het zorgt ervoor dat elk nieuw device dezelfde interface gebruikt, zonder aanpassingen aan de kernel.
Wat moet het OS doen met hot-pluggable devices?
Lopende opdrachten en opdrachten in de queue netjes wegwerken en de onbeschikbaarheid van het apparaat melden.
Wat mogen device drivers niet uitvoeren?
Ze mogen geen system calls uitvoeren.
Wat is de rol van device independent OS software?
Zorgt voor een uniforme interface voor drivers en legt een vaste set functies per device klasse vast.
Hoe is de uniforme interface voor drivers vastgelegd?
In een tabel met pointers naar de functies in de driver, waarvan het adres in het OS is opgenomen.
Wat is de functie van de symbolische device name in de uniforme interface?
Het wordt gemapped naar een major device number (welke driver) en een minor device number (welk device voor deze driver).