深入操作系统-01环境创建
要开发一个操作系统,搭建开发环境是必不可少的,本篇文章就介绍如何使用Linux、bochs搭建开发环境。
注意:本文章还没有涉及到C语言,所以环境搭建没有涉及到这部分,将会在后续进行补充。
开发流程
在不考虑其它的情况下,先要知道一个OS源码最后要怎么在机器上运行。
- 编写一个汇编源码文件(a.asm)
- 使用nasm把汇编文件a.asm编译成二进制文件a.bin
- 把二进制文件a.bin写入到磁盘中(在开发环境中即a.img)
- 在bochs使用已写入汇编源码的磁盘(a.img)进行测试运行
即源码文件经历了如下流程:.asm -> a.bin -> a.img
现在已经整个开发流程有了一个基本的认知了,下面逐一讲解需要用到的工具。
Linux
是基本的编译环境,其次把编译好的二进制文件写入到磁盘中也需要用到Linux中的指令,即源码的编译与文件的写入都离开不了Linux。
Nasm
是一个汇编指令的编译软件,能把汇编文件编译成二进制文件。
Bochs
已经写好的程序该放到哪里运行呢?放到自己的电脑上,程序有故障怎么办!所以最好的办法是使用虚拟机,可以随便折腾,有问题也不怕,但是我们需要调试程序,所以使用普通的虚拟机也不行。
因此使用bochs就是一个极好的选择,既是虚拟机又带有调试功能。
在这里省略bochs的安装过程,主要看看使用bochs时需要用到的配置文件(注意:文件后缀是bxrc的就是bochs用到的配置文件,例:bochsrc.bxrc)
1 | # 为虚拟机分配的内存(RAM)大小,默认单位是MB |
注意:上文中提到的$BXSHARE即为bochs的安装目录。
通过配置文件可以知道,要运行我们自己写的操作系统,只需要在配置文件中的磁盘列表加入我们创建的磁盘,并在以到磁盘项中选择我们的磁盘,然后运行bochs即可。
总结
以上便是开发一个操作系统需要的基本开发环境,目前涉及到的C语言部分将在后面完善。