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
Ontdek Study Smart

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
Onthoud sneller, leer beter. Wetenschappelijk bewezen.
Trustpilot-logo