一种扩展基本输入输出系统功能的方法

文档序号:6447266阅读:158来源:国知局
专利名称:一种扩展基本输入输出系统功能的方法
技术领域
本发明属于计算机应用领域,特别是一种扩展基本输入输出系统(BIOS)功能的方法。
背景技术
目前,对计算机应用(application)的开发已经非常普遍,而且计算机应用的形式也已经越来越多样化。目前的很多计算机应用并不需要操作系统的支持,但是这些计算机应用一般都需要BIOS的配合来实现。例如引导与常用的视窗(Windows)操作系统同时并存在硬盘上的其它操作系统需要BIOS的配合;根据不同的用户启动方式选择进入不同的计算机应用需要BIOS的配合;在多个操作系统之间或者多个计算机应用之间平滑地切换需要BIOS的配合。为了实现这些计算机应用,需要对BIOS的功能进行扩展。现有技术中主要通过直接修改BIOS来扩展BIOS的功能。这种直接对BIOS进行修改的方式具有如下缺点1.由于BIOS的软件架构、开发环境和开发语言对普通开发人员来说具有相当的难度,普通开发人员难以直接对BIOS进行开发,而不得不让BIOS生产厂家进行开发。这就造成BIOS开发非常不灵活,同时会加重BIOS生产厂家的负担和增加开发成本。
2.对BIOS直接进行修改需要将BIOS代码存储在BIOS存储芯片中,而BIOS存储芯片的容量有限并且非常宝贵,因此如果所开发的应用需要比较长的BIOS代码来支撑,则会占用BIOS存储芯片的大量存储空间,从而不得不加大BIOS存储芯片的容量,这也会增加成本。
3.在开发计算机应用的过程中,如果计算机应用的需求规格有变化、或者发现计算机应用出现缺陷等情况都需要对BIOS进行修改,因此这种开发方式可能会频繁修改BIOS,不能保证BIOS的完整性,并且还会带来大量的BIOS测试工作量和降低开发效率。

发明内容
有鉴于此,本发明的主要目的是提出一种扩展BIOS功能的方法,以提高BIOS开发的灵活性。
为达到上述目的,本发明的技术方案是这样实现的一种扩展BIOS功能的方法,该方法预先在BIOS中设置BIOS调用模块、在硬盘中设置应用功能模块,该方法进一步包括以下步骤A、BIOS完成硬件检测和初始化后,运行所述BIOS调用模块;B、所述BIOS调用模块调用所述应用功能模块;C、所述应用功能模块执行应用。
所述在硬盘中设置应用功能模块为在硬盘的保护分区中设置应用功能模块。
所述在硬盘中设置应用功能模块为在第一主硬盘(PM)或者第一从硬盘(PS)或者第二主硬盘(SM)或者第二从硬盘(SS)中设置应用功能模块。
该方法进一步包括在步骤A与步骤B之间,BIOS进一步判断是否找到所述应用功能模块,如果是则执行步骤B,否则结束。
所述BIOS判断是否找到应用功能模块为BIOS循环查找所有硬盘以判断是否找到所述应用功能模块、或者BIOS查找第一个硬盘以判断是否找到所述应用功能模块、或者BIOS查找特定的硬盘以判断是否找到所述应用功能模块。
步骤C所述应用功能模块执行应用为所述应用功能模块运行操作系统。
所述的操作系统为UNIX操作系统、或LINUX操作系统、或视窗Windows操作系统、或者磁盘操作系统(DOS)。
步骤C所述应用功能模块执行应用为应用功能模块运行不依赖于操作系统的应用。
步骤C所述应用功能模块执行应用为所述应用功能模块执行操作系统恢复备用功能。
该方法进一步包括BIOS在步骤A中完成所述硬件检测和初始化之后,在步骤A中运行所述BIOS调用模块之前准备BIOS参数表,在步骤B和步骤C之间所述应用功能模块进一步读取所述BIOS参数表;步骤C中应用功能模块根据所述BIOS参数表执行应用。
所述参数表包括用户输入信息,步骤C为应用功能模块执行与所述用户输入信息相对应的应用。
从以上的技术方案中可以看出本发明预先在BIOS中设置BIOS调用模块、在硬盘中设置应用功能模块;BIOS首先运行BIOS调用模块,BIOS调用模块再调用应用功能模块,然后由应用功能模块执行应用,以完成具体的应用功能。因此,本发明通过将BIOS调用模块和应用功能模块相配合而扩展了BIOS功能,而且由于应用功能模块位于硬盘而不是BIOS中,所以普通技术人员可以直接在硬盘中对应用功能模块进行开发或者修改,并不需要直接对BIOS进行修改。因此本发明极大地提高BIOS开发的灵活性,并且显著地降低了BIOS生产厂家的负担。
同时,由于BIOS调用模块只需要调用应用功能模块,而并不需要执行具体的应用功能,所以BIOS调用模块非常小,并不会占用BIOS存储芯片过多的容量。而且应用本发明后,在对BIOS的扩展功能的开发中并不需要直接对BIOS进行修改,因此不会产生BIOS代码,也不会占用BIOS芯片的存储空间。所以和现有技术相比,本发明降低了对BIOS存储芯片的需求,从而又极大地降低了成本。
应用本发明后,在开发计算机应用的过程中,如果计算机应用的需求规格有变化或者发现计算机应用有缺陷,可以直接在应用功能模块中进行修改,而不需要对BIOS直接进行修改,所以同现有技术相比,应用本发明后不会产生大量的BIOS测试工作量,从而显著地提高了开发效率。


