码迷,mamicode.com
首页 > 系统相关 > 详细

linux内核设计的艺术--系统启动第一步

时间:2014-06-22 07:15:37      阅读:304      评论:0      收藏:0      [点我收藏+]

标签:linux内核   操作系统   计算机   

计算机到底是怎样运行起来的呢,在我学习计算机的时候一直不是很明白,但是最近借了本《linux内核设计的艺术》算是知道了计算机从按开机到启动操作系统之间到底做了些什么。

       这本书刚开始介绍的并不是linux的启动,而是linux启动之前的一步,也就是在你按下了开机按钮之后进入系统引导之前计算机做的事情,这个时候做的事情是每台运行操作系统的计算机都需要做的,大致的步骤也差不多,OK,进入正题。

其实在当我们按了开机键的时候,硬件电路将CPU的CS设置成0XF000,IP设置成0XFFF0,因此程序从0XFFFF0开始运行,而0XFFFF0处的指令刚好就是BIOS的第一条指令,于是BIOS开始执行指令,(BIOS程序哪里来的呢?,BIOS是硬件厂家在生产硬件的时候就已经写入到主板的RAM中了,当然现在不是写入RAM了,因为现在的BIOS程序是可以修改的)于是BIOS开始通过一系列指令进行硬件的检查工作,并在0x00000处用1KB的空间构建了中断向量表,在紧跟的256字节处加载了BIOS数据区,在57KB左右的区域加载了终端向量表所对应的中断服务程序,经过了这些操作,BIOS程序会执行一个0x19中断,这个中断的服务程序把软盘中的512B(第一个扇区)加载到了内存的0x07C00处,这样系统就开始执行磁盘的引导程序了,而引导程序所做的工作就是将操作系统的启动程序再加载到内存中。后面一篇再详细介绍linux操作系统加载到内存的过程。

总的流程图差不多就这样:

bubuko.com,布布扣

linux内核设计的艺术--系统启动第一步,布布扣,bubuko.com

linux内核设计的艺术--系统启动第一步

标签:linux内核   操作系统   计算机   

原文地址:http://blog.csdn.net/yang6816110/article/details/32971313

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!