快速启动

本文详细介绍了UBOOT方式的快速启动原理和实现方法,包括系统启动流程更改、系统状态保存恢复、设备状态处理、系统镜像格式设计以及镜像读写优化。通过在UBOOT中添加bootss命令并调整启动流程,跳过内核初始化,实现快速启动。同时,针对镜像读取速度进行了优化,提高系统启动效率。
摘要由CSDN通过智能技术生成

概述

之所以称为UBOOT方式快速启动,是因为相对于内核方式快速启动,在快速启动的过程中只需经历UBOOT的启动便可进行系统状态的恢复,从而跳过内核的初始化过程。

UBOOT方式快速启动的实现是在内核方式快速启动技术的基础上,修改系统映像格式和写入方式,并在UBOOT中添加bootss命令,调整UBOOT的启动流程。

2 UBOOT方式快速启动原理

2.1 系统启动流程的更改

UBOOT方式快速启动技术中,系统启动过程先后经历UBOOT启动、读取系统镜像和系统状态恢复等阶段。其启动过程同内核方式快速启动技术对比如图所示:

2.2 系统运行时状态的保存和恢复

由于快速启动流程的改变,系统启动过程不再经历内核初始化的步骤,因此要使系统正常运行起来,就需要保存和恢复系统运行时的状态。系统的运行时状态包括:内存状态、处理器寄存器状态、处理器协处理器状态、设备状态等。系统运行是动态的,在保存和恢复的过程中,其它进程必须冻结起来,以免出现进程状态前后不一致的情况。

内存状态不需要全部保存,如free page frames,这就需要建立内存位图用来区分内存页框,标记哪些内存页框应该被保存以及哪些不应该被保存。并且,系统镜像的大小也会随着所要保存的内存映像大小的缩减而减小,进一步提高系统保存和恢复的速度。另外,为了保证文件系统的一致性状态,需要冻结进程之前,对文件系统进行同步操作,将对文件的更改写回外设。

处理器的状态包含18个寄存器(包含R0-R14PCCPSRSPSR)、协处理器、MMUFPU等的状态。这18个寄存器中,PC值指示系统快速启动恢复回来后要执行的下一条语句的地址;R13即是堆栈指针SP,指示堆栈栈顶的位置;CPSR是程序状态字寄存器,用来存储条件标志、中断禁止标志、当前处理器模式标志和其它的一些控制和状态位。SPSR是程序状态保存寄存器,用于保存CPSR的状态,便于在异常中断退出时,用SPSR来恢复CPSR,保证系统能够恢复到异常发生时的状态。

协处理器中,C2中保存的是基地址;C8C10控制TLB内容的清除和锁定;C5C6在内存访问失效时指示其状态和地址。MMU

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值