开机加电到执行main函数之前的过程

基本常识:我们的cpu执行的所有程序都得先将该程序加载到内存(RAM)才能执行。同理,计算机os也是一样只有先从软盘中加载到RAM中才能执行。那么我们要想想,既然只有加载到内存中才能执行程序,os都没启动,那么又是什么程序将blos程序加载到内存,让cpu去执行呢?答案是硬件。

开始说说主题,不要扯远了

开机加电到执行main函数之前的过程主要分为三步

第一步:启动blos,准备实模式下的中端向量表和中断服务程序程序

开机加电那一刻,首先运行blos程序。那么blos程序是怎样运行的呢?大家都知道,blos程序是固化在主板上的程序,那么cpu怎样一开机就运行blos程序,软件行不通的话,只有依靠硬件了。intel80X86 运行在16或者32位的实模式下,强行将cs的段地址(oxFFFF0)指向位于主板上的blos程序。也就是blos程序的进程永远是最先的执行pid=1.blos程序的入口地址恰好是0xFFFF0

第二步:blos在内存中加载中断向量表和中断服务程序程序

第三部:加载操作系统内核程序并未保护模式做准备

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值