zoukankan      html  css  js  c++  java
  • Linux开机启动程序

    Linux系统启动过程

    • 内核的引导
    • 运行init
    • 系统初始化
    • 建立终端
    • 用户登录系统
    init程序的类型:
           systemd: systemd ,Centos7,配置文件:/usr/lib/systemd/system、/etc/systemd/system
    

    内核引导

    ​ 当计算机打开电源后,首先是BIOS开机自检,按照BIOS种设置的启动设备(通常是硬盘)来启动。

    ​ 操作系统接管硬件以后,首先读入/boot目录下的内核文件。

    运行init

    ​ init进程是系统的所以进程的起点,没有这个进程系统种任何进程都不会启动。

    ​ init程序首先是需要读取配置文件/etc/inittab。

    运行级别

    ​ 许多程序需要开机启动。在Windows种叫做服务(service),在Linux中交战守护进程(daemon)。

    ​ init进程的一大任务,就是去运行这些开机自启的程序。

    ​ 但是不同的场合需要启动不同的程序,Linux允许为不同的场合,分配不同的开机启动程序,这就叫做运行级别(runleve)。也就是说,启动时根据运行级别,确定要运行那些程序。

    ​ Linux系统有7个运行级别:

    • 运行级别0:系统停机状态
    • 运行级别1:单用户工作状态,用于系统维护,禁止远程登录,可以进入后修改密码。
    • 运行级别2:多用户状态(没有NFS)。
    • 运行级别3:完全多用户状态(有NFS),常用级别,登录后进入控制命令行模式。
    • 运行级别4:系统未使用,保留
    • 运行级别5:图形模式
    • 运行级别6:关机重启

    系统初始化

    ​ 在init的配置文件中有这一行,si::sysinit:/etc/rc.d/rc.sysinit 他调用执行了/etc/rc.d/rc.sysinit,而rc.sysinit时一个bash shell的脚本。它主要时完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要运行的重要脚本。

    ​ 它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其他一些需要优先执行的任务。

    建立终端

    rc执行完毕后,返回init。这时基本环境已经设置好了,各种守护进程也已经启动了。

    init接下来会打开6个终端,以便用户登录。

    用户登录系统

    • 命令行登录
    • ssh登录
    • 图形界面登录
  • 相关阅读:
    android 多线程
    Uva 10881 Piotr’s Ants 蚂蚁
    LA 3708 Graveyard 墓地雕塑 NEERC 2006
    UVa 11300 Spreading the Wealth 分金币
    UVa 11729 Commando War 突击战
    UVa 11292 The Dragon of Loowater 勇者斗恶龙
    HDU 4162 Shape Number
    HDU 1869 六度分离
    HDU 1041 Computer Transformation
    利用可变参数函数清空多个数组
  • 原文地址:https://www.cnblogs.com/bb9527/p/14284810.html
Copyright © 2011-2022 走看看