D_D系统构建-开发文件目录结构

来源:互联网 发布:海康云台控制键盘网络 编辑:程序博客网 时间:2024/05/18 10:11

开发一个软件,首先要规划好它的组成,就像建造房子一样,先有下图纸蓝图,然后依据这个蓝图慢慢增加砖头水泥等,最终成为实品。我们的开发软件亦是如此,但我们的会非常简单,毕竟只是探索下系统原理即可 。

按照之前所述,我们的软件会包括mbr loader core user-app,同时还包括一个写文件的小工具。这样就很清晰,目录就按照如下进行设计:

各目录的作用如下:

app:用户程序目录,类似于我们自己安装 的应用程序,我们的用户进程将放在这里面。

boot: MBR程序目录,系统上电后第一个自动加载的程序

include:头文件目录,常用的头文件放在此目录中

kernel:core目录, 我们的最终文件管理,用户程序调度,中断处理都在这里面

loader:loader目录,用来加载kernel,自身由mbr加载 

release:最终生成程序目录,包括mbr loader core app tools

tools:各种开发工具,比如文件系统读写初始化放在这里面

bochsrc: bochs支持的配置文件,由它指定cpu内存,磁盘,加载磁盘等与计算机相关的配置。相当 于一个电脑的清单。bochs工具通过此配置文件来进行电脑硬件加载 

build_all.sh: sh脚本,可通过它来编译mbr loader core app tools等,也可通过它来将上述文件按照文件系统组成写入磁盘,方便bochs直接运行

env.sh:sh脚本,由build_all.sh自行支持,设置环境变量,比如各种编译路径,头文件路径等。

os.img:虚拟磁盘,bochs加载的磁盘,我们所有的Mbr loader core app都 写在这个磁盘中。

test.img:虚拟磁盘,os.img的备份,当前没有用到。


目录架构有了,下一步操作就是按照目录架构进行内容填充,直到最终实现我们的用户程序能自由运行,自由切换。

下一章节我们从boot入手,开始打造我们自己的mbr.在后面的章节中,我们也会对nasm shell makefile bochs等逐步介绍。

原创粉丝点击