做网站后期要收维护费吗,上海骏域网站建设专家,wordpress 导航站模板下载地址,软件开发过程包括☞ 通用计算机启动过程
1️⃣一个基础固件#xff1a;BIOS
一个基础固件#xff1a;BIOS→基本IO系统#xff0c;它提供以下功能#xff1a;
上电后自检功能 Power-On Self-Test#xff0c;即POST#xff1a;上电后#xff0c;识别硬件配置并对其进行自检#xff0c…☞ 通用计算机启动过程
1️⃣一个基础固件BIOS
一个基础固件BIOS→基本IO系统它提供以下功能
上电后自检功能 Power-On Self-Test即POST上电后识别硬件配置并对其进行自检保证正常运行和初始化基本IO驱动与事件处理功能初始化并驱动硬件如显示器、串口、键盘等接口使能基本的中断启动参数设置功能过程中允许通过热键启动设置界面进而对CMOS RAM中的启动参数进行配置。CMOS RAM等效于BBSRAM存放启动配置数据电池掉电后数据丢失系统自动装载功能在系统自检成功后根据启动顺序将相应启动设备主引导记录MBR一般位于0磁道的0扇区大小为512字节的引导程序装入内存并从入口地址运行
2️⃣WIndows操作系统启动过程
① 系统上电或复位X86处理器复位——代码段寄存器CS为0xFFFF指令指针寄存器IP为0x0000CS:IP地址存放下一条跳转指令跳转至ROM中BIOS入口地址0xFFFFFFF0复位向量地址并启动BIOS。 ② BIOS上电自检若出现错误则初始化基本硬件允许用户进行参数配置。 ③ BIOS将第1个启动设备的第1个扇区加载到系统RAM的0x7C000地址启动MBR中的引导程序进入引导的第一个阶段。 ④ 调用 Windows MBR Loader 或 LILO GRUB WinGrub等引导程序进入引导的第二个阶段。 ⑤ 引导程序调用 OS Boot Loader 把用户选择的操作系统内核加载到内存并跳转到操作系统入口地址开始执行。 此时计算机的控制权交给了操作系统基本启动过程完成。
☞ 嵌入式系统启动过程
MCS-51 MCU 上电复位后PC寄存器的初值为0x0000。0000H0001H0002H这三个单元存放了一条无条件跳转指令当从该地址执行时将直接跳转到主程序的入口地址。 arm处理器复位后将从0x00000000地址处开始执行指令。
1️⃣处理器片内集成启动固件——嵌入式系统启动
① 上电程序引导 片内集成独立 Boot ROM (Brom)代码 Rom Boot Loader (RBL) 支持从 NAND Flash、SPI、UART 等外部接口启动。
加电后处理器将从该ROM的复位向量地址开始执行RBL通过判断处理器特定引脚的电平来进入正常启动模式或开发模式RBL获取下一步要执行的代码并将其复制到SRAM或SDRAM中引导执行
② 嵌入式操作系统装载 嵌入式操作系统的引导也需要特定的机制和软件支持即 Boot Loader。
复位后将 Boot Loader 代码从Flash 拷贝到SDRAM的特定区间并引导执行Boot Loader 程序执行一系列基本的硬件初始化工作将自身拷贝到SDRAM中RAM中的 Boot Loader 继续执行为操作系统的运行做好环境准备并将外部存储器中的操作系统内核映像及根文件系统映像拷贝到内存中的代码数据空间设置内核启动参数跳转至内核入口地址开始执行。
2️⃣裸机
直接部署在嵌入式硬件上的软件称为裸机代码或裸机应用软件。一般来说都是些无限循环结构比如空调、冰箱等嵌入式系统。通过板级支持包BSP向下屏蔽硬件的细节向上提供统一的服务和接口。没有操作系统通过中断来实现多任务运行。
☞ Linux系统启动过程
计算机接通电源上电后需要经过BIOS加电自检、MBR系统引导、加载内核三步之后操作系统才会启动。
1️⃣BIOS加电自检
BIOS全称 Basic Input/Output System即基本输入输出系统它是一个被永久刻录在ROM中的软件加电自检是指 Power On Self TestPOST属于BIOS的主要组成部分。计算机在接通电源后BIOS通过POST来加载硬件信息进行内存、CPU、主板等检测如果硬件设备正常工作BIOS会寻找硬盘第一个扇区中存储的数据并使用MBR中的数据激活引导加载程序。
2️⃣MBR系统引导
MBR全程 Master Boot Recode是一种磁盘分区格式也是以此种格式的磁盘中0盘片0扇区中存储的一段记录——主引导记录。磁盘中扇区的大小为512byte主引导记录MBR占据第一个扇区的前446字节剩余的空间依次存储一个64字节的磁盘分区表和一个用于标识MBR是否有效的2字节的模数。主引导记录MBR中包含一个实现引导加载功能的程序——Boot Loader。由于BIOS只能访问很少量的数据所以MBR中的引导加载程序其实只是一段初始程序的加载程序 Initial Program LoaderIPL这段程序唯一的功能就是定位并加载 Boot Loader 的主体程序。加载引导分为两个阶段 第一阶段BIOS引导IPL获取 Boot Loader 主题程序在磁盘中的位置此时系统启动的控制权由BIOS转移到MBR第二阶段Boot Loader 主题程序与操作系统对应的内核定位到内核文件所在的位置并将其加载到计算机内存中此时系统启动的控制权由MBR转移到内核。
3️⃣加载内核
内核是操作系统的核心Linux操作系统的内核就是Linux。内核以一种自解压的压缩格式压缩它与一个初始化的内存映像和存储设备映像表一起存储在 /boot 目录下。在选定的内核被加载到内存中并开始执行前需要先从压缩格式中解压一旦内核自解压完成systemd进程也就是早期版本中的init进程便被启动。systemd进程的启动标识着引导过程的结束也标识着启动过程的开始。在系统启动之初由于系统中没有除systemd之外的程序执行系统初始化工作尚未完成因此计算机不能执行任何和用户相关的功能性工作。系统初始化需要进行挂载文件系统、启动后台服务等等一系列工作这些初始化工作全部由systemd进程完成。对于用户来说系统初始化完成后系统才算正式启动。
4️⃣附init进程启动级别
系统启动流程 BIOS → MBR → boot loader → kernel → init BIOS → MBR → GRUB → kernel → init
BIOS找到启动介质 - 移动硬盘、磁盘、U盘等找到启动介质后读取其中的第一个扇区MBR第一个扇区512字节称为主引导记录。主引导记录分为3部分前446byte是引导信息后64byte是磁盘分区信息最后2byte是标志位。MBR的作用是找到 boot loader 。GRUP是一种 boot loader 用于加载kernel核心信息。kernel内核。init内核的第一个程序分为7个启动级别。
查看启动级别配置文件
cat /etc/inittab #查看启动级别相关的配置文件inti命令可以切换系统的启动级别
inti 0/1/2/3/4/5/60表示关机不能设置为开机默认启动级别1表示单用户2表示多用户无网络的3级别3多用户命令行模式字符终端4用于开发5图形界面默认启动方式6reboot不能设置为开机默认启动级别
runlevel #查看系统的启动级别