欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


linuxrpm卸载,简单说明
酷狗提示“下载路径不存在”怎么办
如何查找酷狗音乐榜冠军歌曲
linux网卡配置详解
linux的strace命令
Apache中设置默认首页的方法
shell语句的基本使用
Linux系统中git
sql server 修改系统密码后不能启动
使用Shell脚本批量清除Nginx缓存
Linux系统启动过程介绍(1)
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

   概述

  对操作系统的启动过程一直是比较模糊,想想大概经历检查硬件,加载操作系统,加载

  用户环境等几个过程,但实际上要复杂一些。毕竟我们只是了解和掌握启动过程,而不是去

  对启动过程进行设计和编码,所以下面的介绍相对比较简单,也点到为止。如果有想深入学

  习的同学,可以针对某个或某几个部分刨根问题,编码调试。

  下面以Debian Linux的启动加载为例,简单介绍一下操作系统的启动。

  经历的过程如下:

  开机自检(POST)---->执行基本输入输出(BIOS)---->加载系统分区表数据(MBR开

  始的512字节)---->加载引导程序(grub之类)---->加载Linux内核----->系统环境初始化-----

  ------->用户环境初始化

  开机自检(POST)

  这部分没有什么多余的东西,计算机连上电源用户按下启动按钮后,计算机自己检测CPU,

  内存,硬盘等硬件设备是否处在可用状态。如果可以使用,继续下一步的工作,即将运行权

  交给BIOS,否则利用峰鸣器报警。这也是修理电脑的专家根据蜂鸣器报警声判断系统那里有

  问题的依据。

  执行基本输入输出(BIOS)

  BIOS(Basic Input Output System)基本输入输出程序。该程序完成最基本的硬件位置

  处理,设置硬中断等。然后将MBR最开始的程序调入到CPU上运行,运行权进而交给MBR。

  MBR加载

  MBR(Master boot record),是启动磁盘最开始的512字节,这里包含了分区信息和一

  个引导程序。分区信息记载了磁盘的分区情况,引导程序即是我们比较熟悉的Grub,LiLo等,

  用来指引从什么位置加载内核程序。

  引导程序加载Grub(GRand Unified Bootloader)

  Grub在配置的时候指定在什么分区的什么位置加载内核,Grub2以前的版本中grub都是

  有两个或者多个加载过程的,会去加载stage1,stage1_5,stage2文件,这些文件都在

  /boot/grub目录下。之所以会有这些文件,是因为在加载的早期,一次只能加载512字节,太

  多文件的话,只能分批加载。

  现在,在Grub2中已经找不到这个文件了,加载和引导的过程会另外介绍。

  内核加载过程

  由于在Grub中记录了内核的具体位置,在Grub运行完毕后,就开始加载内核,运行权限随

  之交给内核。

  内核接过运行权限,开始探测系统的硬件,加载硬件对应的驱动(有些以模块运行的驱动,

  是需要挂载文件系统才能加载),然后挂载文件系统,从文件系统中读取数据。

  这个过程的如下:

  内核探测硬件------>加载驱动(initrd)------>挂载根文件系统------>rootfs(/sbin/init)

  系统初始化工作

  最后运行权交给了/sbin/init程序,开始跑初始化的脚本内容。(待续)

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站