Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Bestandskoppeling is het verbinden van de inhoud van een bestand met een deel van de virtuele adresruimte van een proces. Het systeem maakt een bestandstoewijzingsobject (ook wel een sectieobjectgenoemd) om deze koppeling te behouden. Een bestandsweergave is het gedeelte van de virtuele adresruimte dat een proces gebruikt voor toegang tot de inhoud van het bestand. Met bestandskoppeling kan het proces zowel willekeurige als sequentiële invoer en uitvoer (I/O) gebruiken. Hierdoor kan het proces ook efficiënt werken met een groot gegevensbestand, zoals een database, zonder dat het hele bestand in het geheugen hoeft te worden toegewezen. Meerdere processen kunnen ook geheugentoewijzingsbestanden gebruiken om gegevens te delen.
Processen lezen van en schrijven naar de bestandsweergave met behulp van aanwijzers, net zoals met dynamisch toegewezen geheugen. Het gebruik van bestandstoewijzing verbetert de efficiëntie omdat het bestand zich op de schijf bevindt, maar de bestandsweergave zich in het geheugen bevindt. Processen kunnen ook de bestandsweergave bewerken met de functie VirtualProtect.
In de volgende afbeelding ziet u de relatie tussen het bestand op schijf, een bestandstoewijzingsobject en een bestandsweergave.
Het bestand op schijf kan elk bestand zijn dat u in het geheugen wilt toewijzen, of het kan het systeempaginabestand zijn. Het bestandstoewijzingsobject kan bestaan uit alle of slechts een deel van het bestand. Het wordt ondersteund door het bestand op schijf. Dit betekent dat wanneer het systeem pagina's van het bestandstoewijzingsobject verwisselt, eventuele wijzigingen in het bestandstoewijzingsobject naar het bestand worden geschreven. Wanneer de pagina's van het bestandstoewijzingsobject opnieuw in het geheugen worden geladen, worden ze vanuit bestand hersteld.
Een bestandsweergave kan bestaan uit alle of slechts een deel van het bestandstoewijzingsobject. Een proces bewerkt het bestand via de bestandsweergaven. Een proces kan meerdere weergaven maken voor een bestandstoewijzingsobject. De bestandsweergaven die door elk proces zijn gemaakt, bevinden zich in de virtuele adresruimte van dat proces. Wanneer het proces gegevens nodig heeft uit een deel van het bestand dat niet in de huidige bestandsweergave staat, kan de huidige bestandsweergave ongedaan worden gemaakt en vervolgens een nieuwe bestandsweergave maken.
Wanneer meerdere processen hetzelfde bestandstoewijzingsobject gebruiken om weergaven voor een lokaal bestand te maken, zijn de gegevens coherent. Dat wil gezegd: de weergaven bevatten identieke kopieën van het bestand op schijf. Het bestand kan zich niet op een externe computer bevinden als u geheugen wilt delen tussen meerdere processen.
Zie de volgende onderwerpen voor meer informatie:
- Een bestandstoewijzingsobject maken
- een bestandsweergave maken
- bestanden en geheugen delen
- lezen en schrijven vanuit een bestandsweergave
- een object voor bestandstoewijzing sluiten
- beveiliging en toegangsrechten voor bestandstoewijzing
- Gebruik van bestandstoewijzing