• Centos学习笔记—系统引导


     

    2012-2-13
    linux 引导流程

    1.固件firmware(cmos,bios)-》post加点自检
    2.自举程序Bootloader(grub)-》载入内核
    3.载入内核                  -》驱动硬件
    4.启动进程init              -》系统启动的第一个进程
    5.读取执行配置文件 /etc/inittab

     


    master boot record->MBR主引导扇区 位置:0驻面0磁头1扇区
    插入图片:

    bootloader中存放的是自举程序:
    windows中为:--》ntldr 以及 boot.ini文件中的内容
    linux中为:  --》/etc/grub.conf


    init的工作:

    init启动后读取inittab文件,执行缺省运行级别而继续从而引导过程。在unix系统中
    ,init时第一个可以存在的进程,它的PID恒为1,但他也同时必须向一个更高级的功能负责
    :PID为0的内核调度器(kernel scheduler),从而获得cpu时间
     

     

     


    inittab 文件剖析


    在inittab中,所有的条目采取以下格式:
    id:run-level:action:process
    id:标示符,一般为两位数字或者字母或者数字
    run—level:指定运行级别可以指定多个
    action:指定运行状态
    process:指定要运行的脚本/命令

    action常用取值:

    initdefault:指定系统缺省启动的运行级别
    sysinit:系统启动执行process中的运行级别
    wait:执行process中指定的命令,并等起结束再运行其他命令
    once:执行process中指定的命令,不等待其结果
    ctrlaltdel:按下Ctrl+alt+del时执行process指定的命令
    powerfail:当出现电源错误时执行process指定的命令,不等待其结束
    powerokwait:当电源恢复是执行process指定的命令
    respawn:一旦process指定的命令中止,便重新运行该命名


    任何的系统级别都会起动系统的启动脚本:
    /etc/rc.d/rc.sysinit        


    ls /etc/rc.d/rc3.d 可以看到系统启动对应级别下需要执行的脚本操作
    /etc/rc.d/rc[0123456].d
    分别存放对应于运行级别的服务程序脚本的符号链接,链接到init.d目录中相应的脚本

     

    比如:s12syslog

    s—start
    k—kill
    数字
    脚本名称

    启动流程:插入图片:

     

  • 相关阅读:
    破圈法求最小生成树+最小生成树与最短路径问题
    相信你们的锐意前行,终将成就更美好的未来
    “基于模块化自动驾驶底盘的PIX移动空间”发布
    Node:通过 Uglify 压缩小程序代码
    CSS 实用技巧
    websercie调用方式
    IDEA 添加tomcat启动后控制台乱码解决方案
    对象转json串,json转对象
    js 判断一个变量是数组还是对象
    @Transactional 锁表吗?关于Spring注解@Transactional和SQL for update 的一些观点
  • 原文地址:https://www.cnblogs.com/wuyida/p/6301497.html
Copyright © 2020-2023  润新知