减少个人计算机系统中bios存贮空间的装置和方法

文档序号:6405911阅读:263来源:国知局
专利名称:减少个人计算机系统中bios存贮空间的装置和方法
本专利申请是关于同一计算机系统的、个别申明了该计算机系统的不同发明概念的一组连带申请中的一个。这些在同一天(1989年8月25日)备案的相关专利申请特地列出以便参阅,它们是(1)申请序号 ,题目“个人计算机系统中从磁盘装入BIOS*的装置和方法”,委托登记号BC9-89-024,发明人Bsalkouski等;
(2)申请序号 ,题目“个人计算机系统的初始BIOS装入”,委托话记号BC9-89-023,发明人Bealkouski等;
(3)申请序号 ,题目“防止个人计算机中未批准的BIOS存取的装置和方法”,委托登记号BC9-89-026,发明人Bealkouski等。
本发明涉及个人计算机系统,具体说,它涉及把BIOS装入个人计算机系统的方法和装置。
一般的个人计算机系统,尤其是IBM个人计算机(IBM PC)已得到广泛应用,为当今现代社会的许多方面提供电脑功能。个人计算机系统的一般定义是桌式、地板式或袖珍式微计算机,它包括单系统处理器的系统部件、显示监视器、键盘、一个或多个软盘驱动器、硬盘存贮器和任选的打印机。这种系统的具体特点之一是用一母板或系统实现部件之间的电气通信。这种系统的最初设计是为单用户提供独立的电脑功能并可为私人或小的业务部门以不贵的价格所认购。这种个人计算机系统的例子是IBM PC/AT和IBM的个人系统/2(IBM PS/2)的型号25,30,50,6070和80。
这种系统一般可分为两个系列。第一系列(通常称为系列Ⅰ型)采用总线结构,其例子是IBM PC/AT及其它IBM兼容机。第二系列(通常称为系列Ⅱ型)采用IBM的微通道总线结构,其例子是IBM PS/2的型号50到80。
在比如IBM PC的系统Ⅰ型的最早的个人计算机系统的开始阶段,就发现软件的兼容性是极其重要的。为达到这一目标,就在硬件和软件之间建立一系统常驻码(称之为“微码”)隔离层。这种码提供了用户在应用程序/操作系统与设备间的工作接口,从而使用户可以不必关心硬件设备的性能。最终,这种码被纳入基本输入/输出系统(BIOS),以使系统中可加入新的设备,并能使应用程序与具体硬件隔离。BIOS的重要性是十分明显的,因为它解除了设备驱动程序与具体设备特性的依赖关系,而提供设备驱动程序与该设备的直接接口。由于BIOS是系统的一个整体部分并且控制数据进出系统处理器的运动,所以,它常驻在系统板内并以只读存贮器(ROM)的形式移交给用户。比如,初期的IBM PC的BIOS占用8K的ROM驻留在系统板上。
随着个人计算机系统的新型式的引入,BIOS必须更新、扩充以容纳新的硬件和输入/输出装置。可以想见,BIOS的存贮容量就要增加。比如,随着IBM OC/AT的引入,BIOS增长到要求32K字节的ROM。
目前,随着新工艺的发展,系列Ⅱ型的个人计算机更复杂并且更经常地被用户采用。因为技术的迅速变化以及新的输入/输出设备加入到个人计算机系统,BIOS的修改变成个人计算机系统开发周期的一个重要问题。
比如,随着微通道结构的IBM PS/2的引入,开发出了一种重要的新BIOS,称为先进的BIOS或ABIOS。但是,为了维持软件的兼容性,系列Ⅰ模的BIOS必须包含在系列Ⅱ模的机器内。系列Ⅰ的BIOS变成兼容BIOS或CBIOS。但是,如前面对于PC/AT所述的,只有32K字节的ROM常驻在系统板内,幸好,系统可以扩充到96K字节的ROM。不幸的是,在追求与与旧系统兼容的努力中,这就是BIOS可用的最大存贮容量。这样BIOS就限制到只能在固定的存贮地址间寻址,而其可用的存贮容量是96K字节。幸运的是,即使加入ABIOS,ABIOS和CBIOS仍能挤入96K字节的ROM内。然而,96K ROM中却只有极少一部分区域可用于扩充。随着输入/输出设备的进一步增加,CBIOS和ABIOS将最终会超出ROM空间。这样,新的I/O设备将不能很方便地集成到CBIOS和ABIOS内。
由于这些问题,有必要在增加功能或至少维持现有功能的情况下减少BIOS的工作空间。因为个人计算机系统的市场行情和用户接受能力都要求维持兼容性,显然,根据本发明维持同一等级的BIOS的功能是取得成功的重要因素。所以,就需要寻找一种方法和装置来减小系列Ⅱ型机的BIOS所需的码空间。
开发本发明的目的就是全部克服上述问题。所以,本发明的目的之一就是用一种方法和装置,它把一部分BIOS存贮在直接存取存贮装置内以减小BIOS的工作容量,而仍保持与先前的BIOS的操作系统的兼容性。
本发明的另一目的是提供一种装置和方法,它使一部分BIOS被执行,而后使它不能被系统所存取。
本发明的又一目的是提供一种BIOS记录格式,它按功能将BIOS分段,以便把只执行一次的BIOS程序贮存在ROM内,而将多次执行的BIOS程序贮存在直接存取存贮装置内。
一般来说,本发明的个人计算机系统包括系统处理器,随机存取主存贮器,只读存贮器和至少一个直接存取存贮装置。只读存贮器内包含BIOS的第一部分,而其余部分包含在直接存取存贮装置内。该第一BIOS部分包含用于初始化和上电予置的程序,而其余BIOS部分包含操作系统反复使用的程序。工作时,第一部分BIOS初始化系统处理器及直接存取存贮装置,以从该直接存贮装置中读出主引导记录装到随机存取存贮器内。
该主引导记录包括数据段和执行码段。该数据段包含被该主引导记录所支持的系统硬件和系统配置的表征数据。通过检查该主引导记录的数据段的数据与系统处理器、系统板和微的Z/O配置的一致与否,第一BIOS部分就可确认该主引导记录与系统硬件的兼容性。
若主引导记录与系统硬件相兼容,第一BIOS部分就引导系统处理器去执行主引导记录的可执行代码段。然后系统就抛弃该第一BIOS部分。可执行代码段确认系统配置及有改变,就从直接存取存贮装置把余下的BIOS部分装入随机存取存贮器。然后,可执行码段就验证余下BIOS部分的真空可靠性,而后使系统处理器开始执行随机存取存贮器中的余下的BIOS。该余下的BIOS部分只包含操作系统正常工作所必需的程序。而放弃了不再可寻址的并被余下BIOS部分所取代的第一BIOS部分。
上述概念和本发明的其它特点,将结合附图在下面详细说明,这些附图是

