一、项目设计目的
       熟悉ELF文件格式,了解GeekOS系统如何将ELF格式的可执行程序装入到内存,建立内核进程并运行的实现技术。
二、项目设计要求
   1、修改/geekos/elf.c文件:在函数Parse_ELF_Executable( )中添加代码,分析ELF格式的可执行文件(包括分析得出ELF文件头、程序头,获取可执行文件长度,代码段、数据段等信息),并填充Exe_Format数据结构中的域值。
  2、在Linux环境下编译系统得到GeekOS镜像文件。
  3、编写一个相应的bochs配置文件。
  4、在bochs中运行GeekOS系统显示结果。


在此项目中,GeekOS需要从磁盘加载一个可执行文件到内存中,并且在内核线程中执行此程序。我们需要做的就是完成/geekos/elf.c中Parse_ELF_Executable函数,把EXE文件的内容填充到指定的Exe_format格式的区域。

/geekos/elf.c中Parse_ELF_Executable函数的定义如下:

int Parse_ELF_Executable(char *exeFileData, ulong_t exeFileLength, struct Exe_Format *exeFormat)

相关文章:

  • 2021-10-06
  • 2021-07-06
  • 2022-01-08
  • 2022-12-23
  • 2021-08-05
  • 2021-09-11
猜你喜欢
  • 2021-11-23
  • 2022-12-23
  • 2021-05-18
  • 2021-10-22
  • 2021-08-02
  • 2021-06-25
  • 2022-12-23
相关资源
相似解决方案