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登录
    • 图形界面登录
  • 相关阅读:
    JS 弹窗“是否删除”
    input file 保存图片
    Form之action提交不刷新不跳转
    checkbox实现单选
    最近的项目系之2——core3.0整合Autofac
    最近的项目系列1——core整合SPA
    最近的项目之开篇
    短信验证码“最佳实践”
    Asp.net core使用MediatR进程内发布/订阅
    记一次带层级结构列表数据计算性能优化
  • 原文地址:https://www.cnblogs.com/bb9527/p/14284810.html
Copyright © 2011-2022 走看看