一、BIOS启动
BIOS(Basic Input/Output System)是电脑系统启动的一项基本服务。当电脑启动时,处理器会首先检查BIOS,BIOS将会根据扫描到的硬件信息,检查所有硬件设备是否运作正常,如果硬件功能有误,BIOS将不允许系统启动。如果硬件设备正常,则会将控制权传给硬盘上的启动块。
<!-- BIOS代码示例 -->
<html>
<head>
<title>BIOS</title>
</head>
<body>
<p>BIOS代码</p>
</body>
</html>
二、Boot Manager
一旦BIOS检测过硬件后,控制权会转移到MBS(Master Boot Record),MBS包含Boot Manager程序,这个程序将显示操作系统列表供用户选择,也就是我们通常所说的多系统启动。如果只有一个操作系统,Boot Manager将直接引导进入到操作系统的启动程序。
<!-- Boot Manager代码示例 -->
<html>
<head>
<title>Boot Manager</title>
</head>
<body>
<p>Boot Manager代码</p>
</body>
</html>
三、Kernel启动
经过Boot Manager引导之后,控制权将会传给kernel启动程序,这个程序将会初始化文件系统、硬件设备和其他关键操作,然后将系统的控制权移交给init程序。
<!-- Kernel代码示例 -->
<html>
<head>
<title>Kernel</title>
</head>
<body>
<p>Kernel代码</p>
</body>
</html>
四、Init进程
在Linux系统中,init是系统进程中最先启动的进程,它是所有其他进程的祖先。init负责启动其他所有的进程以及初始化其运行环境。而且init随着整个系统的运行不断运转,负责管理和监督所有的进程,从而保证系统正常运行。
<!-- Init代码示例 -->
<html>
<head>
<title>Init</title>
</head>
<body>
<p>Init代码</p>
</body>
</html>
五、用户态
最后,当用户成功登录进入系统后,可以通过启动其他进程来进行工作。如果想要关闭系统,用户可以发出关机指令,系统将会关闭所有进程并重新返回到BIOS的状态。
<!-- 用户态代码示例 -->
<html>
<head>
<title>用户态</title>
</head>
<body>
<p>用户态代码</p>
</body>
</html>