zoukankan      html  css  js  c++  java
  • [Linux] 五,引导流程 1

    Linux 引导流程
    课程大纲『
     #1 Linux引导流程
     #2 Linux运行级别
     #3 Linux启动服务管理
     #4 GRUB配置与应用
     #5 启动故障分析与解决

    系统引导流程 『
     固件 firmware(CMOS/BIOS) → POST 加电自检
                     ↓                       
     自举程序 BootLoader(GRUB) → 载入内核       
                     ↓                  
     载入内核 Kernel → 驱动硬件
                     ↓                           
     启动进程 init
                     ↓                           
     读取执行配置文件/etc/inittab

    系统引导流程 『
     固件 firmware(CMOS/BIOS) → POST 加电自检
                     ↓     [CMOS是固化在主板上的那段程序, BIOS 操作CMOS的那个界面]
     自举程序 BootLoader(GRUB) → 载入内核        
                      |      linux-grub /etc/grub.conf / win-ntldr [nt内核代号,loader] bootini [里面记载了启动信息]
                     ↓      载入内核,OS的核心-内核[存储CPU文件进程...管理]-心脏大脑  
                      |      指定linux内核存放的位置。ls /boot
     载入内核 Kernel → 驱动硬件
                     ↓     [内核只做两件事情,1驱动硬件2启动init. 内核保存最多的是驱动程序]
     启动进程 init
                     ↓     [init是第一个可以存在和启动的进程]
     读取执行配置文件/etc/inittab
     ----------------
     说明1 : firmware自检之后,发现硬件们都没有什么问题之后,然后firmware读取
                     MBR[主引导记录],位于0柱面0磁头1扇区,跳到Master boot record去读取数据。载入MBR中一个很重要的数据叫做Bootloader,也称做自举程序或自启动程序
                     下面是 Partition table 磁盘分区表,下面是 Magic Number 结束标志字
     说明2 :    Linux内核是一个源代码文件,解包之后发现是一堆源代码文件,Linux没有编译的内核。自己下载你可以编译升级内核。
     说明3 : init启动后读取inittab文件,执行缺省运行级别,从而继续引导过程。在UNIX系统中,init时第一个可以存在的进程,它的PID恒为1,但它也必须向一个更高级的功能负责:PID为0的内核调度器(Kernelscheduler),从而获得CPU时间。
             扩展 :
                  在Linux里面不允许存在 孤儿进程,在linux系统中init是所有进程的父进程。
                  僵尸进程[Z]  儿子死了,父亲不知道,这个子进程就会变成 Z。
     说明4,: 相关Apache服务的文件 .conf, config的缩写。 有的叫做~tab. table缩写。
                      inittab [ubuntu下没有,但是貌似可以自己创建一个!]
                      windows按F8,类似 runlevel [2,3 NFS网络文件系统 sun开发的一个服务,
                      可以实现 unix和unix的文件共享,不好udp..]
                      0 关机 1 字符单用户 2,3字符界面的多用户模式[广泛使用的服务器的模式] 
                      4 自定义 5 图形化的多用户 6 reboot

    常用固件设置 『
      安全设置
      可引导介质列表
      可引导介质搜索顺序
      电源管理
      启动细节显示
      ......

     firmware 里面有一个硬件时钟
     OS 有一个软件时钟
     要定期同步
     #1 Linux 如何同步
         #date #hwclock     #hwclock --help   选项 hctosys systohc
             如果两者都错误,那么 --set 选项可以设置你的硬件时钟,软件同理。
  • 相关阅读:
    Linux ,Ubuntu 分区建议大小
    [No000019A]【波浪理论精典教学课程】
    CS(计算机科学)知识体
    如何量化考核技术人的KPI?
    Linux系统的命令应该如何记?
    数学和物理太难?这些 GIF 让你秒懂抽象概念
    加密数字货币的 7 个致命悖论
    量子力学中,全体自然数之和是负十二分之一,物理意义是什么?
    30岁左右的人,来谈谈你犯了哪些错误?
    一篇文章学懂Shell脚本,最简明的教程在这里
  • 原文地址:https://www.cnblogs.com/robbychan/p/3787051.html
Copyright © 2011-2022 走看看