当前位置: 首页 > 专利查询>浙江大学专利>正文

嵌入式操作系统硬件镜像启动优化的实现方法技术方案

技术编号:2850348 阅读:288 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种嵌入式操作系统硬件镜像启动优化的实现方法。在嵌入式操作系统结束运行时,不是直接的结束,而是将正在运行的操作系统的状态保存下来,与操作系统微内核一起保存在处理器的片内存储器上,在启动的时候直接加载,回复到嵌入式操作系统结束时的运行状态。本发明专利技术的方法可以显著加速系统引导和重新启动的速度,使得嵌入式系统的启动速度显著提升,减少用户等待的时间。

【技术实现步骤摘要】

本专利技术涉及嵌入式操作系统启动优化
,特别是涉及一种。
技术介绍
在当前的嵌入式技术中,硬件与软件的关系越来越密切,与硬件相对应软件也是嵌入式系统中的重要组成部分,而且由于当前软件中数以万计的代码是由人手工编写完成,这些软件需要屏蔽不同底层硬件的差异,并要能满足千变万化的应用需求,因此软件相对于硬件而言更复杂,需要耗费的研发成本更多。由于嵌入式系统是面向特定应用的系统,因此不同嵌入式系统的硬件设计往往千差万别,不能像个人电脑中的BIOS那样有统一的标准化设计,这种非标准化突出体现在嵌入式系统启动程序的设计和嵌入式操作系统硬件抽象层的移植工作中,为了减少重复劳动、提高生产效率,这些工作正在逐步变为由硬件厂商来提供标准的参考解决方案(或定制服务),并提供软件源代码给具体设备的制造商。嵌入式系统的启动程序一般具有两个功能一是启动设备,完成硬件自检,为后续操作系统的运行做好准备;另一个是提供开发和调试环境,为后续操作系统的开发和移植提供方便。虽然从理论上来说可以完全不需要启动程序的存在,而直接由操作系统负责启动,但实际上出于开发任务的分解、调试的需要和一些技术上的考虑,一般都会采用一个代码量相对操作系统小得多的启动程序,并首先用各种开发工具将启动程序调试通过。嵌入式操作系统是嵌入式软件平台中最重要的组成部分,也有很多简单的嵌入式系统不使用操作系统,但是随着应用需求变得越来越复杂,随着人们对提高开发效率、降低研发成本和保证系统稳定性需求的增强,操作系统的使用越来越普及。并且嵌入式系统中的操作系统和通用计算机中的操作系统相比还有一些独特的特点,比如许多应用希望嵌入式操作系统能满足一定的实时性要求、可配置性好、可移植性强、具有功耗管理功能、系统稳定可靠等等。如果计算机只利用嵌入式处理器和存储器进行计算而离开了对各种输入输出(I/O)设备的操作,就不能获得输入信号,不能显示结果,不能与其他计算设备通讯,不能与使用计算机的人进行交互,那么计算机所能发挥的作用就大为逊色了。驱动程序就是操作系统中用于控制和访问各种输入输出设备的程序,因此驱动程序是嵌入式系统软件平台中的重要性部件。在实际的嵌入式系统开发中,操作系统的内核一般不需要做太多的修改,大量的工作往往是针对独特的硬件平台编写、修改和调试各个外设的驱动程序,这方面的技术需求巨大。嵌入式系统由于面向特定应用一般资源有限以节约成本,不能像通用计算机那样有完善的应用程序运行环境,因此面向嵌入式应用的中间件软件就应运而生,这些嵌入式中间件软件往往执行效率高,为特定的应用进行了裁减和优化,或者可配置性很强。一些典型的嵌入式系统中的中间件软件包括网络协议栈、Flash文件系统、Java虚拟机、嵌入式数据库等等。嵌入式系统中必然还有完成特定任务的应用软件,这些软件架构在嵌入式操作系统和中间件软件之上,针对特定的硬件需求完成相应的计算任务,是嵌入式系统功能的最后实现者,其设计和应用需求紧密相关,开发过程与普通应用软件的开发过程类似,是系统设计的最后环节。嵌入式系统中的硬件资源环境一般比较苛刻,嵌入式微处理器和微控制器的内存一般都不大,要在如此紧张的资源下完成复杂的功能,这就要求嵌入式系统软件必须尽量的小巧、稳定和高效。在此情况下,作为移动嵌入式设备用户,如果面对的是一般的通用操作系统,往往无法忍受漫长的启动时间,同时,对于嵌入式操作系统来说,也要尽量缩短其启动时间,以达到用户的要求,并且启动时间已经成为影响用户对产品选择的重要因素,因此,需要采用新的方法来减少嵌入式操作系统的启动时间。
技术实现思路
本专利技术的目的在于提供一种。本专利技术解决其技术问题采用的技术方案如下1)程序中断状态检测①通过控制台激活守护进程;②检测程序是否处在中断中,如果是的话,就取消保存的操作;③建立虚拟终端;2)镜像的保存①结束除内核态进程,僵死进程,当前进程之外所有的进程,释放尽可能多的内存空间;②向在性能管理模块中注册了的设备发送系统挂起的通知; ③把当前CPU寄存器中的所有修改过的数值存入内存,保存当前状态下的CPU的寄存器的值到内存中,统计一共有多少个内存页面需要保存,并把内存页面复制到内存中新的区域④锁定除片内存储器外所有使用中的交换设备,把复制好的内存页面写入到片内存储设备里面,并把每个交换页的地址保存下来,并将这些页表目录写入到交换分区;⑤制作出镜像的头部信息,把镜像头部信息写入到交换分区里面,并使得所有的交换设备可用;⑥关机或者重新启动系统;3)镜像的恢复①开机启动内核,完成进程的初始化和基本的启动过程,并进行一些必要的条件检测,确定目标交换分区的块大小;②创建一个虚拟的控制台;③检测片内存储器是否为目标交换分区,从片内存储器里读取镜像的头部信息,并进行一致性的检测;④重新在内存中创建页表目录,从片内存储器里面读取出保存的页表目录,从创建页表里面读取所有的保存的内存页面到内存中;⑤把当前CPU寄存器中的所有修改过的数值存入内存;⑥把刚刚恢复到内存中的页面复制到原来的位置,恢复CPU寄存器的值,释放掉在休眠时分配的页;⑦向在性能管理模块中注册了的设备发送系统恢复的通知;⑧重新启动在保存镜像过程中暂停的进程。本专利技术与
技术介绍
相比,具有的有益的效果是本专利技术是一种基于硬件镜像的嵌入式操作系统启动优化方法,其主要功能是系统在嵌入式CPU内部的片内存储器容量允许的情况下,相对于外部设备总线上的片外Flash来说,其速度提升显著。(1)高效性。在嵌入式操作系统关闭时,内核镜像保存在片内存储器中,充分利用了现有嵌入式CPU片内存储器的容量、速度日益强大的特点。(2)启动时间加快。在嵌入式操作系统启动时,从保存在片内存储器上的内核镜像进行启动,可以显著加速系统引导和重新启动的速度,减少用户等待的时间。附图说明附图是本专利技术过程的示意图。具体实施例方式下面结合附图对本专利技术作进一步的说明。一种,其具体实施方法如下1)程序中断状态检测①在嵌入式操作系统正常启动之后,在控制台中通过命令行方式改变系统交换状态,进而激活守护进程。②守护进程首先检查代表进程是否可挂起的变量值,如果值不为0,即表示可以进行后续的工作,接下来判断进程是否在中断中执行,如果不是开始对系统的保存,如果是在中断中执行,就说明发生了错误,就取消保存的操作。③建立虚拟终端,用于显示调试信息。2)镜像的保存①检查内核中的进程状态,结束除内核态进程,僵死进程,当前进程之外所有的进程,释放尽可能多的内存空间,以减少内存镜像的大小;若想释放一定的内存空间有两种办法一种是唤醒页面交换进程,调入更多的内存页面;另外一种方法是从内核中释放物理内存页面,这样就达到了释放尽可能多的内存空间的目的。②接下来对嵌入式操作系统中的驱动程序进行处理,向在性能管理模块中注册了的设备发送系统挂起的通知。③嵌入式操作系统把当前CPU寄存器中的所有修改过的数值存入内存。这需要通知编译器插入一个内存屏障,但该内存屏障对硬件无效,编译后的代码会把当前CPU寄存器中的所有修改过的数值存入内存,需要这些数据的时候再重新从内存中读出。保存当前状态下的CPU的寄存器的值到内存中,用来保存这些值的数据具有打包属性,可将其成员变量紧凑排列。统计一共有多少个内存页面需要保存,创建两个挂起页面本文档来自技高网
...

