Program loader
Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den
version , der blev gennemgået den 10. oktober 2016; checks kræver
5 redigeringer .
Loader ( engelsk loader ) - i datalogi , et program, der er ansvarlig for at indlæse eksekverbare filer og starte de tilsvarende nye processer . Det er normalt en del af operativsystemet , men det kan også være et uafhængigt program - for eksempel tillader operativsystemet at køre programmer kompileret til andre operativsystemer (se også: emulatorer , WINE ).
Når du starter et nyt program, skal bootloaderen:
- Læs data fra eksekverbar fil .
- Indlæs om nødvendigt de manglende dynamiske biblioteker i hukommelsen .
- Erstat relative adresser og symbolske links i koden for det nye program med nøjagtige, under hensyntagen til den aktuelle placering i hukommelsen, det vil sige udfør adressebinding ( eng. Relocation ).
- Opret et billede af en ny proces i hukommelsen og planlæg den til udførelse.
Operativsystemindlæseren fungerer efter et lignende princip, men er normalt et separat program, da det løser en bestemt opgave - at starte selve operativsystemet.
Se også
Links
- Sådan køres programmer: ELF binære filer Arkiveret 10. oktober 2016 på Wayback Machine / LWN, 2015
- ld.so, ld-linux.so* - dynamisk linker/indlæser Arkiveret 22. juni 2018 på Wayback Machine , Linux man-sider
- environ, execl, execv, execle, execve, execlp, execvp - kør en fil Arkiveret 1. september 2016 på Wayback Machine / The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition (engelsk)