图1是个人计算机系统的剖面图,它示出系统主板与多个直接存取存贮装置相接连;
图2给出了图1的个人计算机系统的系统方框图;
图3是主板上包含的ROM BIOS的存贮器映射图;
图4是说明从直接存取存贮装置装入BIOS映象的全过程的流程图;
图5说明主引导记录的记录格式;
图6A是说明IBL(初始BIOS装入)程序工作的流程图;
图6B是说明从硬盘装入BIOS映象的步骤的流图;
图6C是说明从软盘装入BIOS映象的步骤的流程图;
图6D是检查主引导记录主主板/处理器之间兼容性的详细流程图;而图7是执行主引导记录的可执行码段以装入BIOS映象的详细流图。
下述详细说明是执行本发明的最好表达方式。这些说明不是限定本发明的范围,而只是为了说明本发明的一般原理,因为附属的权利要求已完全限定了本发明的范围。
现参看附图,尤其是图1,它给出了一种个人计算机系统10的剖面图,该系统具有多个DASD(直接存取存贮装置)12-16,它们通过多个I/O槽18与系统板24相连。电源22以熟知的方式而系统10提供电力。系统板24包括一系统处理器,它在指令的控制下工作以输入,处理并输出信息。
在流程中,个人计算机系统10的设计首先是给小组用户或单个用户提供独立的电脑功能,并以不贵的价格被个人或小公司认购。在工作上,系统处理器在诸如IBM OS/Z操作系统或者PC-DOS操作系统下运行。这类系统包括-BIOS以实现BASD12-16与操作系统间的接口。划分为功能块的一部分BIOS贮存在系统板24的ROM中,此后称为ROM-BIOS提供硬件与操作系统软件间的接口,以使程序员或用户在不必深入到具体设备的工作原理就能对他们的机器编程。比如,BIOS的软盘模块可使程序号不必有软盆驱动器硬件方面的深入知识就可以编写软盘驱动程序。这样,就可以在系统中采用不同公司设计并制造的许多软盘驱动器。这不仅减低了系统的造价,也使用户可在许多软盘驱动器中进行挑选。
在涉及本发明的上述结构之前,可以光复习一下个人计算机系统10的一般工作原理。参看图2,它给出了个人计算机系统10的框图。图2说明了主板24上的元件以及主板24对I/O槽18和其它个人计算机系统硬件的连接。主板24上有一系统处理器,它是一种微处理器,它通过本地总线28与存贮控制器30相接,而它又与随机存取存贮器(RAM)相连。尽管可以用任何适当的微处理器,一种合适的微处理器是Intel公司销售的80386。
尽管此后对本发明是具体参照图2的系统框图来说明的,但应记住说明开头所指出的本发明的装置和方法也可用于其它的主板硬件配置。比如,系统处理器可以是Intel 80286或80486微处理器。
处理器可以存取主板识别号(ID)。该主板ID对于该主板是唯一的并且它标识了所用的主板的类别。比如,可以通过系统/处理器的一个I/O口利用开关来读出硬布线的主板ID。
本地总线28还通过总线控制器34连接到主板24上的只读存贮器(ROM)36。
一附加的非易失性存贮器(NVRAM)58通过一串行/并行口接口40(它与总线控制器34相接)接到微处理器26上。即非易失性存贮器可以是带备用电池的CMOS类存贮器,以便在系统一旦掉电时能保持其信息。因为ROM一般驻留在主板上,所以贮存在ROM中的型号和子型号的值可分别用以标识系统处理器和系统板I/O的配置。从而这些值就是处理器和系统板I/O配置的物理标识。该NVRAM用于贮存系统配置数据。即,该NVRAM包含的值说明了系统的当前配置。比如,NVRAM包括有说明硬盘或软盘的容量、显示器的类型、内存容量、时间、日期等信息。此外,当执行一专门的配置程序(比如SET)时,就把贮存在ROM中的型号和子型号值复制剂NVRAM中。SET配置程序的目的就是把继志系统配置的值贮存在NVRAM中。所以,对已正确配置的系统,其NVRAM中的型号和子型号的值将分别等于ROM中的型号和子型号值。如若这些值不相等,就表明系统配置已被修改了。可参看图60,它结合装入BIOS对这种性质有详细说明。
下面,继续参照图2进行我们的讨论。总线控制器34还通过I/O总线43连接到I/O槽18、串行/并行接口40和外围设备控制器42还连接键盘44、鼠标器46、诊断面板47和软盘控制器64。除了NVRAM58外,串行/并行接口40还连接到串行口48和并行口50,以便把信息输入/输出到打印机等硬烤贝装置。如所熟知,本地总线28也可以连接高速缓存控制器52、高速缓冲存贮器68、协处理器54和DMA控制器56。
系统处理器26控制其内部操作以及与个人计算机系统10的其它部件的接口。比如,如图所示,系统处理器26连接一小计算机系统接口(SCSI)I/O卡60,后者又接到一种直接存取存贮装置,比如硬盘驱动器62。应了解,根据本发明,只有SCSI硬盘/适配器可用于连接硬盘。除了硬盘62之外,系统处理器26也可接软盘控制器64,它控制软盘驱动器66。关于所用术语,也应知道“硬文件”一词是说明硬盘驱动器62,而“软盘”一词则说的是软盘驱动器66。
在本发明之前,ROM36可包容实现操作系统与硬件设备接口的全部BIOS码。但是,根据本发明的一个目标,ROM36只适于贮存BIOS的一部分。该部分只包括系统初始化以及BIOS的第二部分或余下部分装入所用的程序。当该第一部分BIOS被系统处理器26执行时,它或者从硬盘62或者从软盘66输入第二部分或余下的BIOS,此后,称它为BIOS映象。该BIOS映象取代第一BIOS部分,并且它包含重复使用的程序,因而是系统的不可分割部分。实际上,这些程序总是驻留在如RAM32这样的主存贮器内。贮存在ROM36中的第一部分BIOS(ROM-BIOS)将用图3-4作简要说明,而用图6A-D详细说明。BIOS的第二部分(BIOS映象)将用图5来说明,而BIOS映象的装入用图7来说明。从DASD装入BIOS映象的另一个好处是可以直接把BIOS装入系统处理器的RAM32。因为存取RAM比存取ROM快得多,所以可大大改善计算机系统的处理速度。
现在将说明ROM36中的BIOS的工作和从硬盘或软盘装入BIOS映象的操作。通常,一上电,处理器执行ROM-BIOS以对系统和DASD初始化,并把BIOS主引导记录装入RAM。该主引导记录包含具有确认信息的数据段和可执行码的码段。ROM-BIOS把控制传给该码段,码段用数据信息来确认硬件兼容性和系统配置。在测试硬件兼容性和系统配置合适后,该可执行码段就把BIOS映象装入RAM。该BIOS映象取代ROM-BIOS,并包括供机器操作所用的操作系统程序。为清晰起见,将把主引导记录的可执行码段称为MBR码,而把其数据段称为MBR数据。
参看图3,它是构成ROM-BIOS的各个码模块的存贮器映象图。这些码模块是仔细挑选的,它只包括系统初始化、测试硬件兼容性和装入BIOS映象所必须的程序,并提供与用户的通信。ROROM-BIOS包括加电自侧(POST)阶段Ⅰ模块70、初始BIOS装入(IBL)程序模块72、软盘模块74、硬盘文件模块76、视频模块78、诊断面板模块80、和硬件兼容性数据82简要地说,POST阶段Ⅰ模块70完成系统的予初始化和测试。IIBL程序72确定BIOS映象是从硬盘或软盘装入、检查兼容性并装入主引导记录。硬盘模块74提供对软盘驱动器的输入/输出功能。硬量文件模块76控制对硬盘或等效装置的输入/输出功能。视频模块78控制对视频I/O控制器的输出功能,后者接视频显示器。诊断面板模块80提供对系统诊断显示装置的控制。硬件兼容性数据82包括确认硬件兼容性和系统配置(它们将在后面用图5来说明)所需的数据。重要的是要注意ROM-BIOS程序不是系统平常工作所必须的。ROM-BIOS程序只在初始化、测试和装入时使用一次。然后,ROM-BIOS被放弃并由BIOS映象所取代。这种BIOS功能的分解可有效地减小正常工作条件下BIOS对存贮空间的要求。
现参看图4,它给出了从硬盘或软盘把BIOS映象装入系统的处理要点。当系统上电时,系统处理器就在步骤101和100被引到POST阶段I的入口点。POST阶段I在102只初始化及测试从所选的DASD装入BIOS映象所必须的那些系统功能。具体说,POST阶段I初始化处理器/主板功能、诊断面板、存贮器子系统、中断控制器、定时器、DMA子系统,硬盘BIOS程序(硬文件模块76),以及须要时,软盘BIOS程序(软盘模块74)。
在POST阶段I对系统予初始化之后,POST阶段I引导系统处理器到包括在初次BIOS装入模块72的初次BIOS装入(IBL)程序。在步骤104,IBL程序首先确定BIOS映象是贮存在硬盘还是要从软盆装入;然后,从所选介质(硬盘或软盘)把主引导记录装入RAM。该主引导记录包括MBR数据和MBR码。MBR数据用于确认,而执行MBR码可使BIOS映象被装入。IBL程序的细节将结合图6A-D来说明。
继续参看图4,在IBL程序把主引导记录装入RAM后,系统处理器被引导到MBR码的起始地址,并开始执行步骤106。MBR码完成一系列认证测试以决定BIOS映象的可靠性并验证系统配置。为了更好了解MBR码的操作,可直接参看图7,它是MBR码操作的详细流图。
在这些认证测试的基础上,MBR码把BIOS映象装入RAM,并把控制转到该新装入的在主存贮器内的BIOS映象,即步骤110。具体说,BIOS映象被装入到先前ROM-BIOS所占据的地址空间。就是说,若ROM-BIOS的地址是从EOOOOH到FFFFFH,则BIOS映象就被装入到该RAM地址空间从而将ROM-BIOS取代。然后控制转移到POST阶段Ⅱ,它包含在所装入的BIOS映象内,所以有效地抛弃了ROM-BIOS。现在,在步骤110,RAM中的POST阶段Ⅱ程序对剩下的系统部件初始化及测试,以便装入操作系统的引导程序。在系统被初始化并被测试后,在步骤112到114,POST阶段Ⅱ把控制传到操作系统引导区以便装入操作系统。
现回到步骤110,注意,可以通过复位功能,步骤107而进入POST阶段Ⅱ。通常,复位操作是当用户需要“热启动”时才实施的,见步骤108。比如,在键盘上同时按下ctrl-alt-del键就可执行复位操作。热启动的作用是要跳过予初始化、测试和初始BIOS装入等操作。重要的是要注意热启动并不重新调出BIOS,而是在POST阶段Ⅱ重新调出操作系统。这样,若RAM中的BIOS未受影响,在重新调出操作系统后,系统将按正常方式工作。
为清晰起见,最好现在就说明主引导记录格式的表示方法。参看图5的主引导记录构成。主引导记录包括可执行码段120和数据段122-138。这些MBR码包括DASD相关码*,它用于验证ROM-BIOS标志、检查IBL引导记录与系统的兼容性、证实系统配置并从所选的DASD(硬盘或软盘)装入BIOS映象。数据段122-138包括确定介质、识别并验证主引导记录、确定BIOS映象的位置及装入BIOS映象所用的信息。
主引导记录由一引导记录标签122来标识。该引导记录标签122可以是某种独特的比特码型,比如,该记录的前三个字节可以是字符串“ABC”。该主引导记录的完整性可用检查和值132来检测,可把它与引导记录装入时新计算出的检查和值相比较。数据段还包括至少一个兼容主板ID值134、兼容型号值及子型号值136。主引导记录的主板ID值限定了该主引导记录所适用的是哪种主板。同样,主引导记录的型号值和子型号值分别定义了该主引导记录对哪种处理器和系统配置有效。注意引导记录的标签和检查和标识有效的主引导记录,而引导记录的主板ID值、引导记录的型号值和子型号值的比较用以验证引导记录与系统的兼容性并确定系统配置是否合理。另一值引导记录码型124用以确定ROM-BIOS的有效性。该引导记录码型124与贮存在ROM中的相应码型值相比较。若两者一样,就表示是用一有效的ROM-BIOS来启动从所选介质来实现BIOS映象的装入的。
下面的说明将进一步详细叙述每一主引导记录的值及它们的功能MBR ID(122)IBL引导记录的前三个字节可由字符组成,比如“ABC”。该标鉴用以标识引导记录。
MBS码段(120)这些码通过对相应的主板ID和型号/子型号值的鉴别,来认证主引导记录与主板和处理器间的兼容性。若这些值一致,就从所选介质把BIOS映象装入RAM。若该系统映象(已装入RAM的BIOS映象)的检查和有效并且装入过程中未出差错,该MBR码将把BIOS映象映射到RAM,并且控制转移到该系统映象的POST阶段Ⅱ程序。
MBR码型(124)IBL引导记录的数据段的第一区包含一个码型,比如字符串“ROM-BIOS 1989”。把该调出的码型值与贮存在ROM中的相应的值(ROM-码型)相比较,就可以用该字符串来确认ROM-BIOS的有效性。
MBR版本日期(126)主引导记录包含一版本日期以用于更新。
系统区*指针(128)数据段包含一介质指针,它指向介质的系统区区域的开关,以便在POST阶段Ⅱ时使用。对IBL软盘,该指针是磁道-磁头-扇区格式;对硬盘,该指针是相对地地址(RBA)格式。
系统区类别(130)该系统区类别指明介质系统区的结构。有三种系统区结构全系统区、小系统区和“不存在”系统区。全系统区除了包括BIOS映象和主引导记录外,还包括建立程序和诊断程序。小系统区只包括BIOS映象和主引导记录。若系统没有硬盘文件,系统区类别就指示“不存在”。在此情况下,将从软盘进行BIOS装入。这三种系统区类别可以在系统区占用介质的多大空间上带来灵活性。
检验和值(132)该数据段的检验和值被初始化,以便对主引导记录码的记录长度值(1.5千字节)产生一有效的检验和。
MBR主板ID值(134)数据段包含了一些字串值它定义了兼容的主板ID。每一个字由16比特的主板ID构成,且该字串由其值为零的字来结束。若系统的主板ID与主引导记录中的主板ID值相匹配,即它是字串中的一个字,则IBL介质映象与系统主板相兼容。若系统的主微ID与字串中的任何一个字都不一致,则IBL介质映象与系统主板不兼容。
MBR型号和子型号值(136)数据包含一些字串值,它限定了兼容的处理器。每一个字由型号值和子型号值组成,且该字串的最末一个字的值是零。若某系统的型号和子型号值(贮存在ROM内)与字串中的一个字相匹配,则IBL介质映象与其系统处理器相兼容。若ROM中的型号和子型号值与串中的任何字都不一致,则表明IBL介质映象与系统处理器不兼容。
MBR映射*长度(138)该IBL映射长度被初始化成介质的映象块数。换言之,若BIOS映象被分成4块,该映射长度应是4,它指明有4块指针/长度区。一般该长度设置成1,因为介质映象是一个连续的128K字节的块。
MBR介质扇区大小(138)该字的值被初始化成用每扇区的字节数表示的介质扇区大小。
MBR映象块指针(138)该介质映象块指针确定系统映象块在介质上的位置。通常只有一个指针,因为介质映象是以一个连续块贮存的。对IBL软盘,这些指针是以磁道-磁头-扇区格式;对硬盘,这些指针是相对块地址格式。
介质映象块长(138)该介质映象块长指示在相应的映象块指针所定位的块的大小(以扇区计)。在128K连续介质映象的情况下(它包括BASIC所占空间在内),该区设置成256,它表示该BIOS映象块占据介质映象块指针所指位置开始的256个扇区(每扇区512字节)。
现参看图6A~D,它是IBL程序工作的详细流程图。在正常情况下,IBL程序从系统硬盘上把主引导记录装入RAM的指定地址,然后,引导系统处理器去执行该主引导记录的码段。IBL程序也包含软盘空缺方式,在次方式下,可从软盘装入主引导记录。但是若系统包含系统硬盘上的IBL介质并且NVRAM中存在有效的口令时,IBL程序不允许进入软盘空缺方式。用户有一选件可设置NVAAM中的口令字。防止进入软盘空缺方式的目的是安防止从软盘装入认可的BIOS映象。换句话说,只有在系统硬盘不能工作并且用户(通过设置的口令指出希望能从软盘装入时,才可使用软盘空缺方式。若IBL程序不能从这两种介质中装入主引导记录,就产生出错信息系系统停机。
现参看图6A,在正常情况下,系统将包含系统硬盘,IBL程序在步骤150对其初始化。为说明方便,假设把硬盘设置成个人计算机系统的驱动器C。同样,假定驱动器A是指软盘驱动器。则在步骤152,IBL程序将检查驱动器C以确定其是否包含IBL介质。现转去看图6B,它详细说明这一过程。IBL程序开始从硬盘的最后三个扇区读出,并且连续读出、使介质指针递减,对其99个扇区进行这一操作,或者直到发现有效的主引导记录为止。若发现了主引导记录,就在步骤156检查系统板和处理器的兼容性。若主板或处理器不兼容,就在步骤158报告出错信息。现返回步骤152若在硬盘的最后99个扇区(初级硬文件)中未发现主引导记录,就在步骤154报告该差错。
再回去看步骤156,若发现了主引导记录,就进行一系列认真检查,以确定该主引导记录与该计算机系统的兼容性。此外,还检查系统的配置。可参看图60,它揭示了这一过程的细节。若主引导记录与主板ID、型号及子型号相兼容,并且若系统配置未更改,就在步骤160装入该主引导记录并开始执行主引导记录的码段。
回过来参看步骤154及158,若从硬盘装入主引导记录时出错或者若硬盘不能工作,IBL程序就在步骤162确定NVRAM中是否包含有效的口令。这一口令是安决定是否能从软盘装入BIOS映象。注意,该口令只有在用户运行建立(Setup)程序进行安装时才存在。若某口令被安装在NVRAM中,步骤164,就防止从软盘装入BIOS映象。这使系统只能用硬盘上的BIOS映象进行装入,从而使用户能保证系统操作的完整性。
该口令可取贮存在NVRAM中的字符串的形式。
现回来参看步骤162,若NVRAM中不存在有效的口令,从而允许从软盘装入BIOS映象,则在步骤166,IBL程序对软盘子系统初始化。在步骤168,IBL程序确定驱动器A的软盘上是否包含IBL介质。若驱动器A不包含IBL介质,就在步骤170产生一错误信息,以通知用户驱动器A上插入的是一无效软盘。而后,系统在步骤172停机。可返回看图6C,步骤168对此有更详细的说明。
再回到步骤168,在检查驱动器A的IBL介质后,就在步骤160,把主引导记录装入RAM,并执行该主引导记录中所含的码段。要注意,软盘的IBL程序不包含硬盘系统所用的有效性检验。没有这种有效性校验的原因是为了从软盘上装入不兼容的IBL映象。比如,若一新处织器加入到系统中,软盘上应包括新的BIOS映象。因为从硬盘装入IBL映象时,新处理器会引起有效性错误,IBL程序提供一种能力,它可以从软盘装入BIOS映象而把这种有效性检验跳过。
扼要地说,该主引导记录检查系统的兼容性是通过系统板ID和处理器型号/子型号值与其引导记录值相匹配来进行的。对硬盘,这种检查首先在IBL程序进行,而后再在IBL引导记录进行。第一次检查(在IBL检序)是要证实该引导记录与系统相兼容;而第二次检查(在引导记录)是安保证兼容ROM把控制传递给该引导记录。注意,对兼容的ROM,在硬盘引导记录所做的检查将绝不会失败,因为IBL程序已检查了兼容性。但与此相对照,对软盘,则不做兼容性检查。主板/处理器兼容性检查只在软盘引导记录执行期间进行。这种方法允许未来在从一参考软盘装入新BIOS映象对进行修改。
鉴于图6A IBL程序的描述,下面将进行的说明对上面讨论的有效性测试有更深刻更全面的理解。参看图6B,它给出了图6A 152步骤的详细流图,它是要确定驱动器C上是否有有效的主引导记录。处理是从步骤200开始,以得到驱动器的参数以便使IBL程序能存取驱动器C。在步骤202,IBL装入位置被设置到硬盘的最后三个扇区(该最后三个扇区内通常包含该主引导记录)在步骤204,把指示从硬盆上读出主引导记录的尝试次数的装入计数值设置成1。在步骤208到210,检测任何硬盘驱动器错误,若出现硬盘驱动器错误。就报告出来。则在步骤212-214,处理带着错误指示返回。
回来看步骤208,若不出现驱动器错误,就在步骤216扫描硬盘记录以找出主引导记录标签。引导记录标签(比如字符“ABC”)与硬盘记录的前三个字节相比较。若硬盘记录有一有效的引导记录标签(字符“ABC”)并且装入到存贮器的硬盘记录所算出的检查和等于引导记录的检查和,则在步骤218,就指示该硬盘记录是无差错的有效引导记录。则在步骤214,处理返回。
回过来参看步骤216,若引导记录标签或检查和无效,在步骤220,装入计数增1。然后在步骤222,把该装入计数值与予定的常数比如99相比较。若读引导记录的99次尝试都失败,则沿步骤224、212及214返回。若读引导记录的尝试数小于99,则在步骤226和206,使IBL装入位置减1并从新的装入位置读三个新扇区。这样,若从最后99个扇区(等效于33个烤贝)都不能装入有效的IBL引导记录,则设置错误条件并使控制返回IBL程序。
现参看图6C,它是从驱动器A上的软盘装入主引导记录的详细流图。首先,在步骤230检索软盘驱动器参数以存取驱动器A。步骤232,IBL装入位置被设置到软盘的最后三个扇区(柱面、磁头、扇区格式)。步骤234,读最后三个扇区。在步骤236到238,指示错误,若检测到软盘驱动器错误的话。在步骤240-242,设置错误条件,并使控制返回到IBL程序。
回来参看步骤236,若没检测出驱动器错误,在步骤244,检查软盘记录的引导记录标签并计算检查和。若没有引导记录标签,或检查和无效,就在步骤246、240和242,指示错误并使控制返回IBL程序。若检测到有效的引导记录标签和检查和,就在步骤248和242建立标志并使控制返回IBL程序。注意,在软盘装入时,IBL程序并不是象在硬盘装入时那样在整个介质上检索。所以,软盘装入时,IBL介质必须贮存在软盘的指定位置。
最后,图6D给出了IBL程序是怎样测试系统板和处理器的兼容性以及系统配置是否合适的。检查主引导记录与系统板的兼容性是通过步骤260,把引导记录的板ID值与系统处理器读出的系统板ID相比较来实现的。若系统板ID与引导记录的板ID值不匹配,就表示该主引导记录与该板不兼容。就在步骤262、264和266指示出错并使控制返回IBL程序。
若主引导记录与系统板兼容,就在步骤268检查主引导记录与处理器的兼容性。引导记录的型号值和子型号值分别与贮存在ROM中的型号值和子型号值相比较。不匹配表示或者是插入了新的处理器,而该引导记录与该新处理器不兼容。就在步骤270、264和266指示出错并使控制返回到IBL程序。若主引导记录与主板和处理器相兼容,就在步骤272处理或检查以确定NVRAM是否含有可靠的信息。若NVRAM不可靠,就在步骤274和266指示出错并使控制返回IBL程序。若NVRAM可靠,就在步骤276检查系统配置。若贮存在NVRAM中的型号和子型号值与贮存在ROM中的型号和子型号值不匹配,就表示系统配置被改变了。注意,这最后一次比较将只表示配置错误。若指出了配置错误,就产生错误信息给用户。该错误通知用户自最后一次运行SET配置程序后,系统配置已被改变。就在步骤278、264和266通知用户配置被改变了并使控制返回IBL程序。该错误不是致命的错误,而只是告诉用户必须再运行SET配置程序(装置程序)。回过来参看步骤276,若系统型号/子型号值匹配,在步骤276、274和266就设置兼容性指示并使程序返回。这样,就测试了主引导记录与系统间的兼容性并判定了系统配置是否被修改了。
在IBL程序把主引导记录装入RAM之后,它就把控制传送给MBR码起始地址。参看图7,其步骤300,主引导记录的可执行码段首先检验引导记录码型与ROM码型。若引导记录的码型与ROM中的码型不匹配,就在步骤302和305产生错误信息并使系统停机。检查ROM与引导记录码型的一致性是为了保证从硬盘或软盘装入的主引导记录与板上的ROM相兼容。现通过来参看步骤300,若ROM码型与引导记录的码型相匹配,就在步骤304,由MBR码就把系统板ID值、型号及子型号值与主引导记录中的相应值相对比。这一过程已给结合图6D做了详细说明。若这些值不匹配,主引导记录与系统板和处理器不兼容或者系统配置已做了修改,就在步骤306产生错误信息。当IBL记录与主板、型号或子型号值不兼容时,系统将在步骤305停机。
回过来参看步骤304,若系统板ID值、型号和子型号值与相应的主引导记录值相匹配,MBR码就在步骤308从所选介质把BIOS映象装入系统RAM。若在步骤310读数据时出了介质装入错误,就在步骤312和305产生错误指示并使系统停机。若在310没有出现介质装入错误,就在步骤314计算存贮器中的BIOS映象的检查和。若检查和不对,就在步骤318和305,产生错误标志并使系统停机。若步骤316的检查和正确,就在步骤320保护骤统区指针,并在步骤322,把系统引导到POST阶段Ⅱ以开始装入系统。
这样,就给出了一种减小BIOS工作区的方法和装置。BIOS的第一部分贮存ROM中,它包含了系统初始化以及把贮存在一DASD的BIOS其余部分装入RAM所必须的测试程序。BIOS的第一和其余部分只在上电时执行,而其余下部分只在系统复往时才执行。
尽管本发明是以具体实施例来说明的,但对熟悉这方面技术的人可对其做许多变通,所以本发明的范围将只限在附于后面的权利要求。
权利要求
1.一种减少个人计算机系统BIOS工作区域的装置,该个人计算机系统具有一系统处理器,它在电气上与只读存贮器、随机存取存贮器和直接存取存贮装置相连接,该装置的特征是BIOS的第一部分驻留在只读存贮器内,该第一部分BIOS具有对系统和直接存取存贮装置初始化的手段;包括在其直接存取存贮装置内的主引导记录,该主引导记录包括可执行的代码段;以及包含在直接存取存贮装置内的BIOS剩余部分,该BIOS剩余部分具有操作个人计算机系统的手段,在这里,BIOS的第一部分初始化系统及该直接存取存贮装置以装入主引导记录,该第一BIOS部分把控制传递给该主引导记录的可执行代码段以便把BIOS的其余部分装入随机存取存贮器以开始操作该系统。
2.权利要求1的装置,其特征是,所述第一部分BIOS的初始化手段包括一上电自测程序,该上电自测程序只对BIOS剩余部分的装入所必需的系统功能初始化及测试。
3.权利要求2的装置,其特征是其上电自测程序初始化其系统处理器功能、存贮器子系统和直接存取存贮器装置子系统。
4.权利要求1的装置,其特征是其第一BIOS部分的初始化手段包含一装入程序,以便把其主引导记录装入随机存取存贮器并把控制传递给该主引导记录。
5.权利要求1的装置,其特征是其主引导记录还包括一数据段,该数据段表示与该主引导记录相兼容的个人计算机系统的硬件配置,并且其只读存贮器包含表示系统处理器硬件配置的数据,在BIOS的剩余部分被装入随机存取存贮器之前,该执行码段将主引导记录的硬件配置数据与只读存贮器中的硬件配置数据相比较,以验证该主引导记录与系统处理器的兼容性。
6.权利要求5的装置,其特征是其主引导记录的数据段包括表征系统板与主引导记录兼容性的值并且系统板还包括唯一标识系统板的装置以便验证主引导记录与系统板的兼容性。
7.权利要求5的装置,其特征是其主引导记录中的硬件配置数据包括型号值和子型号值,该型号值标识与其主引导记录相兼容的系统处理器,而子型号值表示与该主引导记录兼容的系统板I/O配置,并且其只读存贮器中包含标识其系统处理器的相应型号值和表示其系统板的I/O配置的子型号值,在这里,该主引导记录的型号值和子型号值分别与只读存贮器的相应型号和子型号值相比较,以便验证主引导记录与处理器和系统板的I/O配置是否兼容。
8.一种把BIOS装入个人计算机系统的装置,该个人计算机系统具有一系统处理器、只读存贮器、随机存取存贮器和至少一个直接存取存贮器装置,其特征是BIOS的第一部分包含在只读存贮器内,该BIOS的第一部分分包括初始化系统处理器和其至少一个直接存取存贮器的手段,从其至少一个直接存取存贮器装置把数据记录装入随机存取存贮器的装入装置,确认个人计算机系统与该BIOS兼容性的验证手段;包含在其至少一个直接存取存贮装置内的其余BIOS部分,该其余BIOS部分包括帮助个人计算机系统工作反复使用的程序,在这里,该第一BIOS部分对系统及其至少一个直接存取存贮装置初始化,并在确认其余BIOS部分与系统兼容后,把该其余BIOS部分装入随机存取存贮器。
9.权利要求8的装置,其特征在于其第一BIOS部分的该初始化手段包含上电自测程序,该上电自测程序只对装入其余BIOS部分所必须的那些系统功能进行初始化和测试。
10.权利要求9的装置,其特征是其上电自测程序要初始化系统处理器功能、存贮子系统、及直接存取存贮装置子系统。
11.权利要求8的装置,其特征是验证手段包含表征系统处理器类型和与该系统处理器相接的系统板的配置类型的数据。
12.权利要求11的装置,其特征是其验证手段包括指示其其余BIOS部分装入过程中出现错误的装置。
13.权利要求12的装置,其特征是上述指示错误的装置包括一诊断面板。
14.权利要求12的装置,其特征是其指示错误的装置包含一视频I/O控制器。
15.权利要求8的装置,其特征是其至少一个直接存取存贮装置包括硬盘驱动器,而其装入装置把数据记录从该硬盘驱动器装入随机存取存贮器。
16.权利要求8的装置,其特征是该至少一个直接存取存贮装置包括软盘驱动器,而所述装入装置把数据记录从该软盘驱动器装入到随机存取存贮器。
17.一种在个人计算机系统中贮存BIOS的方法,该系统包括一系统处理器,而它在电气上与只读存贮器、随机存取存贮器和直接存取存贮装置相连接,该方法的特征是有以下步骤(a)把BIOS的第一部分贮存在只读存贮器内,该BIOS的第一部分有对系统和其直接存取存贮装置置初始化的手段;(b)把BIOS的其余部分贮存在其直接存取存贮装置内,该其余的BIOS部分包含以正常方式操作个人计算机系统的手段;(c)用以第一BIOS部分对系统和其直接存取存贮装置初始化;(d)把一主引导记录装入随机存取存贮器,该主引导记录包含一可执行的代码段;(e)、把控制传递给该可执行代码段以把其BISO的其余部分装入其随机存取存贮器。
18.权利要求17的方法,其特征在于它还包括一步骤(f)在该步骤内,通过贮存在其第一BIOS部分内的数据与贮存在主引导记录内的相应数据的比较,来验证该主引导记录与系统的兼容性。
19.权利要求17的方法,其特征是还包括步骤(9),在该步骤,通过只读存贮器内的数据与该主引导记录所包含的相应数据的比较,来确认主引导记录与系统处理器的兼容性。
20.权利要求18的方法,其特征是它还包括步骤(h),它能产生主引导记录与系统不兼容的指示。
全文摘要
一种减小个人计算机系统BIOS空间的装置和方法。其BIOS的第一部分贮存在ROM内,它包含对系统和磁盘初称化的程序和表征系统硬件特征的数据,该程序可从磁盘把一主引导记录读入到系统内。该主引导记录包括表示系统硬件的配置的数据段和可执行的码段。在BIOS的第一部分验证该主引导记录与系统硬件兼容之后,就把控制传给该可执行码段,以便把贮存在磁盘上的BIOS的其余部分装入系统RAM,该BIOS包括系统正常工作所重复使用的程序。
文档编号G06F9/445GK1049731SQ9010695
公开日1991年3月6日 申请日期1990年8月11日 优先权日1989年8月25日
发明者理查德·比尔考维斯克, 吉恩·威廉·伯拉克莱得格, 多伊尔·斯坦佛尔·克劳柯, 理查德·阿兰·戴安, 斯考特·杰拉尔德·金尼, 格劳克·D·考维克, 小马太·斯太凡·帕尔卡, 罗伯特·塞克赛恩·梅尔, 凯文·马歇尔·齐沃劳斯柯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1