gem-universe / blog

0 stars 0 forks source link

[操作系统]21. 可执行文件和加载(1) #25

Open supergem3000 opened 8 months ago

supergem3000 commented 8 months ago

21. 可执行文件和加载 (jyywiki.cn)

可执行文件

一个操作系统中的对象(文件)、一个字节序列、一个描述状态机初始状态的数据结构。 加载最小可执行文件:直接把代码mmap到内存,跳转过去即可。

静态链接和加载

ELF Loader,解析数据结构,创建进程初始状态,跳转执行。 静态链接,编译时会把未连接、要跳转到内容地址填0,等链接器去填值。

动态链接和加载

拆解应用程序等需求,实现运行库和应用代码分离。 大型项目内部也可以分解,编译一部分,不用重新链接。