一种快速重新启动计算机的方法和装置制造方法及图纸

技术编号:5162429 阅读:173 留言:0更新日期:2012-04-11 18:40
一种快速重新启动计算机的方法,包括:当所述计算机接收到重新启动操作系统的命令后,所述计算机保存新内核并加载引导代码;所述引导代码为与位置无关的代码,相对于当前的运行地址来访问全局变量;所述计算机执行关闭操作系统;所述计算机准备重新启动时所需的新内核信息,至少包括新内核大小及执行时入口的物理地址;所述计算机跳转到所述引导代码入口处将所述新内核信息作为参数传入;所述计算机跳转到所述执行时入口的物理地址执行所述新内核,快速启动过程完毕。相应地,还提供了一种快速重新启动计算机的装置,包括引导模块,存储模块,操作系统关闭模块和加载模块。上述方法和装置大大缩短了操作系统离线的时间,简化了启动流程。

【技术实现步骤摘要】

本专利技术涉及计算机系统,具体地涉及一种快速重新启动计算机的方法和装置
技术介绍
随着嵌入式系统的不断发展,为了实现更为复杂的功能,引导阶段需要初始化 的外部设备越来越多,引导程序也设计的越来越复杂,造成启动速度大大的降低。因 此,当系统更新了某些重要组件而需要重新启动时,当开始重新启动,从系统离线到下 一次在线需要花费的时间也越来越长,这在特定的应用场合这是无法接受的。现行技术中,操作系统的设计者通常会选择微内核设计和可加载模块的技术, 尽量避免在修改部分功能时重新启动系统。尽管如此,当内核有所改动时,重新启动系 统的操作依然无法避免。 当需要重启系统时,设计者通常会对当前状态进行一些处理,如保存当前缓存 中的数据,通知所有进程退出等等,然后利用看门狗或者电源管理芯片的功能对整个系 统进行复位。如如果是利用看门狗复位,则处理器复位后进入内部自检状态,自检完 成后从外部读入引导程序,引导程序又会初始化必需的外围硬件,然后再引导操作系统 内核。因此,目前计算机重启过程包括处理器复位完毕后重新加载引导程序;引导 程序对处理器及外围器件初始化完毕后,尝试读取并加载操作系统内核;操作系统内核 启动之后,先进行必要的软件和硬件初始化,然后加载应用程序;应用程序开始运行正 常后,系统再次进入在线状态。按照目前的这种方式重新启动操作系统,系统离线时间长。
技术实现思路
本专利技术要解决的是提供一种快速重新启动计算机的方法和装置,能够实现快速 启动计算机系统。为了解决上述问题,本专利技术提供了一种快速重新启动计算机的方法,包括当所述计算机接收到重新启动操作系统的命令后,所述计算机保存新内核并加 载引导代码;所述引导代码为与位置无关的代码,相对于当前的运行地址来访问全局变 量;所述计算机执行关闭操作系统;所述计算机准备重新启动时所需的新内核信息,至少包括新内核大小及执行时 入口的物理地址; 所述计算机跳转到所述弓I导代码入口处将所述新内核信息作为参数传入;所述计算机跳转到所述执行时入口的物理地址执行所述新内核,快速启动过程完毕。进一步地,上述方法还具有如下特点所述计算机将所述新内核保存到RAM中,将所述引导代码保存到RAM中或者 外部模块中。进一步地,上述方法还具有如下特点所述计算机跳转到所述引导代码入口处将所述新内核信息作为参数传入之后, 跳转到所述执行时入口的物理地址执行所述新内核之前,还包括所述引导代码以拷贝方式将所述新内核信息备份到所述执行时入口的物理地址。进一步地,上述方法还具有如下特点 所述新内核信息还包括新内核当前虚拟地址、执行时入口的虚拟地址和存储管 理单元状态;当所述存储管理单元状态为使能时,所述计算机跳转到所述引导代码入口处将 所述新内核信息作为参数传入之后,跳转到所述执行时入口的物理地址执行所述新内核 之前,还包括所述引导代码以拷贝方式将所述新内核信息备份到所述执行时入口的虚拟地 址,并禁用存储管理单元功能。进一步地,上述方法还具有如下特点所述引导代码以拷贝方式备份所述新内核信息后,处理重要数据段,包括代码 段、数据段及bss段。进一步地,上述方法还具有如下特点所述新内核信息还包括当前内核的引导参数;所述计算机跳转到所述执行时入口的物理地址执行所述新内核前,还包括建立新的堆栈,并将所述内核的引导参数拷贝到新的区域,构建所述新内核的 引导参数。为了解决上述问题,本专利技术还提供了一种快速重新启动计算机的装置,所述装 置包括引导模块,存储模块,操作系统关闭模块和加载模块;其中,所述引导模块,用于在接收到重新启动操作系统的命令后加载引导代码,指示 存储模块保存新内核,并指示所述操作系统关闭模块关闭操作系统;所述引导代码为与 位置无关的代码,相对于当前的运行地址来访问全局变量;所述存储模块,用于保存引导代码,以及在接收到所述引导模块的指示后保存 所述新内核;所述操作系统关闭模块,用于接收到所述引导模块的关闭操作系统的指令后执 行关闭操作系统,执行完毕后指示所述加载模块;所述加载模块,用于接收到所述操作系统关闭模块的指示后,准备重新启动时 所需的新内核信息,所述新内核信息至少包括新内核大小及执行时入口的物理地址;以 及调用所述存储模块中的引导代码,并跳转到所述引导代码的入口处将所述新内核信息 作为参数传入,然后跳转到所述执行时入口的物理地址执行所述新内核。进一步地,上述装置还具有如下特点所述加载模块跳转到所述引导代码入口处将所述新内核信息作为参数传入之 后,跳转到所述执行时入口的物理地址执行所述新内核之前,还包括所述引导代码以拷贝方式将所述新内核信息备份到所述执行时入口的物理地址。进一步地,上述装置还具有如下特点所述新内核信 息还包括新内核当前虚拟地址、执行时入口的虚拟地址和存储管 理单元状态;当所述存储管理单元状态为使能时,所述加载模块跳转到所述引导代码入口处 将所述新内核信息作为参数传入之后,跳转到所述执行时入口的物理地址执行所述新内 核之前,还包括所述引导代码以拷贝方式将所述新内核信息备份到所述执行时入口的虚拟地 址,并禁用存储管理单元功能。进一步地,上述装置还具有如下特点所述新内核信息还包括当前内核的引导参数;所述加载模块跳转到所述执行时入口的物理地址执行所述新内核前,还包括建立新的堆栈,并将所述当前内核的引导参数拷贝到新的区域,构建所述新内 核的引导参数。上述方法和装置采用直接加载操作系统的内核的方法,大大缩短了操作系统离 线的时间,可以在保证操作系统的稳定性和功能完整性的基础上,跳过不必要的启动步 骤,即可以不对处理器复位,不对系统进行内部自检,不需要初始化外围的必需硬件, 因而简化了启动流程,减少了启动时间,从而实现快速地重新启动系统。此外,平均无 故障时间(Mean Time BetweenFailures,MTBF)等性能指标也会随着系统离线时间的减少 而增加,系统的服务可靠性也会大大的提高。附图说明图1是本专利技术实施例的快速重新启动计算机的流程图;图2是实现本专利技术实施例的快速重新启动计算机的装置结构图;图3是本专利技术应用示例的快速重新启动流程图。具体实施例方式下面结合附图对本专利技术装置以及方法的具体实施方式进一步地详细描述。本实施例的快速重新启动计算机系统的方法如图1所示,包括以下步骤(a)当计算机接收到重新启动操作系统的命令后,计算机保存新内核(重启以后 的操作系统内核)并加载引导代码;为了简化重新启动的过程,系统可以将新内核保存到RAM(如内存)中,当然 也可以是其他约定的位置。引导代码用于在重新启动操作系统时,拷贝并加载新内核;该引导代码不使用 绝对地址进行访问,即与位置无关,而是使用相对于当前的运行地址来访问全局变量。该引导代码可以与新内核一起保存到RAM中,也可以保存到外部模块中用外部 模块的方式加载到新内核中,并不需与新内核存于一体。(b)计算机执行关闭操作系统功能;现有的重新启动过程包括操作系统关闭和操作系统复位两个部分,本专利技术仅仅 执行操作系统关闭,而不进行操作系统复位,这样就不会对高级电源管理芯片和看门狗 进行复位;其中,关闭操作系统功能中包括禁止外部中断的操作,从而保证之后的所有步 骤能顺序执行,不出现其他分支;此外,由于本步骤中不关闭高级电源管理芯片,因此步骤(a)所保存本文档来自技高网...

