30dayos操作系统启动及系统加载

操作系统简介

操作系统是计算机硬件的守护者,综合管理的计算机的所有硬件和软件资源,为使用者提供必要的编程接口和用户界面。如果没有操作系统,计算机就是一堆废铁不能为我所用。操作系统是整个IT产业链的最重要的基础设施之一,透彻的领悟、理解和使用操作系统对一个计算机行业的从业者尤其是码农的重要技能之一。
操作系统的主要功能包括内存管理、进程管理、网络通信、文件系统、用户界面、驱动、安全机制等。

系统的启动和加载

这一章我们主要介绍计算机的启动过程和系统的加载。
系统的启动是指按下电源键后到成功将内核从硬盘加载到内存中,并切换到32位安全模式开始执行内核的整个过程。
当按下计算机的power键的时候,80X86结构的CPU将进入实模式(实模式只支持16位,也就是说BIOS还是在16位基础上运行),并且从地址0XFFFF0开始执行。这个地址通常是ROM-BIOS的地址,我们按下开机键后显示器上显示的第一个闪屏就是BIOS程序的执行的显示信息。BIOS通常会执行某些检测,并且从内存物理地址的0处初始化中断向量。然后BIOS将启动设备的第一个扇区读取到内存的0X7c00处,这个扇区通常是512字节,并且扇区的数据以0x55,0xaa
结尾。由于引导扇区的大小为512字节,远远小于一个操作系统的占用空间的大小,所以我们通常把这512字节作为一个引导程序,引导程序加载操作系统加载程序,然后由加载程序将操作系统内核加载到内存中。

BIOS的历史(引用自)

各种CPU都设计成一加电就从某一个特殊位置开始执行指令,这个特殊位置的程序通常有硬件开发厂商(例如主板厂商)开发并固化到EPROM等不挥发的存储设备中,(感觉应该是这部分程序固化在EPROM中,计算机加电后这部分程序首先加载到内存中,然后计算机从内存的特殊位置开始执行,这个地方有点糊涂,内存是内存,BIOS是BIOS,为什么说EPROM是内存的一部分,他们的寻址没有什么区别呢??)

实模式和安全模式

CPU的中断机制

参考资料

Linux内核完全注释V3.0 赵炯编著
Linux内核源代码情景分析 毛德操 胡希明 著
30天自制操作系统 川合秀实著 周自恒 李黎明 曾祥红 张文旭译
Linux0.01内核分析和操作系统设计 -创作你自己的操作系统 卢军编著

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载声明:本文虽然不是本人100%原创,但也是辛辛苦苦整理的,可以转载,但请注明出处 这篇文章是关于折腾Windo...
    SOMCENT阅读 8,121评论 3 37
  • 所谓操作系统的引导过程是将存放在硬盘上的静态的操作系统装载到内存中,并开始执行操作系统的过程。 第一阶段:BIOS...
    小熊猜猜我有几颗糖阅读 7,248评论 0 9
  • 理论部分 镜像 一、镜像的百科定义 1、维基百科 ISO映像是一种光盘的存档文件(英语:archive file)...
    幻影翔阅读 1,979评论 4 3
  • 经过对Linux系统有了一定了解和熟悉后,想对其更深层次的东西做进一步探究。这当中就包括系统的启动流程、文件系统的...
    大福技术阅读 1,790评论 0 13
  • 小汐 《离婚律师》中一段经典台词:我认真做人努力工作,为的就是有一天当站在我爱的人身边,不管他富甲一方还是一无所有...
    芄子没樱桃阅读 326评论 0 0