Wanneer een gebruiker een applicatie uitvoert, wordt de uitvoerbare code en noodzakelijke gegevens worden overgebracht van het opslagapparaat (zoals een harde schijf of SSD) naar het geheugen (RAM) van de computer. Dit omvat:
* Uitvoerbare code: De instructies die de computer vertellen wat hij moet doen. Dit is het gecompileerde programma zelf.
* Gegevens: Dit kan zaken omvatten als:
* Applicatiegegevens: Informatie die specifiek is voor de applicatie en die kan zijn opgeslagen in bestanden die aan de applicatie zijn gekoppeld.
* Bibliotheken: Voorgecompileerde codemodules die door de applicatie worden gebruikt. Deze worden vaak gedeeld over meerdere applicaties.
* Runtime-omgeving: Componenten die nodig zijn om de applicatie te laten draaien, zoals de Java Virtual Machine (JVM) als de applicatie in Java is geschreven.
* Configuratie-instellingen: Parameters die het gedrag van de toepassing bepalen.
Het besturingssysteem beheert deze overdracht, waarbij aanvankelijk alleen de noodzakelijke delen van de applicatie en de bijbehorende gegevens in het geheugen worden geladen, en indien nodig meer worden geladen (een proces dat paging of demand paging wordt genoemd). Eenmaal in het RAM-geheugen kan de CPU de code snel openen en uitvoeren en de gegevens manipuleren. |