Linux启动过程中如何加载硬件? (linux启动加载硬件)

随着计算机技术的不断发展和进步,操作系统也随之不断地优化和完善。Linux操作系统是当前最为流行的一款免费开源操作系统,它的稳定性和灵活性使得它成为了许多服务器和个人电脑的首选操作系统。而在Linux的启动过程中,硬件的加载是一个过程中不可或缺的一部分。那么,Linux启动过程中如何加载硬件呢?本文将为大家逐一讲解。

一、BIOS加载硬件

BIOS是计算机启动的开端。当按下电源按钮,计算机开始进入自检程序,此时,BIOS开始工作。BIOS是计算机上一个非常底层的实体,它主要是用来检查硬件是否齐全、运转是否正常,并寻找并检索启动引导设备。BIOS会寻找计算机硬件连接的所有设备和组件,然后发现和识别它们,并进一步加载和测试它们。它们可以包括内存、硬盘驱动器、鼠标、键盘、打印机、音频硬件等等。

二、固件加载硬件

当BIOS在计算机启动过程中扫描检查硬件设备之后,接下来就会进入固件加载硬件的过程。这些固件可能包括UEFI,它主要是负责加载操作系统及维护系统软硬件环境的稳定性。UEFI主要的工作内容就是初始化硬件,加载内存,然后将硬件信息和操作系统信息传递给操作系统内核。

三、操作系统内核加载硬件

当UEFI将硬件信息和操作系统信息传递给操作系统内核之后,操作系统内核就会加载硬件。在操作系统内核加载硬件的过程中,主要有以下步骤:

1.驱动加载:操作系统内核在加载的过程中,会识别硬件并加载相应的驱动程序。这样,计算机才能够正确地与硬件进行通讯和交互。举例来说,当声卡硬件作系统内核发现的时候,内核会加载声卡驱动程序,这样才能真正实现声音播放。

2.设备树:设备树是一种由内核开发人员开发的数据结构,它主要用于描述硬件的层次式结构以及硬件之间的关系。内核开发人员会将识别到的硬件设备按照特定的层次关系放入设备树的节点中。

3.接口分配:在识别完硬件并加载驱动程序后,内核会从设备树中找到每个硬件节点和相应的驱动程序进行交互,并且为每个硬件接口分配空间以便维护和通讯。

因为Linux系统的开源特点,所以Linux系统的启动是一个非常开放和灵活的过程。而在Linux的启动过程中,硬件的加载是一个非常重要的一环。在启动流程中,通过BIOS、固件和操作系统内核的不同层次的工作,最终实现了各种硬件的正常加载和工作,进而为用户提供了一个稳定、高效、功能丰富的操作系统环境。

相关问题拓展阅读:

Linux之三Linux的启动过程/关机

man ls

man pages手册页

显示说明

数字说明

Ctrl+Alt+F1/F2……F6

Ctrl+Alt+F7,回到图形化界面

who,看看那几个tty连接着

Linux系统有7个运行级别(runlevel):常用的是3和5

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆

运行级别2:多用户状态(没有NFS),没有网络服务

运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式

运行级别4:系统未使用,保留

运行级别5:X11表示控制台,进入图形界面

运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

运行级别

接通电源BIOS自检,按照BIOS中设置的启动设备(通常是硬盘)来启动,操作系统接管硬件以后,

首先读入 /boot 目录下的内核文件。

init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。

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

许多程序需要开机启动。它们在Windows叫做”服务”(service),在Linux就叫做”守护进程”(daemon)。

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

但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。

Linux允许为不同的场乎巧合,分配不同的开机启动程序,这就叫做”运行级别”(runlevel)。

也就是说,启动时根据”运行级别”,确定要运行哪些程序。

============================================================

Linux系统有7个运行级别(runlevel):

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆

运行级别2:多用户状态(没有NFS)

运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式

运行级别4:系统未使用,保留

运行级别5:X11控制台,登陆后进入图形GUI模式

运行级别6:系统正常关闭并重启,默认运行级别不能设为6,梁顷肢否则不能正常启动

在init的配置文件中有这么一行: si::sysinit:/etc/rc.d/rc.sysinit 它调用执行了/etc/rc.d/rc.sysinit,

而rc.sysinit是一个bash shell的脚本,它橡世主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本

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

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

init接下来会打开6个终端,以便用户登录系统。在inittab中的以下6行就是定义了6个终端:

一般来说,用户的登录方式有三种:

(1)命令行登录

(2)ssh登录

(3)图形界面登录

在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机 。

正确的关机流程为:sync > shutdown > reboot > halt

sync 将数据由内存同步到硬盘中

shutdown –h 10 ‘This server will shutdown after 10 mins’ 这个命令告诉大家,计算机将在10分钟后关机,并且会显示在登陆用户的当前屏幕中

Shutdown –h now 立马关机

Shutdown –r now 系统立马重启

reboot 就是重启,等同于 shutdown –r now

halt 关闭系统,等同于shutdown –h now 和 poweroff

最后总结一下,不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中。

重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可。

1 重启Linux,见到下图,在3秒钟之内按下回车

2 三秒之内要按一下回车,出现如下界面

3 按下e键就可以进入下图

4 移动到下一行,再次按e键

5 移动到下一行,进行修改

修改完成后回车键,然后按b键进行重新启动进入系统

6 移动到下一行,进行修改

最终修改完密码,reboot一下即可。

关于linux启动加载硬件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux启动过程中如何加载硬件? (linux启动加载硬件)