valve

导航

复习 LINUX启动流程

LINUX启动流程

首先需要了解以下知识:

        定时模式:此模式下,地址访问的都是真实内存地址存在的位置,软件不受限制的操作所有地址的空间与I/O设备

        保护模式:全部使用虚拟内存、段页式等对内存进行保护

        BIOS:BIOS存储在ROM中,起始位置大家可以自行查阅,BIOS主要包括内存映射

        Boot.img:由boot.s编译而成,512字节,安装在启动盘的第一个扇区(MBR),由于空间大小有限,代码简单,起引导作用

 

 

一:从电源启动启动开始到BIOS

       按下电源->主板向电源组发出信号->主板接收到电源正常启动信号后->主板启动CPU,CPU会重置寄存器并初始化数据,同时定时模式->内存段管理

 

二:BIOS到Bootloader

       BIOS选择一个启动设备将控制权交给启动扇区代码,主要工作是使用中断向量与中断服务程序完成整个Bootloader的加载,最终将boot.img加载到xxxx位置启动,linux内核通过对Boot protocol定义实现引导程序

 

三:Bootloader加载流程

       boot.img->core.img->NTFS->/boot/

       加载core之后启动main(),初始化控制台,计算模块基地址,设置root设备,获取grub配置文件,加载模块

 

总结:按下电源,加载完毕bootloader,后面分析从实时模式进入保护模式,从而启动内核创建0、1、2号进程的整个流程。

 

        

posted on 2022-08-26 10:41  奋斗的菜菜  阅读(21)  评论(0编辑  收藏  举报