Virtual-Memory Management - Memory-Mapped Files
4 belangrijke vragen over Virtual-Memory Management - Memory-Mapped Files
Wat houdt memory-mapped files in en waarom wordt dit toegepast?
Memory-mapped files houdt in dat een file ('disk block') wordt afgebeeld op een of meer pagina's in het geheugen. Lees- en schrijfacties voor de file kunnen nu worden afgehandeld als standaard geheugentoegang, in plaats van met system calls. Op deze manier wordt de performance van I/O significant verbeterd. Daarnaast biedt het een mogelijkheid voor processen om files te delen.
Wat houdt memory-mapped I/O in?
Bij memory-mapped I/O worden de device-registers van een I/O-controller afgebeeld op het geheugen. Lees- en schrijfacties kunnen nu uitgevoerd worden op het geheugen, zodat er geen speciale I/O-instructies nodig zijn voor de uitwisseling van data tussen de deviceregisters en het systeemgeheugen.
Hoe kunnen twee processen in Windows (Win32-API) communiceren via memory-mapped files?
Het versturende proces:
- Creëert een file (CreateFile);
- Creëert een shared-memory object (CreateFileMapping);
- Creërt een view naar de file (MapViewOfFile);
- En plaatst een bericht in het shared-memory object.
Het ontvangende proces:
- Opent het shared-memory object (OpenFileMapping);
- Creëert een view naar de file (MapViewOfFile);
- En leest het bericht.
- Hogere cijfers + sneller leren
- Niets twee keer studeren
- 100% zeker alles onthouden
Bij I/O moet de CPU weten of het I/O-device gereed is om data te ontvangen. Op welke twee manieren kan dit gerealiseerd worden?
- Programmed I/O: de CPU inspecteert periodiek door middel van polling de control bit van het device
- Interrupt driven: de CPU ontvangt een interrupt als het device gereed is.
De vragen op deze pagina komen uit de samenvatting van het volgende studiemateriaal:
- Een unieke studie- en oefentool
- Nooit meer iets twee keer studeren
- Haal de cijfers waar je op hoopt
- 100% zeker alles onthouden