一种开机程序的多重保护方法

文档序号:6571502阅读:269来源:国知局
专利名称:一种开机程序的多重保护方法
技术领域
本发明是关于一种电子装置的保护机制,特别是一种应用于具有储存单元的手持式电子装置的开机程序的多重保护方法。
背景技术
传统的应用于以硬盘为主要储存数据媒体的装置的开机流程图参见图1,当开机时,执行闪存(Flash)中的开机程序代码(boot code)(步骤110),以将硬盘中的操作系统核心软件(T-kernel)加载随机存取内存(Random Access Memory;RAM)中(步骤120)作为启动之用,接着执行操作系统核心软件(步骤130),当操作系统核心软件启动完成后,再将硬盘中的图形用户界面(Graphic User Interface;GUI)加载随机存取内存中(步骤140),接着执行图形用户界面(步骤150),执行图形用户界面完成后,才会再将硬盘中的应用主程序加载随机存取内存中(步骤160),以执行应用主程序(步骤170),应用主程序为用以显示画面的程序,之后,使用者便能看到开机后的主画面。
在正常情况下,按照顺序进行没有问题,但是在开机流程中,任何一部分出错或无法完成,有可能会造成严重后果,例如开机程序代码有误,可能是闪存受损或是受到电磁干扰等因素,导致无法完成操作系统核心软件加载动作,或是操作系统核心软件存放在硬盘中毁损,可能是因为硬盘受到撞击、不正常瞬间断电或其它软硬件因素,而使得操作系统核心软件顺利加载后却无法启动执行。
也有可能是图形用户界面(GUI)的档案毁损,导致原因与无法启动执行操作系统核心软件的可能原因相同,使得系统顺利启动后却无法进入图形用户界面,亦或是应用主程序档案毁损,导致系统已成功进入图形模式,但却无法执行应用主程序,使得使用者看不到开机后的主画面。
为了加强系统的强韧性(robustness),通常会在过程中加上检测以及重新启动装置,也就是在整个系统运作过程中,若发现有问题的话,便会一再地重复执行,不仅在开机过程中,在开机后,系统正常运作时也一样,因为系统功能众多且复杂,难免会有当掉或无法成功执行的状态,有了检测以及重新启动机制,一但发生上述情形可以立刻复原,或将损害控制到最小,如同微软的Windows操作系统一样,若发生程序故障,则只有该程序无法执行而已,并不会波及到整个操作系统,如此,让使用者完全感觉不到该程序已经当掉过了。
这种方式,可以大幅加强系统的稳定度,即使当机,大多数的情况下也能自动恢复过来,不会让使用者有动不动就当机的感觉,但是这种方式防范的是在系统运作过程中不清楚原因的当机,若是档案本身毁损或出错,这样不断地重复启动机制是会造成重大危险的。
由于硬盘是机械式旋转,长时间不断地动作会产生高热,若是因为档案本身的缘故而造成启动失败,则系统会认为没有启动成功,而不断地重复尝试,但每次尝试都还是失败,因此造成了系统无法停止,硬盘一直处于使用状态,加上倘若系统并无断电机制,即使使用者察觉到这种情况也无法关机让系统停止,必需重复执行一直到系统的电力耗尽,此时硬盘产生的高温有可能损害到硬盘本身或装置中的其它组件,若是放在密闭空间中,还有可能因过热而导致起火或爆炸,曾经也有关于手机放在包中无故起火或爆炸的新闻报道。
即便所有软硬件动作都正常,在电力不足时也会造成危险,当电力供应低到某一程度时,系统会自动重启(reset),而现有的设计并没有真正断电的关机机制,所以一旦重启,则重新执行开机程序代码,重新进行启动程序,当系统启动后才发现目前电力不足又重复上述循环,因为执行操作系统核心软件所耗的电流较大,仅仅执行开机程序代码的耗电较小,所以非常有可能执行开机程序代码时电力还够用,然而要将操作系统核心软件写入随机存取内存中时,因为电力不足的关系,无法顺利将操作系统核心软件写入,因此在电力不够时,会造成不断重复开机而无法关闭的情况,由于此时电池的电力已剩不多,不断地重复开机虽不至于让系统持续地产生高热,但却会加快装置的损坏速度,且在某些场合下会产生法律责任,例如在飞机起降时,乘客携带的电子装置不断地重复开机却无法关掉,将对飞行带来危险。
以上所提的事件所发生概率都不大,因此还没有引起人们的足够重视,但是,上述事件一旦发生,所造成的后果会非常严重,对使用者也有可能造成生命或财产上的伤害。

