00-大概的开发流程


计算机系统引导介绍



前三步:硬件自己完成
后两步:由自己编写


第四步:bios会先检查硬盘第0个扇区(512字节)中是否有引导代码,(通过检查引导标志来确定,即第0扇区的最后两个字节);接着再将第0个扇区的内容加载到内存中,即把引导代码加载到内存中 (暂不考虑磁盘分区的情况)



整体开发工作流程




1. 首先bios会自动加载磁盘的最开始的那个扇区(即boot程序的代码)到内存的0x7c00处


2. 接着需要自己编写,初始化引导程序(即把一些寄存器的值置为0,并把esp寄存器存入地址值0x7c00)这样在初始化之后就可以从内存的0x7c00开始执行已经加载到内存中的boot程序

https://www.cnblogs.com/kakafa/p/18305789


3. 编写boot程序的内容(通过bios的读取磁盘的功能,把loader程序从磁盘上加载到内存的0x8000的位置处)

https://www.cnblogs.com/kakafa/p/18312145


4. 编写boot程序的最后一步(跳转到Loader程序中)

https://www.cnblogs.com/kakafa/p/18318309


5. 编写loader的内容


6. ……




开始编写/简单的介绍


打开一个初始的工程文件,已经包含了 可引导的启动程序:


接下来的任务是:初始化引导程序(即在程序运行之前为变量或者对象设置初始值的过程)(也就是在boot模块的start.s中编写一些赋初始值的语句)

具体内容:https://www.cnblogs.com/kakafa/p/18305789






posted @   卡卡发  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
历史上的今天:
2021-07-16 URL下载网络资源
2021-07-16 UDP多线程-在线咨询
2021-07-16 UDP聊天实现
点击右上角即可分享
微信分享提示