【技术保护点】
一种嵌入式操作系统硬件镜像启动优化的实现方法,其特征在于:1)程序中断状态检测①通过控制台激活守护进程;②检测程序是否处在中断中,如果是的话,就取消保存的操作;③建立虚拟终端;2)镜像的保存① 结束除内核态进程,僵死进程,当前进程之外所有的进程,释放尽可能多的内存空间;②向在性能管理模块中注册了的设备发送系统挂起的通知;③把当前CPU寄存器中的所有修改过的数值存入内存,保存当前状态下的CPU的寄存器的值到内存中,统 计一共有多少个内存页面需要保存,并把内存页面复制到内存中新的区域;④锁定除片内存储器外所有使用中的交换设备,把复制好的内存页面写入到片内存储设备里面,并把每个交换页的地址保存下来,并将这些页表目录写入到交换分区;⑤制作出镜像 的头部信息,把镜像头部信息写入到交换分区里面,并使得所有的交换设备可用;⑥关机或者重新启动系统;3)镜像的恢复①开机启动内核,完成进程的初始化和基本的启动过程,并进行一些必要的条件检测,确定目标交换分区的块大小; ②创建一个虚拟的控制台;③检测片内存储器是否为目标交换分区,从片内存储器里读取镜像的头部信息,并进行一致性的检测;④重新在内存中创建页表目录,从片内存储器里面读取出保存的页表目录,从创建页表里面读取所有的保存的内存页面到 内存中;⑤把当前CPU寄存器中的所有修改过的数值存入内存;⑥把刚刚恢复到内存中的页面复制到原来的位置,恢复CPU寄存器的值,释放掉在休眠时分配的页;⑦向在性能管理模块中注册了的设备发送系统恢复的通知;⑧重新启 动在保存镜像过程中暂停的进程。...

【技术特征摘要】
1.一种嵌入式操作系统硬件镜像启动优化的实现方法,其特征在于1)程序中断状态检测①通过控制台激活守护进程;②检测程序是否处在中断中,如果是的话,就取消保存的操作;③建立虚拟终端;2)镜像的保存①结束除内核态进程,僵死进程,当前进程之外所有的进程,释放尽可能多的内存空间;②向在性能管理模块中注册了的设备发送系统挂起的通知;③把当前CPU寄存器中的所有修改过的数值存入内存,保存当前状态下的CPU的寄存器的值到内存中,统计一共有多少个内存页面需要保存,并把内存页面复制到内存中新的区域;④锁定除片内存储器外所有使用中的交换设备,把复制好的内存页面写入到片内存储设备里面,并把每个交换页的地址保存下来,并将这些页表目录写入到交换分区;⑤制作出镜像的头部信息,把...

【专利技术属性】
技术研发人员:陈天洲胡威沙峰连毅
申请(专利权)人:浙江大学
类型:发明
国别省市:86[中国|杭州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1