发明内容
针对背景技术所存在的上述问题,本发明的目的在于,提供一种开机程序的多重保护方法,该方法能够应用于手持式电子装置,该手持式电子装置以一储存单元为主要储存数据媒体,通过错误计数功能以及预先将所需程序备份于硬盘的未使用区域,以达到成功修复以及防护的目的。
为了实现上述任务,本发明所采取的技术解决方案如下一种开机程序的多重保护方法,应用于一手持式电子装置,此手持式电子装置系以一储存单元为主要储存数据媒体,于储存单元内储存有用以显示画面的应用主程序。
首先,需预先备份应用主程序至储存单元的未使用区域中,之后,使用者按下手持式电子装置的开机钮后,便执行开机程序代码。
接着,比对手持式电子装置的目前电压值与预设的安全电压值,并根据比对结果决定是否强制手持式电子装置断电,若不需将手持式电子装置断电的话,则接着执行操作系统核心软件。
于执行操作系统核心软件时,需计数操作系统核心软件执行不成功的次数,并根据计数结果决定是否强制手持式电子装置断电,倘若操作系统核心软件执行成功的话,于执行完成后,接着执行应用主程序。
当应用主程序执行不成功时,需计数应用主程序执行不成功的次数,并根据计数结果决定是否读取备份的应用主程序以覆盖原始的应用主程序,然而,于读取备份的应用主程序以覆盖原始的应用主程序时,需计数备份的应用主程序覆盖原始的应用主程序的次数,并根据计数覆盖的次数,以决定是否强制手持式电子装置断电。


