16 lines
790 B
Markdown
16 lines
790 B
Markdown
# 加载程序
|
||
|
||
## 1. 二进制程序装载
|
||
|
||
  在小节,你将了解DragonOS的二进制程序加载器的原理。
|
||
|
||
  DragonOS在装载二进制程序时,执行了“探测-装载”的过程。
|
||
|
||
  在探测阶段,DragonOS会读取文件首部,然后依次调用各个二进制加载器的探测函数,判断该二进制程序是否适用于该加载器。如果适用,则使用这个加载器进行装载。
|
||
|
||
  在装载阶段,DragonOS会使用上述加载器进行装载。装载器会将二进制程序的各个段映射到内存中,并且得到二进制程序的入口地址。
|
||
|
||
:::{note}
|
||
目前DragonOS不支持动态链接,因此所有的二进制程序都是静态链接的。并且暂时支持的只有ELF加载器。
|
||
:::
|