首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux 操作系统启动原理

Linux操作系统的启动原理是一个涉及多个步骤的复杂过程,主要包括BIOS/UEFI初始化、引导加载程序(如GRUB)加载内核、内核初始化、运行init进程(系统第一个进程)、初始化系统服务以及启动用户登录界面或命令行界面等阶段。以下是详细的启动流程:

Linux操作系统启动原理

  • BIOS/UEFI初始化:计算机通电后,BIOS或UEFI首先执行硬件自检(POST),检查硬件状态,然后从存储设备中查找操作系统并加载到内存中。
  • 引导加载程序(如GRUB)加载内核:BIOS将控制权交给硬盘的第一个扇区,即MBR,MBR中存储有引导加载程序的信息。GRUB作为二级引导加载程序被激活,支持多操作系统启动,并允许用户选择不同的内核版本启动。
  • 内核初始化:GRUB将Linux内核加载到内存中,内核开始初始化,包括硬件设备的检测和初始化、内存管理子系统的建立、根文件系统的挂载等。
  • 运行init进程(系统第一个进程):内核启动后,第一个用户空间程序/sbin/init被执行,init负责启动其他所有进程,并将系统带到多用户模式。
  • 初始化系统服务:init进程根据配置文件(如/etc/inittab或/etc/systemd/system)设置的运行级别启动系统服务和脚本。
  • 启动用户登录界面或命令行界面:系统服务启动后,init会启动getty程序,生成终端界面,等待用户登录。

启动过程中的关键组件和优势

  • Bootloader:负责加载内核到内存中,不同硬件平台可能使用不同的Bootloader,如GRUB或LILO。
  • 内核:操作系统的核心,负责管理硬件资源和为应用程序提供执行环境。
  • init进程:系统中第一个进程,负责启动其他所有进程,通常由systemd替代传统的SysVinit。
  • 系统初始化脚本:如rc.sysinit和rc脚本,负责设置系统运行级别和启动各种服务。

通过上述步骤和组件,Linux操作系统能够从一个冷启动状态转变为一个功能完备的运行环境,为用户提供了稳定可靠的操作平台。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux操作系统启动流程梳理

接触linux系统运维已经好几年了,常常被问到linux系统启动流程问题,刚好今天有空来梳理下这个过程: 一般来说,所有的操作系统的启动流程基本就是: 总的来说,linux系统启动流程可以简单总结为以下几步...下面就linux操作系统的启动过程做一详细解析记录: 加载内核 操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。...如果打开它,可以看到第一行是这样的: [root@bastion-IDC ~]# cat /etc/inittab .... id:3:initdefault: initdefault的值是3,表明系统启动时的运行级别为...进入 login shell 所谓shell,简单说就是命令行界面,让用户可以直接与操作系统对话。用户登录时打开的shell,就叫做login shell。...用户进入操作系统以后,常常会再手动开启一个shell。