图1为本发明的扩展BIOS功能的流程图。
图2为根据本发明一实施例的扩展BIOS功能的流程图。
具体实施例方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明的主要思想是预先在BIOS中设置BIOS调用模块、在硬盘中设置应用功能模块。BIOS调用模块嵌入到BIOS中,用于调用应用功能模块;应用功能模块位于硬盘,用于执行具体的应用。由于应用功能模块位于硬盘而不是BIOS中,所以普通技术人员可以直接对应用功能模块进行开发或者修改,并不需要直接在BIOS中进行修改,从而可以提高BIOS开发的灵活性。
图1为本发明的扩展BIOS功能的流程图。首先预先在BIOS中设置BIOS调用模块、在硬盘中设置应用功能模块。BIOS调用模块嵌入到BIOS中,用于调用应用功能模块;应用功能模块位于硬盘,用于执行具体的应用。在这里,可以在PM、PS、SM或SS中设置应用功能模块。优选地,在硬盘的保护分区中设置应用功能模块,以避免由于用户的日常操作而破坏应用功能模块。
如图1所示,该方法还包括以下步骤步骤101BIOS完成硬件检测和初始化后,BIOS运行BIOS调用模块。
BIOS启动后,便开始执行BIOS开机系统检测(POST)流程。在BIOSPOST流程中,BIOS首先检测硬件并完成各种初始化工作。在检测完硬件并完成各种初始化工作后,BIOS运行嵌入到其中的BIOS调用模块。
步骤102BIOS调用模块调用应用功能模块。
BIOS调用模块被运行后,BIOS调用模块便开始调用应用功能模块。在这里,BIOS调用模块首先需要在硬盘中查找到应用功能模块,然后才能调用应用功能模块。BIOS调用模块在硬盘中查找应用功能模块的方式可以有多种,可以预先在BIOS调用模块中设定查找应用功能模块的方式。在硬盘中查找应用功能模块的方式包括但是不限于BIOS调用模块可以循环查找所有的硬盘,以查找应用功能模块;BIOS调用模块也可以只查找特定的硬盘,以查找应用功能模块;BIOS调用模块还可以只查找检测到的第一个硬盘,以查找应用功能模块。如果应用功能模块是保存在硬盘的保护分区内,则首先需要打开硬盘的保护分区,然后再在保护分区中寻找应用功能模块。在保护分区中可以通过指定偏移地址、特殊标记、分区表等方式而寻找应用功能模块。如果硬盘没有保护分区,则直接在硬盘中寻找应用功能模块。查找到应用功能模块后,BIOS调用模块接着便调用应用功能模块。
步骤103应用功能模块执行应用。
应用功能模块被调用后,便执行具体的应用。这些应用包括但是不限于打开操作系统、执行操作系统恢复备用功能、运行多媒体欣赏应用等具体应用。而且,如果需要对应用功能模块进行修改,可以直接在硬盘上进行修改,并不需要在BIOS中进行修改。
当应用功能模块中包含不少于一个的应用时,预先将应用功能模块中的这些应用和用户的输入信息相对应。用户可以首先在步骤101中的BIOS完成硬件检测和初始化之后、在步骤101中的运行BIOS调用模块之前输入信息,BIOS将该输入信息保存在内存,然后在步骤103应用功能模块读取内存,获得用户的输入信息,并且根据用户的输入信息执行相对应的具体应用。
下面以一个具体的例子对本发明进行更详细的说明。
很多计算机上都安装有Windows操作系统,而许多计算机上还会安装除Windows之外的其他操作系统或应用,以给用户提供增值服务。例如假设计算机上安装有以Linux为操作系统的多媒体欣赏应用。同时,该计算机还安装有用于对操作系统进行备份恢复的应用,以备份用户的常用操作系统及数据或在用户的常用操作系统损坏后进行系统恢复。Linux操作系统和该备份恢复应用都安装在硬盘的保护区内,正常情况下对用户不可见,以最大程度地保证Linux系统和该备份恢复应用的安全,避免因为用户的日常操作而损坏Linux系统和该备份恢复应用。
基于图1,图2为根据本发明一实施例的扩展BIOS功能的流程图。首先预先在BIOS中设置BIOS调用模块、在硬盘中设置应用功能模块,并预先设置用户按下按键F1表示启动以Linux为操作系统的多媒体欣赏应用,按下按键F2表示启动备份恢复应用。其中,BIOS调用模块嵌入到BIOS中,用于调用应用功能模块;应用功能模块位于硬盘,用于执行具体的应用,包括执行多媒体欣赏的应用和备份恢复应用。如图2所示,还包括以下步骤步骤201硬件检测和初始化,并准备BIOS参数表。
BIOS启动后,首先完成硬件检测和各种初始化。同时BIOS准备参数表,并将参数表存入内存。参数表中包括启动应用所需要的各种硬件信息以及用户用于选择具体应用的用户输入信息。优选地,该用户输入信息为用户按下的按键信息。启动应用所需要的硬件信息可以包括硬盘端口、硬盘大小、光驱类型、鼠标类型等。
步骤202BIOS运行嵌入到其中的BIOS调用模块。
步骤203BIOS调用模块判断是否找到应用功能模块,如果是则执行步骤204及其后续步骤,否则执行步骤208并结束。
在这里,BIOS调用模块可以以多种方式搜索应用功能模块。例如BIOS调用模块可以循环查找所有的硬盘,以查找应用功能模块;BIOS调用模块也可以只查找制定的硬盘,以查找应用功能模块;BIOS调用模块还可以只查找检测到的第一个硬盘,以查找应用功能模块。如果应用功能模块是保存在硬盘的保护分区内,则首先需要打开硬盘的保护分区,并在保护分区中寻找应用功能模块,如果没有保护分区则直接在硬盘中寻找应用功能模块。
步骤204BIOS调用模块调用应用功能模块。
找到应用功能模块后,BIOS便调用应用功能模块。
步骤205应用功能模块读取BIOS参数表。
应用功能模块首先从内存中获取BIOS参数表,并获取用户输入信息和启动应用所需要的硬件信息。
步骤206应用功能模块根据用户输入信息判断是否有与用户输入信息相对应的应用,如果有则执行步骤207并结束,否则执行步骤208并结束。
步骤207应用功能模块执行与用户输入信息相对应的应用。
应用功能模块可以根据获取的硬件信息和按键信息执行用户选定的应用。假设用户按下的是按键F1,则BIOS调用模块首先启动Linux操作系统,然后运行该以Linux为操作系统的多媒体欣赏应用;假设用户按下的是按键F2,则BIOS调用模块启动备份恢复应用。
步骤208返回BIOS POST流程。
一般情况下,在BIOS POST流程的最后阶段执行本发明的流程,以保证应用功能模块可以顺利执行各种应用。不过,当应用功能模块所执行的应用的运行不一定需要完整执行BIOS POST流程的情况下,只要能够保证应用功能模块的功能足以实现,也可以在执行BIOS POST流程的中间过程中执行本发明。
以上过程中,在步骤201中BIOS准备BIOS参数表,在步骤207中BIOS调用模块根据BIOS参数表启动具体的应用。可选的,根据具体的应用需求,如果不需要对应用进行选择,并且启动应用也不需要特别的参数,则在步骤201中BIOS也可以不准备参数表。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种扩展基本输入输出系统BIOS功能的方法,其特征在于,该方法预先在BIOS中设置BIOS调用模块、在硬盘中设置应用功能模块,该方法进一步包括以下步骤A、BIOS完成硬件检测和初始化后,运行所述BIOS调用模块;B、所述BIOS调用模块调用所述应用功能模块;C、所述应用功能模块执行应用。
2.根据权利要求1所述的方法,其特征在于,所述在硬盘中设置应用功能模块为在硬盘的保护分区中设置应用功能模块。
3.根据权利要求1所述的方法,其特征在于,所述在硬盘中设置应用功能模块为在第一主硬盘PM或者第一从硬盘PS或者第二主硬盘SM或者第二从硬盘SS中设置应用功能模块。
4.根据权利要求1所述的方法,其特征在于,该方法进一步包括在步骤A与步骤B之间,BIOS进一步判断是否找到所述应用功能模块,如果是则执行步骤B,否则结束。
5.根据权利要求4所述的方法,其特征在于,所述BIOS判断是否找到应用功能模块为BIOS循环查找所有硬盘以判断是否找到所述应用功能模块、或者BIOS查找第一个硬盘以判断是否找到所述应用功能模块、或者BIOS查找特定的硬盘以判断是否找到所述应用功能模块。
6.根据权利要求1所述的方法,其特征在于,步骤C所述应用功能模块执行应用为所述应用功能模块运行操作系统。
7.根据权利要求6所述的方法,其特征在于,其特征在于,所述的操作系统为UNIX操作系统、或LINUX操作系统、或视窗Windows操作系统、或者磁盘操作系统DOS。
8.根据权利要求1所述的方法,其特征在于,其特征在于,步骤C所述应用功能模块执行应用为应用功能模块运行不依赖于操作系统的应用。
9.根据权利要求1所述的方法,其特征在于,步骤C所述应用功能模块执行应用为所述应用功能模块执行操作系统恢复备用功能。
10.根据权利要求1所述的方法,其特征在于,该方法进一步包括BIOS在步骤A中完成所述硬件检测和初始化之后,在步骤A中运行所述BIOS调用模块之前准备BIOS参数表,在步骤B和步骤C之间所述应用功能模块进一步读取所述BIOS参数表;步骤C中应用功能模块根据所述BIOS参数表执行应用。
11.根据权利要求9所述的方法,其特征在于,所述参数表包括用户输入信息,步骤C为应用功能模块执行与所述用户输入信息相对应的应用。
全文摘要
本发明公开了一种扩展基本输入输出系统(BIOS)功能的方法,包括以下步骤预先在BIOS中设置BIOS调用模块、在硬盘中设置应用功能模块;BIOS运行BIOS调用模块;BIOS调用模块调用应用功能模块;应用功能模块执行应用。应用本发明后,普通技术人员可以直接在硬盘中对应用功能模块进行开发或者修改,并不需要直接在BIOS进行修改,极大地提高了BIOS开发的灵活性,并且降低了BIOS生产厂家的负担。而且本发明不会增加对BIOS存储芯片的需求,极大地降低了成本。本发明还不会产生大量的BIOS测试工作量,还可以显著地提高开发效率。
文档编号G06F9/445GK1797335SQ20041010357
公开日2006年7月5日 申请日期2004年12月30日 优先权日2004年12月30日
发明者张雅, 刘大鹏, 张建辉 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1