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登录
    • 图形界面登录
  • 相关阅读:
    Nvidia TX2 Robot 环境配置记录
    [DL学习笔记]从人工神经网络到卷积神经网络_2_卷积神经网络
    [DL学习笔记]从人工神经网络到卷积神经网络_1_神经网络和BP算法
    windows重建图标缓存(解决快捷方式图标丢失,图标加载时间长问题)
    tensorflow安装日志(PIP)
    java中字符串的排序(1)
    可行性分析报告
    冒泡,选择,插入,快速排序在Java中的实现
    四则运算法则在Java中的实现
    关于二次方程计算器的程序开发
  • 原文地址:https://www.cnblogs.com/bb9527/p/14284810.html
Copyright © 2011-2022 走看看