图1为传统技术的开机流程图;图2A为本发明的开机程序的多重保护方法流程图;第2B图为本发明的另一开机程序的多重保护方法流程图;图2C、图2D及图2E为本发明的第一实施例流程图;图3A为本发明的开机程序的多重保护方法细部流程图;图3B及图3C为本发明的第二实施例流程图;图4为手持式电子装置的结构示意图。
上述图中的标号分别表示400、手持式电子装置,410、电源供应单元,420、控制开关。
为使对本发明的目的、构造、特征、及其功能有进一步的了解,以下配合实施例用以示范与解释本发明的原理,对本发明作进一步的详细说明。
具体实施例方式
以下在实施方式中的内容足以使任何熟知本领域的技术人员了解本发明的技术内容并能够实施,且根据本说明书给出的技术方案及附图,任何熟知本领域的技术人员可轻易地理解本发明相关的目的及优点。
参阅图2A,此图为本发明的开机程序的多重保护方法流程图,应用于手持式电子装置,如手机,且手持式电子装置至少包括一储存单元,如硬盘,用于要储存数据媒体,且储存单元内部需存放有用以显示画面的应用主程序。
因此,本发明的方法主要的步骤有首先,需将备份应用主程序至储存单元的未使用区域(步骤202),接着,使用者按下开机钮后便执行开机程序代码(步骤204),之后,将手持式电子装置的目前电压值与预设的安全电压值做比对(步骤205),并根据比对结果决定是否强制手持式电子装置断电,若不需要将手持式电子装置断电,便接执行操作系统核心软件(步骤210)。
若操作系统核心软件执行失败时,便需计数操作系统核心软件执行不成功的次数(步骤211),根据计数的次数,决定是否强制手持式电子装置断电;倘若操作系统核心软件执行成功的话,接着执行应用主程序(步骤226),当应用主程序执行不成功时,需计数应用主程序执行不成功的次数(步骤227),并根据计数结果决定是否读取备份的应用主程序以便覆盖原始的应用主程序,然而,在读取备份的应用主程序以覆盖原始的应用主程序之前,需计数备份的应用主程序覆盖原始的应用主程序的次数(步骤231),并根据计数覆盖的次数,以决定是否强制手持式电子装置断电,或是读取备份的应用主程序以覆盖原始的应用主程序,并继续执行更新过后的应用主程序。
再请参阅图2B,该图为本发明的另一开机程序的多重保护方法流程图,同样应用于以一储存单元为主要储存数据媒体的手持式电子装置,此储存单元可为硬盘,且于储存单元内部除了存放有用以显示画面的应用主程序之外,还存放有用以显示画面的图形用户界面,此图形用户界面在执行应用主程序之前执行。
首先,将备份应用主程序至储存单元的未使用区域(步骤202),然后将备份图形用户界面至储存单元的未使用区域(步骤203),接着,使用者按下开机钮后便执行开机程序代码(步骤204),之后,将手持式电子装置的目前电压值与预设的安全电压值做比对(步骤205),并根据比对结果决定是否强制手持式电子装置断电,若不需要将手持式电子装置断电,便执行操作系统核心软件(步骤210)。
若操作系统核心软件执行失败时,便需计数操作系统核心软件执行不成功的次数(步骤211),根据计数的次数,决定是否强制手持式电子装置断电,倘若操作系统核心软件执行成功的话,接着执行图形用户界面(步骤216)。
若图形用户界面执行不成功的话,便计数图形用户界面执行不成功的次数(步骤217),根据计数的结果以决定是否读取备份的图形用户界面以覆盖原始的图形用户界面,然而,备份的图形用户界面覆盖原始的图形用户界面之前,需计数备份的图形用户界面覆盖原始的图形用户界面的次数(步骤221),并根据计数覆盖的次数,以决定是否强制手持式电子装置断电,或是读取备份的图形用户界面以覆盖原始的图形用户界面,并继续执行更新过后的图形用户界面。
倘若图形用户界面执行成功,则继续执行应用主程序(步骤226);当应用主程序执行不成功时,需计数应用主程序执行不成功的次数(步骤227),并根据计数结果决定是否读取备份的应用主程序以覆盖原始的应用主程序,然而,在读取备份的应用主程序以覆盖原始的应用主程序之前,需计数备份的应用主程序覆盖原始的应用主程序的次数(步骤231),并根据计数覆盖的次数,以决定是否强制手持式电子装置断电,或是读取备份的应用主程序以覆盖原始的应用主程序,并继续执行更新过后的应用主程序。
由于目前使用的硬盘空间相对于图形用户界面以及应用主程序来说是大多了,因此可以稍微损失点微不足道的空间来进行保护及修复机制,除原有的程序外,在另一目录或磁盘挂载区上也放入同样程序,一但原有的程序启动失败,则将另一备份的程序拷贝至原来的区块,并再次执行启动,这样,不但能加倍保障重要档案的可靠度,大幅提升启动成功的机率,而且也具有将毁损档案修复的功能。
参照图2C、图2D以及图2E,这些图是本发明的第一实施例流程图,如图所示,首先,将备份应用主程序至硬盘的未使用区域(步骤202),然后,备份图形用户界面至储存单元的未使用区域(步骤203),接着,使用者按下开机钮后便执行开机程序代码(步骤204),之后,必须比对手持式电子装置的目前电压值是否小于预设的安全电压值?(步骤206),倘若手持式电子装置的电压过低,即目前电压值小于安全电压值,则强制手持式电子装置断电(步骤208),根本不启动后续程序,这样可解决弱电重复启动问题。
若手持式电子装置的电压并不低于预设的安全电压值,则可完整执行开机程序代码,之后,接着执行操作系统核心软件(步骤210),然后需判断操作系统核心软件是否执行成功?(步骤212),若操作系统核心软件执行不成功,需计数操作系统核心软件执行不成功次数是否达第一临界值?(步骤214),该第一临界值为预设的值,倘若操作系统核心软件执行失败的次数尚未到达第一临界值,那么仍须反复执行操作系统核心软件(步骤210),直到操作系统核心软件执行失败的次数到达第一临界值,便强制手持式电子装置断电(步骤208),这样可以解决操作系统核心软件错误而一直重复启动的问题。
若操作系统核心软件执行成功的话,基本上,整个系统已成功转移至操作系统核心软件所控制,接着便执行图形用户界面(步骤216),同样地,需判断图形用户界面是否执行成功?(步骤218),若图形用户界面执行不成功的话,需计数图形用户界面执行失败次数是否达第二临界值?(步骤220),该第二临界值为适当的默认值,倘若图形用户界面执行失败的次数尚未到达第二临界值,那么仍须反复执行图形用户界面(步骤216),直到图形用户界面执行失败的次数到达第二临界值,接着需计数备份的图形用户界面覆盖原始的图形用户界面的次数是否达第三临界值?(步骤222),该第三临界值同样为适当的默认值,若覆盖的次数尚未到达第三临界值,则读取备份的图形用户界面以覆盖原始的图形用户界面(步骤224),覆盖完成后便继续执行图形用户界面(步骤216),若备份的图形用户界面覆盖原始的图形用户界面的次数已达第三临界值的话,便强制手持式电子装置断电(步骤208),这表示备份的图形用户界面可能有误,这样解决图形用户界面档案毁坏而一再重复启动的问题,不但可以快速恢复以防止当机,也可避免无穷尽的重复启动。
倘若图形用户界面执行成功的话,接着执行应用主程序(步骤226),需判断应用主程序是否执行成功?(步骤228),倘若执行成功,即完成了整个开机程序,倘若执行不成功则需计数应用主程序执行失败次数是否达第四临界值?(步骤230),第四临界值同样为适当的且评估过的默认值,若应用主程序执行失败次数未达到第四临界值,则需继续重复执行应用主程序(步骤226),倘若应用主程序执行失败的次数已达第四临界值,需计数备份的应用主程序覆盖原始的应用主程序的次数是否达第五临界值?(步骤232),若覆盖的次数尚未到达第五临界值,则读取备份的应用主程序以覆盖原始的应用主程序(步骤234),覆盖完成后便继续执行覆盖后的应用主程序(步骤226),若备份的应用主程序覆盖原处的应用主程序的次数已达第五临界值的话,便强制手持式电子装置断电(步骤208),这表示备份的应用主程序可能有误,以上措施为防止不断重复开机而造成的危险。
再请参照图3A,该图为本发明的开机程序的多重保护方法细部流程图,如图所示,将备份应用主程序至硬盘的未使用区域(步骤202),以及备份图形用户界面至储存单元的未使用区域(步骤203)之后,也可备份开机程序代码以及操作系统核心软件至硬盘的未使用区域(步骤2021),使得系统的强韧性大幅提升,同时也降低系统无法启动的风险。
而在执行开机程序代码(步骤204)之后,倘若执行不成功,需计数开机程序代码执行不成功的次数(步骤2040),根据计数的结果以决定是否读取备份的开机程序代码以覆盖原始的开机程序代码,然而,在备份的开机程序代码覆盖原始的开机程序代码之前,需计数备份的开机程序代码覆盖原始的开机程序代码的次数(步骤2045),并根据计数覆盖的次数,以决定是否强制手持式电子装置断电,或是读取备份的开机程序代码以覆盖原始的开机程序代码,并继续执行更新过后的开机程序代码,倘若开机程序代码执行成功,便继续将手持式电子装置的目前电压值与预设的安全电压值作比对(步骤205)。
另外,在计数操作系统核心软件执行不成功的次数(步骤211)之后,可计数备份的操作系统核心软件覆盖原始的操作系统核心软件的次数(步骤2140),根据覆盖的次数,以决定是否强制手持式电子装置断电,或是读取备份的操作系统核心软件以覆盖原始的操作系统核心软件,并继续执行更新过后的操作系统核心软件。
请继续参阅图3B以及图3C,图3B和图3C为本发明的第二实施例流程图,如图所示,将备份应用主程序至硬盘的未使用区域(步骤202),以及备份图形用户界面至储存单元的未使用区域(步骤203)之后,也可备份开机程序代码以及操作系统核心软件至硬盘的未使用区域(步骤2021),使得系统的强韧性大幅提升,同时也降低系统无法启动的风险。
在执行开机程序代码之后(步骤204),可先判断开机程序代码是否执行成功?(步骤2041),倘若执行不成功,需计数开机程序代码执行失败次数是否达第六临界值?(步骤2042),若尚未达第六临界值的话,便继续重复执行开机程序代码(步骤204),若开机程序代码执行失败的次数已达第六临界值的话,接着需计数备份的开机程序代码覆盖原始的开机程序代码的次数是否达第七临界值?(步骤2043),若覆盖的次数尚未到达第七临界值的话,则读取备份的开机程序代码以覆盖原始的开机程序代码(步骤2044),覆盖完成后便继续执行开机程序代码(步骤204),若备份的开机程序代码覆盖原处的开机程序代码的次数已达第七临界值的话,表示备份的程序也有问题,便强制手持式电子装置断电(步骤208)。
当执行操作系统核心软件时,也可加强其强韧性,若计数操作系统核心软件执行不成功次数达第一临界值时,于强制手持式电子装置断电之前,可先计数备份的操作系统核心软件覆盖原始的操作系统核心软件的次数是否达第八临界值?(步骤2141),若覆盖的次数尚未到达第八临界值的话,则读取备份的操作系统核心软件以覆盖原始的操作系统核心软件(步骤2142),覆盖完成后便继续执行操作系统核心软件(步骤210),若备份的操作系统核心软件覆盖原处的操作系统核心软件的次数已达第八临界值的话,表示备份的操作系统核心软件也有问题,再强制手持式电子装置断电(步骤208)。
最后,请参考图4,该图为手持式电子装置的结构示意图,要彻底解决掉可能存在的风险必须对手持式电子装置的软硬件同时进行多种改进,软件方面的改进已在上述进行了完整说明,而在硬件方面,手持式电子装置400的电源供应单元410,如电池作为手持式电子装置400的电力来源,要是可以人为手动抽换,或是增加一个直接跟电源供应单元410相连接的控制开关420,当手持式电子装置400断电时是真正做到断电而非暂时停止或是休眠状态,增加控制开关可以达到防范在使用者察觉的情况下,手动强制断电以保护装置的功能。
虽然本发明以上述较佳的实施例对本发明做出了详细的描述,并非用上述实施例限定本发明。本领域的技术人员应当意识到在不脱离本发明技术方案所给出的技术特征和范围的情况下,对技术特征所作的增加、或以本领域一些同样内容的替换,均应属本发明的保护范围。
权利要求
1.一种开机程序的多重保护方法,应用于手持式电子装置,该手持式电子装置以一储存单元为主要储存数据媒体,在储存单元内储存有用以显示画面的应用主程序,其特征在于,该方法的多重保护包括下列步骤首先,需预先备份应用主程序至储存单元的未使用区域中,之后,使用者按下手持式电子装置的开机钮后,便执行开机程序代码;接着,比对手持式电子装置的目前电压值与预设的安全电压值,并根据比对结果决定是否强制手持式电子装置断电,若不需将手持式电子装置断电,则接着执行操作系统核心软件;在执行操作系统核心软件时,需计数操作系统核心软件执行不成功的次数,并根据计数结果决定是否强制手持式电子装置断电,若操作系统核心软件执行成功的话,于执行完成后,接着执行应用主程序;当应用主程序执行不成功时,需计数应用主程序执行不成功的次数,并根据计数结果决定是否读取备份的应用主程序以覆盖原始的应用主程序,然而,于读取备份的应用主程序以覆盖原始的应用主程序时,需计数备份的应用主程序覆盖原始的应用主程序的次数,并根据计数覆盖的次数,以决定是否强制手持式电子装置断电。
2.如权利要求1所述的方法,其特征在于,在储存单元内储存有用以显示画面的应用主程序,还存放有用于显示画面的图形用户界面,此图形用户界面在执行应用主程序之前执行。
3.如权利要求2所述的方法,其特征在于,所述的用于显示画面的图形用户界面具体的执行步骤是当操作系统核心软件执行成功的话,接着执行图形用户界面;若图形用户界面执行不成功,便计数图形用户界面执行不成功的次数,根据计数的结果以决定是否读取备份的图形用户界面以覆盖原始的图形用户界面,在备份的图形用户界面覆盖原始的图形用户界面之前,需计数备份的图形用户界面覆盖原始的图形用户界面的次数,并根据计数覆盖的次数,以决定是否强制手持式电子装置断电,或是读取备份的图形用户界面以覆盖原始的图形用户界面,并继续执行更新过后的图形用户界面;若图形用户界面执行成功,则继续执行应用主程序。
全文摘要
本发明公开了一种开机程序的多重保护方法,该方法应用于具有储存单元的手持式电子装置,储存单元内存放有用以显示画面的应用主程序,并另有备份的应用主程序于储存单元的未使用区域,在执行开机程序代码之后,需将手持式电子装置的目前电压值与安全电压值做比对,接着执行操作系统核心软件,并计数操作系统核心软件执行不成功的次数,最后,执行应用主程序,并计数应用主程序执行不成功的次数以及计数备份的应用主程序覆盖原始的应用主程序的次数。
文档编号G06F11/14GK101013376SQ20071001739
公开日2007年8月8日 申请日期2007年2月9日 优先权日2007年2月9日
发明者王志铭, 陈淮琰 申请人:无敌科技(西安)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1