注:本文档为《从0学x86操作系统》课程配套的学习文档,提供相应的辅助学习资料和答疑勘误。 有关该课程的信息,请点击这里访问:https://study.163.com/provider/1017884735/index.htm 在阅读本文档时,如有疑问和建议,欢迎在下方留言或者直接联系我。

本课时的主要目标有两个:

  1. 进一步了解BIOS加载引导程序时对第0扇区最后两个字节的检查
  2. 了解工程模板的整体组织结构以及其各项配置。

    工程模板介绍

    在开发操作系统中遇到的一个比较大的问题是建立良好的工程模板,从而方便程序的开发和调试。因此,我花了很多时间去建立一个易用的工程模板。
    注意:本课时不介绍如何从0建立这样的工程模板,这个过程涉及到的知识点很多,也比较复杂,没法展开细讲。有兴趣的同学,请自行研究。
    image.png
    后续所有的开发工作都将在此工作模板基础之上完成。整个工程中包含了引导程序、加载程序、操作系统以及三个具体的应用进程。
    image.png
    整体的工作流程如下图所示:

  3. 在VIsual Studio Code中编写C源文件、汇编文件、链接脚本

  4. CMake根据配置脚本,调用GCC对源文件进行编译和汇编,调用LD进行链接生成可执行的ELF文件
  5. CMake还会调用OBJCOPY将ELF文件进行缩小,或者转换成BIN文件。
  6. 调试前,Visual Studio Code调用一些小工具将ELF、BIN文件写入磁盘映像
  7. 调试时,QEMU加载磁盘映像文件,然后等待GDB连接。
  8. GDB连接上QEMU,开始正式的调试过程。

    image.png