CN1979416A - 驱动程序加载系统及方法 - Google Patents
驱动程序加载系统及方法 Download PDFInfo
- Publication number
- CN1979416A CN1979416A CN 200510127483 CN200510127483A CN1979416A CN 1979416 A CN1979416 A CN 1979416A CN 200510127483 CN200510127483 CN 200510127483 CN 200510127483 A CN200510127483 A CN 200510127483A CN 1979416 A CN1979416 A CN 1979416A
- Authority
- CN
- China
- Prior art keywords
- driver
- bios
- hardware cell
- memory module
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
一种驱动程序加载系统及方法,应用在组设有硬件单元的电子设备中,本发明驱动程序加载系统包括:存储模块,储存各硬件单元的驱动程序;映像模块,记录各硬件单元的驱动程序在该存储模块中的实体储存地址,并建立相应的映像表;以及处理模块,识别该基本输入输出系统及操作系统需加载驱动程序的硬件单元,并借由该映像模块建立的映像表,找出该硬件单元对应的驱动程序在该存储模块中的实体储存地址;本发明借由映像方式,令电子设备的基本输入输出系统及操作系统调用同一硬件单元的驱动程序并予以加载,不仅各硬件单元在BIOS控制接口中充分发挥其性能,也能降低BIOS储存芯片的成本以及硬件单元驱动程序的开发成本,同时还能提高计算机启动速度。
Description
技术领域
本发明是关于一种驱动程序加载技术,特别是关于一种令基本输入输出系统(Basic Input Output System,BIOS)以及操作系统(OperationSystem,OS)调用同一驱动程序数据的驱动程序加载系统及方法。
背景技术
随着计算机技术的蓬勃发展其功能也日趋强大,其中,计算机系统中可扩展的接口设备(例如键盘、鼠标以及显示器等硬件)正是实现其强大功能的重要组成部分,计算机系统必须加载相应的接口设备驱动程序才可连接并控制该接口设备。
目前计算机设备在开启电源后,即开始执行BIOS以检测该计算机设备中各硬件部件是否运行正常,并在检测工作正常无误后,进入操作系统(例如Windows操作系统),现有BIOS提供的设备驱动程序是仅用于计算机在执行BIOS启动时加载使用,在计算机进入windows系统后,会将该BIOS提供的设备驱动程序从内存中释放掉,并重新加载储存在windows平台下的驱动程序。
然而,现有设备驱动程序的加载方式仍有些许缺点。首先,由于受到flash芯片容量大小的限制,它只能储存一些属于基本配置的硬件单元的驱动程序,例如键盘、鼠标等数据容量较小的驱动程序。因而会造成其它部份硬件单元在计算机执行BIOS时,无法充分发挥其性能。
其次,若使用者希望在不开机的情况下,也就是在不进入windows操作系统的前提下,就可使用某一接口设备的功能,然由于接口设备的复杂性,其驱动程序代码占用的空间相对也就较大,因而就必须增加BIOS的内存容量,由此也就会增加BIOS的制造成本。以播放多媒体视频文件为例,若使用者希望在不开机的前提下,就能播放音频文件,则必需在BIOS中加载声卡的驱动程序。由于声卡的驱动程序代码所占的空间较大,因此就需要增加Flash芯片的储存容量,此举无疑会增加BIOS的制造成本。
再者,由于BIOS使用的接口设备驱动程序与操作系统使用的接口设备驱动程序是不相同的,因此,BIOS厂商在开发时需要编写该接口设备的驱动程序,设备厂商又要针对操作系统编写接口设备的驱动程序,由此增加了设备开发成本以及开发时间,同时也造成了重复作业。
此外,由于BIOS与操作系统是使用不同的接口设备驱动程序,在BIOS启动后进入操作系统时,操作系统必须在BIOS启动时先将加载的驱动程序从内存中释放,然后再重新加载储存在该操作系统平台下的驱动程序,不仅降低了系统启动速度,也会延长系统启动时间。
为此,如何提供一种驱动程序加载系统及方法,可使计算机设备中的BIOS与操作系统共享同一接口设备驱动程序,且使接口设备在BIOS控制接口下也能充分发挥其性能,成为目前亟待解决的课题。
发明内容
为克服上述现有技术的缺失,本发明的主要目的在于提供一种驱动程序加载系统及方法,可令电子设备中的BIOS及OS调用同一驱动程序资源予以安装,减少驱动程序资源的储存空间。
本发明的另一目的在于提供一种驱动程序加载系统及方法,令组设在计算机设备中的各硬件单元在BIOS控制接口中充分发挥其性能。
本发明的再一目的在于提供一种驱动程序加载系统及方法,可降低BIOS储存芯片的储存容量,降低BIOS芯片的制造成本,也可降低硬件单元驱动程序的开发成本。
本发明的又一目的在于提供一种驱动程序加载系统及方法,可提升计算机操作系统的启动速度。
为达上述目的及其它目的,本发明提供一种驱动程序加载系统及方法。本发明的驱动程序加载系统应用在组设有硬件单元的电子设备中,提供该电子设备的基本输出输入系统(Basic Input Output System,BIOS)及操作系统(Operation System,OS)自动加载各硬件程序的驱动程序,该驱动程序加载系统包括:存储模块,储存各硬件单元的驱动程序;映像模块,记录各硬件单元的驱动程序在该存储模块中的实体储存地址,并建立相应的映像表;以及处理模块,识别该基本输入输出系统及操作系统需加载驱动程序的硬件单元,并借由该映像模块建立的映像表,找出该硬件单元对应的驱动程序在该存储模块中的实体储存地址,供该基本输入输出系统及操作系统执行相应的驱动程序加载作业。
本发明的驱动程序加载方法应用在组设有硬件单元的电子设备中,提供该电子设备的基本输入输出系统及操作系统自动加载各硬件单元的驱动程序,该驱动程序加载方法包括下述步骤:收集各硬件单元的驱动程序,并储存在特定的存储模块中;记录各硬件单元的驱动程序在该存储模块中的实体储存地址,生成相应的映像表;以及识别该基本输入输出系统及操作系统需加载驱动程序的硬件单元,并借由映像表找出该硬件单元对应的驱动程序在该存储模块中的实体储存地址,供该基本输入输出系统及操作系统执行相应的驱动程序加载作业。
本发明的驱动程序加载系统及方法是借由映像方式,令电子设备的基本输入输出系统及操作系统调用同一硬件单元的驱动程序并予以加载,如此不仅可令各硬件单元在BIOS控制接口中充分发挥其性能,也能降低BIOS储存芯片的制造成本,以及硬件单元的驱动程序的开发成本,同时还能提高计算机启动速度。
附图说明
图1是本发明的驱动程序加载系统的基本架构示意图;
图2是本发明的驱动程序加载方法的操作流程示意图;以及
图3是本发明的驱动程序加载系统生成的映像表实施例示意图。
具体实施方式
实施例
该图1是一方块图,显示本发明的驱动程序加载系统100的基本架构示意情形。如图所示,本发明的驱动程序加载系统100是应用在组设有硬件单元13的电子设备10中,提供该电子设备10中的基本输入输出系统(Basic Input Output System,BIOS)11(以下简称BIOS)及操作系统(Operation System,OS)12(以下简称OS)自动加载各硬件单元13的驱动程序。在本实施例中,该电子设备10是个人计算机、笔记本型计算机、个人数字助理等装设有相关操作系统的电子设备10,且该电子设备10还具有储存相关程序数据的硬盘(未图出),该硬件单元13是鼠标、键盘、声卡(audio)以及显卡(video)等接口设备,并借由接口单元(未标出)组设在该电子设备13中,其中,该接口单元包括外围组件接口(Peripheral Component Interface,PCI)、图形加速接口(AcceleratedGraphic Port,AGP)、串行接口、并行接口以及通用串行总线(UniversalSerial Bus,USB)等可扩展的接口设备。
如图所示,本发明的驱动程序加载系统1至少包括存储模块101、映像模块110以及处理模块120。
该存储模块101是储存各硬件单元13对应的驱动程序,在本实施例中,是将各硬件单元13的驱动程序写入到该电子设备10的只读存储器中,其中,该只读存储器是指硬盘中一固定分区,且该分区不能被该操作系统(例如WINDOWS系统)所识别,以避免该分区被该操作系统格式化。其中,该存储模块101至少储存有驱动程序名称、偏移位置以及程序数据等字段,该驱动程序名称是储存该驱动程序对应的硬件单元13的名称;该偏移位置则记录该驱动程序数据对应的储存容量值;该程序数据则储存该驱动程序相应的数据内容。
该映像模块110是记录该存储模块101中各硬件单元13的驱动程序的实体储存地址,并建立相应的映像表111。其中,该实体储存地址是各驱动程序储存在该只读存储器中的起始实体地址。请参阅图3,它是本发明的驱动程序加载系统100生成的映像表111实施例示意图。如图所示,在起始地址字段2下具有一用以标示该映像表111存在的识别码字段21、一用以标示该映像表111所占字节数的长度字段22以及一用以记录该映像表111储存在该电子设备10硬盘中的起始实体地址的存储器地址字段23;此外,该映像表111还记录有各驱动程序对应的驱动程序识别名称及其对应的储存地址数据,由于该技术是现有技术,故在此不予赘述。需注意的是,该映像表111中记录的内容均是以BIOS11及OS12能识别的二进制(binary)代码表示;需说明的是,该硬件单元驱动程序映像表111的描述形式可有多种变换形式,并非以本图所示为限。
该处理模块120是识别该BIOS11及OS12需加载驱动程序的硬件单元13,并借由该映射表111找出该硬件单元13对应的驱动程序的实体储存地址,供该BIOS11及OS12执行相应的驱动程序加载作业。其中,该处理模块120还包括识别单元121、查询单元122、调用单元123以及加载单元124。
该识别单元121识别该BIOS11及OS12待加载驱动程序的硬件单元13,在本实施例中,该识别单元121是识别待加载驱动程序的硬件单元13对应的识别号(Device ID)。
该查询单元122是依据该识别单元121的识别结果,从该映射表111中查询该硬件单元13对应的驱动程序的实体储存地址。具体而言,该查询单元122是依据该识别单元121识别出的硬件单元13对应的识别号,与该映射表111中各字段所记录的识别号码进行对比,查找出所需的驱动程序的实体储存地址。
该调用单元123是依据该查询单元122的查询结果,从该存储模块111中提取相应的驱动程序数据。
该加载单元124则自动该调用单元123提取的驱动程序加载到该BIOS11或OS12中,其中,该加载单元124是借由一驱动安装程序令该BIOS11或OS12自动将该驱动程序安装在该电子设备10中。
图2是一流程图,它是本发明的驱动程序加载方法的运作流程示意图,在本实施例中,它是借由本发明的驱动程序加载方法供电子设备10中的BIOS11自动加载各硬件单元13的驱动程序的操作步骤。
如图所示,首先执行步骤S200,收集各硬件单元13的驱动程序,并将该程序数据写入到该电子设备10的存储模块101中,接着进到步骤S210。
在步骤S210中,记录各硬件单元13的驱动程序并储存在该存储模块101中的实体储存地址,生成相应的映像表111,接着进到步骤S220。
在步骤S220中,开启该电子设备10的电源,令该电子设备10启动执行BIOS11,并识别该BIOS11待加载驱动程序的硬件单元13,在本实施例中,是识别待加载驱动程序的硬件单元13对应的识别号,接着进到步骤S230。
在步骤S230中,依据该识别出的硬件单元13的识别号,由该映射表111寻找出该硬件单元13对应的驱动程序的实体储存地址。请配合参阅图3,在进行实际操作时,首先是通过读取识别号字段21以找到该映像表111储存地址,并通过长度字段22及存储器地址字段23识别出该映像表111的起始实体地址及最终实体地址,在本实施例中,该起始实体地址是由本发明的驱动程序加载方法在执行实际作业时,以随机方式确定;并依据该识别出的硬件单元13的识别号,寻找该映射表111中具有相同识别号的字段,接着进到步骤S240。
在步骤S240中,依据寻找出的实体储存地址,从该存储模块101中提取相应的驱动程序数据,接着进到S250。
在步骤S250中,执行一驱动安装程序,将该提取的驱动程序安装在该电子设备10的BIOS11中。
综上所述,本发明的驱动程序加载系统及方法通过在电子设备的存储器中建立各硬件单元驱动程序的映像表,在该电子设备的BIOS或OS需加载相关硬件单元的驱动程序时,可通过读取该存储器中的映像表,直接寻找出待加载驱动程序的实体储存地址并予以安装,因此,通过本发明可令电子设备的BIOS及OS共同调用同一驱动程序资源,无须在BIOS及计算机硬盘中分别储存硬件单元的驱动程序,减少驱动程序资源的储存空间;再者,本发明可提供电子设备的BIOS通过映像表直接调用储存在硬盘中的驱动程序并予以安装,因此,可使组设在该电子设备的各硬件单元在BIOS中充分发挥其性能,无须受到BIOS内存储存容量的限制;本发明是将所有硬件单元的驱动程序储存在硬盘中,因此,可降低BIOS储存芯片的储存容量,降低了BIOS储存芯片的制造成本,以及硬件单元的驱动程序的开发成本;本发明无须在计算机启动进入OS后,将BIOS加载的硬件驱动程序从内存中释放,再重新加载OS的驱动程序,因此可提高计算机启动速度。因此,本发明的驱动程序加载系统及方法确实可解决现有设备驱动程序加载BIOS与操作系统时面临的问题。
Claims (9)
1.一种驱动程序加载系统,应用在组设有硬件单元的电子设备中,提供该电子设备的基本输入输出系统及操作系统自动加载各硬件单元的驱动程序,其特征在于,该驱动程序加载系统包括:
存储模块,储存各硬件单元的驱动程序;
映像模块,记录各硬件单元的驱动程序在该存储模块中的实体储存地址,并建立相应的映像表;以及
处理模块,识别该基本输入输出系统及操作系统需加载驱动程序的硬件单元,并借由该映像模块建立的映像表,找出该硬件单元对应的驱动程序在该存储模块中的实体储存地址,供该基本输入输出系统及操作系统执行相应的驱动程序加载作业。
2.如权利要求1所述的驱动程序加载系统,其特征在于,该存储模块是只读存储器。
3.如权利要求2所述的驱动程序加载系统,其特征在于,该实体储存地址是各驱动程序储存在该只读存储器中的起始实体地址。
4.如权利要求1所述的驱动程序加载系统,其特征在于,该映像表还包括记录各驱动程序对应的储存容量值。
5.如权利要求1所述的驱动程序加载系统,其特征在于,该处理模块还包括:
识别单元,识别该基本输入输出系统及操作系统需加载驱动程序的硬件单元;
查询单元,依据该识别单元识别的硬件单元,从该映像表中查询该硬件单元对应的驱动程序在该存储模块中的实体储存地址;
调用单元,依据该查询单元查询的实体储存地址,从该存储模块中提取相应的驱动程序数据;以及
加载单元,自动将该调用单元提取的驱动程序加载到该基本输入输出系统及操作系统中。
6.一种驱动程序加载方法,应用在组设有硬件单元的电子设备中,提供该电子设备的基本输入输出系统及操作系统自动加载各硬件单元的驱动程序,其特征在于,该驱动程序加载方法包括下述步骤:
收集各硬件单元的驱动程序,并储存在特定的存储模块中;
记录各硬件单元的驱动程序在该存储模块中的实体储存地址,生成相应的映像表;以及
识别该基本输入输出系统及操作系统需加载驱动程序的硬件单元,并借由映像表找出该硬件单元对应的驱动程序在该存储模块中的实体储存地址,供该基本输入输出系统及操作系统执行相应的驱动程序加载作业。
7.如权利要求6所述的驱动程序加载方法,其特征在于,该存储模块是只读存储器。
8.如权利要求7所述的驱动程序加载方法,其特征在于,该实体储存地址是各驱动程序储存在该只读存储器中的起始实体地址。
9.如权利要求6所述的驱动程序加载方法,其特征在于,该驱动程序加载方法还包括记录各驱动程序对应的储存容量值在该映像表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101274832A CN100461103C (zh) | 2005-12-09 | 2005-12-09 | 驱动程序加载系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101274832A CN100461103C (zh) | 2005-12-09 | 2005-12-09 | 驱动程序加载系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1979416A true CN1979416A (zh) | 2007-06-13 |
CN100461103C CN100461103C (zh) | 2009-02-11 |
Family
ID=38130596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101274832A Expired - Fee Related CN100461103C (zh) | 2005-12-09 | 2005-12-09 | 驱动程序加载系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100461103C (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193804A (zh) * | 2010-03-03 | 2011-09-21 | 华为技术有限公司 | 一种单板驱动的加载方法和通信设备 |
CN101551755B (zh) * | 2008-04-02 | 2012-05-23 | 佳能株式会社 | 信息处理装置及信息处理方法 |
CN103176829A (zh) * | 2013-04-22 | 2013-06-26 | 东信和平科技股份有限公司 | 一种uefi内核执行外围设备驱动程序的方法及装置 |
CN104778135A (zh) * | 2015-04-15 | 2015-07-15 | 上海与德通讯技术有限公司 | 一种器件兼容方法及系统 |
CN106293747A (zh) * | 2016-08-12 | 2017-01-04 | 京东方科技集团股份有限公司 | 电子设备以及电子设备的驱动方法 |
CN106502844A (zh) * | 2016-10-11 | 2017-03-15 | 郑州云海信息技术有限公司 | 一种测试RAID存储器IO的sAS端口带宽的方法 |
CN107315695A (zh) * | 2017-06-28 | 2017-11-03 | 浪潮金融信息技术有限公司 | 输入输出驱动方法及装置、计算机可读存储介质、终端 |
WO2018171570A1 (zh) * | 2017-03-21 | 2018-09-27 | 捷开通讯(深圳)有限公司 | 一种终端开机过程的驱动程序加载方法及终端设备 |
CN110096462A (zh) * | 2019-05-08 | 2019-08-06 | 济南浪潮高新科技投资发展有限公司 | 一种PCI Option ROM保护方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1154920C (zh) * | 2000-05-19 | 2004-06-23 | 英业达股份有限公司 | 智能化安装硬件的方法 |
CN1211735C (zh) * | 2002-06-26 | 2005-07-20 | 联想(北京)有限公司 | 硬件设备驱动程序的安装方法 |
US7181609B2 (en) * | 2003-08-15 | 2007-02-20 | Intel Corporation | System and method for accelerated device initialization |
CN100375020C (zh) * | 2004-03-29 | 2008-03-12 | 仁宝电脑工业股份有限公司 | 具有即时录影功能的电脑系统与其录影的方法 |
-
2005
- 2005-12-09 CN CNB2005101274832A patent/CN100461103C/zh not_active Expired - Fee Related
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101551755B (zh) * | 2008-04-02 | 2012-05-23 | 佳能株式会社 | 信息处理装置及信息处理方法 |
CN102193804B (zh) * | 2010-03-03 | 2013-11-06 | 华为技术有限公司 | 一种单板驱动的加载方法和通信设备 |
CN102193804A (zh) * | 2010-03-03 | 2011-09-21 | 华为技术有限公司 | 一种单板驱动的加载方法和通信设备 |
CN103176829A (zh) * | 2013-04-22 | 2013-06-26 | 东信和平科技股份有限公司 | 一种uefi内核执行外围设备驱动程序的方法及装置 |
CN104778135B (zh) * | 2015-04-15 | 2018-04-27 | 上海与德通讯技术有限公司 | 一种器件兼容方法及系统 |
CN104778135A (zh) * | 2015-04-15 | 2015-07-15 | 上海与德通讯技术有限公司 | 一种器件兼容方法及系统 |
CN106293747A (zh) * | 2016-08-12 | 2017-01-04 | 京东方科技集团股份有限公司 | 电子设备以及电子设备的驱动方法 |
US10453422B2 (en) | 2016-08-12 | 2019-10-22 | Boe Technology Group Co., Ltd. | Electronic apparatus and driving method thereof |
CN106502844A (zh) * | 2016-10-11 | 2017-03-15 | 郑州云海信息技术有限公司 | 一种测试RAID存储器IO的sAS端口带宽的方法 |
WO2018171570A1 (zh) * | 2017-03-21 | 2018-09-27 | 捷开通讯(深圳)有限公司 | 一种终端开机过程的驱动程序加载方法及终端设备 |
US10871972B2 (en) | 2017-03-21 | 2020-12-22 | JRD Communication (Shenzhen) Ltd. | Method for loading driver during terminal starting up and terminal device |
CN107315695A (zh) * | 2017-06-28 | 2017-11-03 | 浪潮金融信息技术有限公司 | 输入输出驱动方法及装置、计算机可读存储介质、终端 |
CN110096462A (zh) * | 2019-05-08 | 2019-08-06 | 济南浪潮高新科技投资发展有限公司 | 一种PCI Option ROM保护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100461103C (zh) | 2009-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100461103C (zh) | 驱动程序加载系统及方法 | |
CN101421701B (zh) | 用于引导非易失性存储器的方法、设备和系统 | |
US7496744B2 (en) | Method for booting computer multimedia system with high speed data storage | |
US6453414B1 (en) | Computer system with PC cards and method of booting the same | |
KR101555210B1 (ko) | 휴대용 단말기에서 내장 대용량 메모리를 이용한 컨텐츠 다운로드 방법 및 장치 | |
US8180930B2 (en) | Information processing device, and device initialization method in the information processing device | |
CN102073514A (zh) | 基本输入输出系统的更新方法 | |
CN103593281A (zh) | 测试系统及测试方法 | |
CN110765032A (zh) | 基于系统管理总线接口对i2c存储器进行读写的方法 | |
CN111930575B (zh) | 一种固件获取方法、装置及电子设备 | |
US7849300B2 (en) | Method for changing booting sources of a computer system and a related backup/restore method thereof | |
US8099552B2 (en) | Combining resources of multiple BIOS ROMS and managing them as a single entity | |
US8046507B2 (en) | Computer, external storage and method for processing data information in external storage | |
US20060230190A1 (en) | Method and apparatus for executing application in system having NAND flash memory | |
US20050021934A1 (en) | Method for loading operating system | |
US20040230789A1 (en) | Multi memory card accessing system and implementation method thereof | |
US7246222B2 (en) | Processor type determination based on reset vector characteristics | |
US10489335B1 (en) | Apparatus and method and computer program product for accessing a memory card | |
US7278015B2 (en) | Methods and devices for DRAM initialization | |
KR20220005852A (ko) | 컨트롤러 및 컨트롤러의 동작방법 | |
CN111459848A (zh) | 一种文件碎片的整理方法、装置、存储介质及电子设备 | |
US20240296053A1 (en) | Multi-initialization implementation dxe driver loading system | |
CN100403262C (zh) | 计算机装置开机方法及使用该方法的计算机装置 | |
CN112068888B (zh) | Linux系统设备启动方法、装置及终端设备 | |
CN102760061A (zh) | 屏蔽固态硬盘存储接口差异的方法及存储系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090211 Termination date: 20111209 |