Back

Linux概念知识 运行、内核和shell

启动步骤

一:上电与BIOS启动:

上电:打开电源,BIOS(Basic Input/Output System)进行开机自检(POST)BIOS启动:初始化内存等设备,按照启动顺序,启动各个设备

二:加载引导加载程序(Boot Loader):

Boot Loader读取配置文件grub.cfg、lilo.conf等,加载并启动Linux内核到内存,并跳转到内核的入口点开始执行。内核会进行一系列的初始化工作,如初始化硬件设备、建立内存空间的映射图等。

三:执行init进程:

Linux内核启动完成后,会启动第一个用户空间进程init(PID为1)。 init进程会读取/etc/inittab或/etc/systemd/system/default.target等配置文件,确定系统的运行级别(runlevel)。

四:启动系统服务和管理器:

根据运行级别,init进程会启动相应的服务和管理器(如systemd)。 systemd会根据配置文件(如/etc/systemd/system/和/lib/systemd/system/目录下的.service文件)启动相应的服务。

UEFI和Legacy两种启动方式的区别

UEFI Legacy
更快的启动时间 相比UEFI,它的速度较慢
默认GPT 分区方案 默认MBR 分区方案
以 32 位和 64 位运行 16位
允许安全启动,将操作系统(OS)视为应用程序 它不提供允许加载未经授权的应用程序的安全启动方法,未限制双启动

UEK和RHCK内核

二者分别是Unbreakable Enterprise Kernel(UEK)以及Red Hat Compatible Kernel(RHCK) ,RHCK使用与Redhat一样的内核的版本,稳定性与兼容性有保证。 UEK的内核是基于更新的主流内核,同时附加了Oralce很多的加强功能。

Kernel和操作系统、硬件、驱动

内核操作系统的一个核心组成部分,主要用于管理计算机的硬件资源,如CPU、内存、输入输出等。 操作系统是建立在内核之上的一个软件系统,包括了Kernel、系统服务、工具程序和应用程序等,用户通过系统调用程序申请内核相关功能。 内核与计算机硬件交互,提供了操作系统运行的核心功能,如进程管理、内存管理、设备驱动程序等。 驱动又是内核与硬件沟通的桥梁,用于与特定硬件设备进行通信。

Kernel和shell

Shell是用户与操作系统交互的主要接口,会将用户输入的命令通过系统调用(system call)发送给内核(Kernel)。 内核是操作系统的核心部分,负责管理系统资源、提供进程管理、内存管理、设备驱动等核心功能。 内核在接收到Shell发送的命令后,会执行相应的操作,并将结果返回给Shell。从而实现了用户的需求。

用户连接、shell、变量和进程的关系

首先,系统会启动一个shell进程作为用户与操作系统之间的接口。

其次,shell进程启动后,会加载并设置一系列的环境变量。系统级的环境变量和用户级环境变量。

每当用户在shell中输入一个命令并回车时,shell会为该命令创建一个新的进程。这个新进程是shell进程的子进程,它继承了shell进程的环境变量。

PCI连接设备

PCI(Peripheral Component Interconnect)是一种计算机总线标准,用于连接计算机主板和其他硬件设备。PCI连接设备指的是那些通过PCI总线与主板相连的设备。如显卡、声卡、网卡、RAID卡等。

系统的运行级别

运行级别0:系统停机 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆 运行级别2:多用户状态(没有NFS) 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式 运行级别4:系统未使用,保留 运行级别5:图形GUI模式 运行级别6:系统正常关闭并重启

存储在/etc/systemd/system/default.target 通过systemctl set-default xxx修改

Licensed under CC BY-NC-SA 4.0
Built with Hugo
Theme Stack designed by Jimmy
© Licensed Under CC BY-NC-SA 4.0