随笔分类 -  操作系统

摘要:在Hello DTOS中,使用汇编语言直接基于x86架构的硬件完成了第一个主引导程序,实在是大功一件。Hello DTOS博客中,存在着这样一个问题:在开发的过程中没有任何可用的调试环境,当主引导程序越来越复杂时,出现bug根本没法调试。本篇博客就来搭建高效可用的调试环境 调试环境搭建(上)问题:如 阅读全文
posted @ 2019-10-18 23:22 一代枭雄 阅读(573) 评论(0) 推荐(0)
摘要:如何验证编写的主引导程序?解决方案设计:将汇编源码编译为二进制机器码(nasm)创建虚拟盘(bximage)将二进制代码写入虚拟盘起始位置(dd)在虚拟机中将虚拟盘作为启动盘执行(vmware) 就算编译得到了二进制码,如何将二进制的机器码拿到硬件上面去执行呢?因为没有操作系统,所以必须要使用实际的 阅读全文
posted @ 2019-10-18 22:52 一代枭雄 阅读(282) 评论(0) 推荐(0)
摘要:org 0x7c00 //主引导程序的入口地址为0x7c00(物理地址),类似于用c或c++程序中的main函数。 start: //定义标签,标签的含义就是mov ax,cs这条指令的地址。 mov ax,cs mov ss,ax mov ds,ax mov es,ax 首先将关键寄存器的值设置为 阅读全文
posted @ 2019-10-18 22:05 一代枭雄 阅读(333) 评论(0) 推荐(0)
摘要:主引导程序是软件还是固件?如果是软件,那么由谁开发?如何开发?主引导程序是软件。因为它不是固化于硬件当中的,并不是在出厂之前已经烧到硬件里面去了。因此它必然是软件。既然是软件,那是谁来开发它呢?就目前来看,开发操作系统的程序员应该负责开发主引导程序,因为主引导程序被归为了操作系统代码的一部分了。那这 阅读全文
posted @ 2019-09-27 22:44 一代枭雄 阅读(434) 评论(0) 推荐(0)
摘要:什么是操作系统? 你可能这样认为,windows、unix、linux、macos、Android、ios....都是操作系统。这样的理解并没有错,只不过太肤浅了。 操作系统是直接运行于硬件之上的计算机程序。 操作系统用于管理和控制计算机的硬件与软件资源 操作系统为用户软件的开发提供必要的服务和接口 阅读全文
posted @ 2019-09-27 21:36 一代枭雄 阅读(339) 评论(0) 推荐(0)