3.2K81
  • Linux操作系统学习,Linux系统启动过程(一)

    本期介绍Linux系统启动过程 Linux启动时我们会看到许多启动信息。 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 1、内核的引导。 2、运行 init。...操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。 运行init init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。...它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。 init进程的一大任务,就是去运行这些开机启动的程序。...Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据"运行级别",确定要运行哪些程序。...Linux系统有7个运行级别(runlevel): 1、运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 2、运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆

    1.7K41

    Linux系统启动过程

    原文:https://www.runoob.com/linux/linux-system-boot.html Linux 系统启动过程 linux 启动时我们会看到许多启动信息。...linux 启动时我们会看到许多启动信息。 Linux 系统的启动过程并不是大家想象中的那么复杂,其过程可以分为 5 个阶段: 内核的引导。 运行 init。 系统初始化。 建立终端 。...操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。 运行 init init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。...图形模式与文字模式的切换方式 Linux 预设提供了六个命令窗口终端机让我们来登录。...---- Linux 关机 在 linux 领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。

    3.3K30

    Linux 系统启动过程

    Linux 系统启动过程 linux启动时我们会看到许多启动信息。 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导。 运行 init。 系统初始化。...操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。...它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。 init进程的一大任务,就是去运行这些开机启动的程序。...Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据"运行级别",确定要运行哪些程序。...Linux系统有7个运行级别(runlevel): 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆 运行级别

    2.8K00

    操作系统启动篇--01

    操作系统启动篇--01 计算机起源 从白纸到图灵机 从图灵机到通用图灵机 从通用图灵机到计算机 打开电源,计算机执行的第一句指令什么?...0x7c00处存放的代码 引导扇区代码: bootsect.s jmpi go, INITSEG 读入setup模块后: ok_load_setup read_it ---> 读入system模块 操作系统启动...SETUPSEG system模块被读取到了0x1000处 最后引导扇区执行结束后,设置ip=0,cs=SETUPSEG,SETUPSEG=0x9020,即setup扇区内存开始的地址 ---- 操作系统启动...中断程序也是改为去查询IDT表,和GDT实现原理一样。 ---- 将system移到0地址处… 如果学习过x86汇编的小伙伴,肯定会产生疑问说,0地址处不应该用来存放中断向量表吗?...---- 进入main函数 main函数是不会退出返回的,上面给出的main代码还少了两句,具体可以参考linux 0.11源码。

    68020

    【深度解析】Linux系统启动流程

    Linux系统启动流程大概总结下来是这么一个过程: POST-->BootLoader(MBR)-->Kernel(硬件探测、加载驱动、挂载根文件系统、/sbin/init)-->init(/etc/inittab...[x] GRUB的功能 1、选择启动的内核映像或操作系统;2、传递参数:e: 编辑模式 b: 引导3、基于密码保护 (这个工具 grub-md5-crypt 可以生成 然后放到grub.conf里面 password...2.6.18-308.el5.img(该文件是一个.gz的压缩文件) 就派上用场了,这个文件也是被GRUB加载内存当中,构建成一个虚拟的根文件系统,这个文件里面包含有硬件驱动程序(),这个文件是可以展开如下操作...server1 test]# [x] 至此内核利用虚拟的根文件系统的ext3.ko内核模块,驱动了硬盘,然后挂载了真正的根文件系统,那么此时虚拟的根文件系统是否还有作用,它还可以挂载/proc文件系统等操作...3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 进一步的启动操作请看

    2.2K60

    白话linux操作系统原理

    虽然计算机相关专业,操作系统和计算机组成原理是必修课。但是大学时和真正从事相关专业工作之后,对于知识的认知自然会发生变化。还很有可能,一辈子呆在学校的老师们只是照本宣科,自己的理解也不深。...所以今天我站在真正排查解决问题时的需要层面,用白话说一说linux操作系统的那些知识。 本文整体采用的是类似递归调用的递进式结构。...linux内核的本质 简单来说如上图所示,咱们平时的应用程序或者linux命令要和操作系统打交道,都要经过一个叫做linux内核的软件。所有的硬件操作都需要通过他。就像古代女子出嫁,都要有媒人。...而linux之父林纳斯最初设计linux内核也是设计成一种保护机制。 为什么说linux内核是一种保护机制呢,这要从冯·诺依曼体系结构说起。...每个进程启动时,操作系统就会给它分配这三个标准的文件描述符。咱们平时用的console控制台就是通过读写这三个文件来实现滴。

    3.7K10

    Linux 系统启动过程(一)

    linux启动时我们会看到许多启动信息。 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导。 运行 init。 系统初始化。 建立终端 。 用户登录系统。...操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。...linux2.png 运行级别 许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。...linux3.png Linux系统有7个运行级别(runlevel): 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 运行级别1:单用户工作状态,root权限,用于系统维护,...linux6.png Linux 关机 在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。

    2.4K20
    领券