第一步:加载内核到内存中

本文是作者maios操作系统学习笔记的一部分,主要介绍了如何将软盘中的操作系统内核加载到内存中并执行。作者跳过了装载程序,直接在引导程序中完成加载内核和进入保护模式的工作。通过提供的run.c代码,可以看到整个流程,包括编译内核和引导程序,创建镜像文件,以及使用虚拟机运行操作系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      在 操作系统学习笔记 里基本完成了《自己动手写操作系统》第三章的几个实验(除了分页机制实验外)。下面就要迈开编写自己的操作系统这万里长征的第一步了。

 

      在迈出第一步前,有几件事要简要说明一下。

      首先,为将要实现的操作系统命名为:maios。请不要问我这个名称的含义是什么……

      其次,制作此操作系统的目的是什么,或者所此操作系统的用户是谁。简单的说,maios是为自己开发,给自己使用而设计的一个个人专用操作系统。至于要实现的具体功能什么的,在此就不进行详细说明了。

      最后,关于进度安排与完成期限,嗯,进度安排与完成期限是什么意思来着……

 

      虽说是编写自己的操作系统,但是开头这几步里,基本还是按照《自己动手写操作系统》后面几章的步调慢慢来。

 

      在这一步里的任务就是想办法将软盘(外存)里的操作系统内核加载到内存里面,并且能够将执行权交给内核。

      我们知道,操作系统的启动步骤一般为:处于引导扇区的boot(引导程序)将loader(装载程序)加载到内存里,由loader完成一些必要的初始准备工作,然后才将操作系统的内核加载到内存的适当位置,最后将执行权交给内核……

      但因为是给自己写的操作系统,一开始也没有什么需要初始化的,在此,我就偷懒一下,省略掉loader(装载程序)。直接在boot(引导程序)完成加载内核以及进入保护模式的工作,然后跳转到内核入口点。在以后如果boot无法满足需要后,再添加loader什么的;)

 

以下是相关代码:

code:run.c

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值