zoukankan      html  css  js  c++  java
  • 系统启动过程

    1. 开机自检
      按下电源键计算机加载BIOS(计算机上最接近硬件的软件,各家主板制造厂商都会开发适合自己主板的BIOS,其中很重要的一项功能就是开机对自身硬件做一次健康检查,只有硬件没问题,才能运行软件,操作系统本身也是一种软件,这种通电后开始自检的过程叫做 加电自检。Power On Self Test,简称是POST)
    2. 引导系统
      这个动作是BIOS设定的,BIOS默认会从硬盘上的第0柱面,第0磁道,第1个扇区中读取MBR(主引导记录),一个扇区的大小时512字节,存放的一段引导程序的分区信息,其中引导程序部分占用446字节,另外的64字节是磁盘分表区DPT,最后的两个字节是MBR的结束位置。这512字节的空间内容是有专门的分区程序产生的, windows底下的 fdisk.exe。linux底下的fdisk命令,不依赖于任何操作系统,而且MBR中的引导程序是可以修改的。所以可以利用这个特性实现多操作系统共存,由于Redhat,centos 默认使用grub作为其引导系统的程序,而grub本身比较大,所以常见的方式就是在MBR中写入grub地址。这样系统实际会载入grub作为操作系统的引导程序
    3. 运行grub
      根据其配置文件加载kernal镜像,并运行内核加载后的第一个进程/sbin/init,这个进程会根据/etc/inittab表来初始化工作。在这里最重要的就是根据文件中设定的值来确认系统运行的runlevel,默认的runlevel定义在 id:3:initdefault:中,数字3的含义是目前运行级别为3.
    4. 配置系统变量....
      根据/etc/inittab中定义的系统初始化配置 si::sysinit:/etc/rc.d/rc.sysinit执行/etc/rc.sysinit脚本,会配置系统变量,网络配置,启动swap,设定/proc、加载用户自定义模块,加载内核设置
    5. 运行runlevel下的所有脚本
      根据第三部定义的runlevel。会启动对应的服务。例如,为3,会运行/etc/rc3.d/下所有的脚本。
    6. 运行/etc/rc.local
    7. 生成终端
  • 相关阅读:
    HTML5简介
    PHP
    纯CSS3写的10个不同的酷炫图片遮罩层效果
    零基础如何自学MySQL数据库?
    js与jQuery
    MAC下GitHub命令操作
    框架基础:ajax设计方案(二)---集成轮询技术
    框架基础:ajax设计方案(一)---集成核心请求
    框架基础:ajax设计方案(三)---集成ajax上传技术
    Jquery操作下拉列表和复选框,自定义下拉
  • 原文地址:https://www.cnblogs.com/cizao/p/11569368.html
Copyright © 2011-2022 走看看