BUAA-OS-Lab1
Lab1:操作系统的内核,启动
[toc]
ELF——操作系统内核的本质
链接器通过哪些信息来链接多个目标文件呢?
在目标文件中,记录了代码各个段的具体信息。链接器通过这些信息来将目标文件链接到一起。
ELF是一种用于可重定位文件(如目标文件),可执行文件和共享对象文件的文件格式
- 可执行文件:包含完整程序(所有跳转地址都已确认,可被操作系统直接加载到内存运行),有明确的入口地址。具有程序头表,操作系统据此将文件映射到内存。
- 可重定位文件:包含一些尚未确定具体地址的符号,需要在链接过程中重定位。
- 共享对象文件:代码和数据可被多个程序同时使用,从而减少内存使用。:共享对象文件在程序运行时才会被加载到内存中,而不是在链接时静态地合并到可执行文件中,这样可以省去重复编译。
elf.h
是一个头文件,在类Unix系统里,它定义了ELF文件格式的各种数据结构与常量。借助elf.h
我们能够编写程序来读取,解析,操作ELF文件。
1 | typedef struct { |
1 | typedef struct { |
1 | typedef struct { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Chères étoile!