【技术保护点】
一种快速重新启动计算机的方法,包括:当所述计算机接收到重新启动操作系统的命令后,所述计算机保存新内核并加载引导代码;所述引导代码为与位置无关的代码,相对于当前的运行地址来访问全局变量;所述计算机执行关闭操作系统;所述计算机准备重新启动时所需的新内核信息,至少包括新内核大小及执行时入口的物理地址;所述计算机跳转到所述引导代码入口处将所述新内核信息作为参数传入;所述计算机跳转到所述执行时入口的物理地址执行所述新内核,快速启动过程完毕。

【技术特征摘要】
1.一种快速重新启动计算机的方法,包括当所述计算机接收到重新启动操作系统的命令后,所述计算机保存新内核并加载引 导代码;所述引导代码为与位置无关的代码,相对于当前的运行地址来访问全局变量; 所述计算机执行关闭操作系统;所述计算机准备重新启动时所需的新内核信息,至少包括新内核大小及执行时入口 的物理地址;所述计算机跳转到所述引导代码入口处将所述新内核信息作为参数传入; 所述计算机跳转到所述执行时入口的物理地址执行所述新内核,快速启动过程完毕。2.如权利要求1所述的方法,其特征在于所述计算机将所述新内核保存到RAM中,将所述引导代码保存到RAM中或者外部 模块中。3.如权利要求1所述的方法,其特征在于所述计算机跳转到所述引导代码入口处将所述新内核信息作为参数传入之后,跳转 到所述执行时入口的物理地址执行所述新内核之前,还包括所述引导代码以拷贝方式将所述新内核信息备份到所述执行时入口的物理地址。4.如权利要求1所述的方法,其特征在于所述新内核信息还包括新内核当前虚拟地址、执行时入口的虚拟地址和存储管理单 元状态;当所述存储管理单元状态为使能时,所述计算机跳转到所述引导代码入口处将所 述新内核信息作为参数传入之后,跳转到所述执行时入口的物理地址执行所述新内核之 前,还包括所述引导代码以拷贝方式将所述新内核信息备份到所述执行时入口的虚拟地址,并 禁用存储管理单元功能。5.如权利要求3或4所述的方法,其特征在于所述引导代码以拷贝方式备份所述新内核信息后,处理重要数据段,包括代码段、 数据段及bss段。6.如权利要求1或2所述的方法,其特征在于 所述新内核信息还包括当前内核的引导参数;所述计算机跳转到所述执行时入口的物理地址执行所述新内核前,还包括 建立新的堆栈,并将所述内核的引导参数拷贝到新的区域,构建所述新内核的引导参数。7.—种快速重新启动计算机的装置,其特征在于,所述装置包括...

【专利技术属性】
技术研发人员:高亚南李林陈正伟
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94

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

1