專利名稱:軟只讀存儲器的制作方法
技術領域:
本發(fā)明一般涉及計算機系統(tǒng),尤其涉及一種操作系統(tǒng),這種操作系統(tǒng)更容易適應于在具有不同固件設計的計算機上運行。
圖1是一個常規(guī)的計算機系統(tǒng)10的基本結構。計算機系統(tǒng)10的核心是一個中央處理器(CPU)或處理器12,它與一些外圍設備連接,這些外圍設備包括輸入/輸出(I/O)設備14(例如,顯示器和鍵盤),它用于用戶接口,一個永久性存儲設備(例如,一個硬盤或軟盤),用于存儲計算機的操作系統(tǒng)和用戶程序,以及暫時存儲器18(例如,隨機存取存儲器或RAM),它被處理器12使用以執(zhí)行程序指令。處理器12通過各種裝置,其中包括總線20或直接通道20,與外圍設備進行通信,計算機系統(tǒng)10可能還有許多附加的部件并未表示出來,例如,用于連接如調制解調器或打印機的串行和并行端口。熟練的技術人員可能更能理解可以把其它一些部件與圖1框圖中所示的部件一起使用。例如,一個連接到處理器12的顯示適配器以控制視頻圖像顯示器。
計算機系統(tǒng)10還包括固件24,它的主要用途在于當計算機第一次啟動時,在一種外圍設備中(通常是永久性存儲設備16)查找出并且裝入操作系統(tǒng)。查找和裝入操作系統(tǒng)的過程稱為“引導”計算機。計算機系統(tǒng)10如此設計以使得固件24初始化(或重新初始化)一種操作系統(tǒng),而不必關閉計算機并再一次接通(一種“軟”引導)。固件24實質上是一系列機器指令,它們一般存儲在只讀存儲(ROS)裝置中,例如,只讀存儲器(ROM)中。如圖2流程圖中所述,當計算機系統(tǒng)10被開機(或接收一條軟引導命令)之后,處理器12開始執(zhí)行固件指令并查找一種操作系統(tǒng)(26)。如果一種操作系統(tǒng)被找到,則它被裝入(28)到暫時存儲器18。此后,操作系統(tǒng)允許加入其它應用層,即用戶軟件程序(30)。這樣,一臺給定的計算機硬件結構能適合運行各種操作系統(tǒng)和用戶應用程序。
以上所述通常適合于任何種類的操作系統(tǒng),其中包括兩種流行的稱為MSDOS和UNIX的操作系統(tǒng)(MSDOS是微軟公司的注冊商標,UNIX是UNIX系統(tǒng)實驗室注冊商標),但是本發(fā)明對UNIX具有特殊的應用。UNIX是多用戶,多任務操作系統(tǒng),它可以從具有不同的版本的各種來源獲得,其中包括System V(美國電話電報公司),AIX(國際商業(yè)機器公司),以及Mach(NeXT計算機)。圖3示出了一個以作為一種UNIX操作系統(tǒng)裝入的引導映象32,引導映象32包括一個基本核心部分34以及一個引導文件系統(tǒng)部分36,核心34充當用戶程序和硬設備之間的媒介,還包括設備驅動程序等其它內容。引導文件系統(tǒng)36是基于RAM的文件系統(tǒng),它提供各種用戶命令以操縱、如文件、目錄和符號連接等計算機對象。當固件發(fā)現(xiàn)引導映象32時(例如,在軟盤、硬盤或光盤上),在裝入引導文件系統(tǒng)36之后,它將控制傳送給那個操作系統(tǒng)(核心34)。
一個給定的操作系統(tǒng)可在各種硬件平臺上運行,就一些操作系統(tǒng)來說,例如MSDOS,一份該操作系統(tǒng)的拷貝可以用來引導許多廠家制造的計算機,這是由于廠商間對于硬件結構和BIOS(基本輸入和輸出系統(tǒng))功能彼此保持一致。其它的操作系統(tǒng),如UNIX,由于已設計運行UNIX的各種各樣的硬件之間的巨大差異,必須具有更強的可移植性。關于這一點,引導文件系統(tǒng)36包含有硬件相關信息,例如PAL(可移植性輔助層或平臺抽象層),包括有用來與一個已知廠商的特定硬件設備進行通信的特殊指令。
與硬件相關性類似,另一個使得操作系統(tǒng)可移植降低的因素是它的固件相關性。大多數(shù)操作系統(tǒng)都有很多固件相關性,影響操作系統(tǒng)可移植性的兩個具體的方面是硬件的始化和一種用于描述計算機系統(tǒng)能力的機制。由系統(tǒng)固件所執(zhí)行的這些功能千差萬別,操作系統(tǒng)必須進行修正以支持這些分散于整個軟件當中變化所造成的差異,即對于一臺UNIX類型工作站,差異并沒有由PLA加以說明,以至于該核心必須重建。當操作系統(tǒng)與新的硬件通信時,這可能是主要的問題。當一個系統(tǒng)的硬件/固件不能正確工作時,或當特定的硬件狀態(tài)或功能已留給固件時,但該固件與操作系統(tǒng)不兼容,也會出現(xiàn)問題。例如,該核心不能清除由固件留下的熱中斷。有時,該核心還需要一些特定信息,該信息由固件中的控制塊所傳遞。例如,在一個計算機系統(tǒng)中處理器的類型、總線結構、時間和日期等信息。因而,需要提供一種方法以使操作系統(tǒng)從固件相關性隔離開,如果該方法能使固件功能性得以校正或修改,則將更進一步受益。
本發(fā)明的一個目的在于為計算機提供一種改進的操作系統(tǒng)。
本發(fā)明另外的目的在于提供這樣一種操作系統(tǒng),通過降低固件相關性實現(xiàn)更強的可移植性。
本發(fā)明其它的目的在于提供一種校正固件中任何的缺陷,或者改變固件功能性的方法,以確保該操作系統(tǒng)的正確安裝。
用一種裝入操作系統(tǒng)的方法來實現(xiàn)上述目的,這種方法通常包括以下步驟確定該固件是否與一種預定義操作系統(tǒng)接口相一致,如果該固件與該預定義接口不一致,則執(zhí)行固件仿真代碼,然后裝入一種使用該預定義接口OS/固體接口的操作系統(tǒng)。用于確定是否一致的指令被包括在引導映象中,引導映象是響應固件查找出操作系統(tǒng)而裝入的,該引導映象還有固件仿真代碼以及操作系統(tǒng)(例如,用于UNIX類型工作站的核心和引導文件系統(tǒng))。該固件仿真代碼能提供該固件對該操作系統(tǒng)缺乏的相關性、修復固件中的缺陷,或甚至為預定義接口解釋該固件的功能。該引導映象由與計算機處理器連接的輸入設備裝入的媒介上提供,該媒介是可拆卸的(例如,一張軟盤,或一張光盤)。
這種方法把操作系統(tǒng)從固件相關性中隔離開,以使得操作系統(tǒng)可移性更好,還有其它的優(yōu)點,例如,簡化測試或修復有缺陷的固件。因為它把所有對固件的相關性都放在一個模塊中了。
本發(fā)明上述的以及其它的目的、特征和優(yōu)點在下面詳細的書面說明中將是顯而易見的。
本發(fā)明新穎的令人信服的特征如附帶的權利要求書中所述。然而,通過參考附圖對示范性實施例的具體說明,本發(fā)明本身以及一種最佳使用模式、更進一步的目的以及其中的優(yōu)點,將會更深入的理解。
圖1是傳統(tǒng)計算機系統(tǒng)框圖;圖2是說明本發(fā)明操作系統(tǒng)基本引導順序的流程圖3是現(xiàn)有技術UNIX引導映象的表示法;圖4是根據(jù)本發(fā)明,描述使用軟固件后,該基本引導序列的流程圖;以及圖5是根據(jù)本發(fā)明適合于UNIX類型工作站的一種引導映象表示。
本發(fā)明是對一臺計算機上裝入一種操作系統(tǒng)的方法的修正,該計算機在各種可能的固件設計中采用一種特定的固件。該計算機系統(tǒng)的硬件可能包括如圖1所示的各個組成部分,但該計算機系統(tǒng)不必是傳統(tǒng)的,即它可能包括一些新的硬件部分或包括現(xiàn)有部件新穎的互聯(lián)結構。
現(xiàn)在參看圖4,它是根據(jù)本發(fā)明描述一種操作系統(tǒng)是如何安裝的流程圖。正如現(xiàn)有技術操作系統(tǒng)一樣,以該固件在某一種存儲設備,例如一張軟盤(40)開始(當計算機第一次啟動或響應軟引導命令時),作為裝入本發(fā)明操作系統(tǒng)的引導序列的一個步驟。然而,在本發(fā)明中還提供了引導映象,它不但包括操作系統(tǒng),進而還有新穎的組成部分。例如,一個充當該固件和該操作系統(tǒng)的接口的可運行的文件,這個組成部分可稱為“軟ROS”(soft ROS)或“軟固件”(soft firmware),因為它具有與該固件ROS相似的功能,但它也在包括操作系統(tǒng)的介質上以軟件形式提供。該引導映象如此設計以便在固件的控制轉移該引導映象(42)后立即執(zhí)行軟ROS,然后,該軟ROS判定該固件和硬件是否與操作系統(tǒng)的預定義接口相適應,以及初始狀態(tài)要求是否與那個操作系統(tǒng)相適應。如果相一致,則不必修改固件功能性,然后,軟ROS把控制傳遞給操作系統(tǒng),并執(zhí)行操作系統(tǒng)(46),但是,如果該固件與那個接口并不相適應,則在操作系統(tǒng)運行之前(48)運行固件仿真模塊(包括在軟ROS中)。這種固件仿真代碼給操作系統(tǒng)提供該系統(tǒng)固件缺少的任何相關性,然后運行操作系統(tǒng)(46),以后,操作系統(tǒng)允許加入其它應用層,即用戶軟件程序(50)。
這種方法把操作系統(tǒng)與固件的相關性隔離開,并且簡化了操作系統(tǒng)與新型號機器通信的工作。銷售商可以把他自己的軟ROS放在該引導映象中,以使該配置的數(shù)據(jù)能改進成為標準化接口。該固件的接口定義包括系統(tǒng)硬件的初始狀態(tài),以及由固件所提供信息的格式。這些參數(shù)是事先知道的,由于該特殊硬件平臺的銷售商提供一個軟ROS以使得它的固件適應于該操作系統(tǒng)的技術特性。換句話說,該軟ROS測試該系統(tǒng)以便檢查在預定的存儲單元所裝入的所期望的數(shù)據(jù)串或特定值。這種方法簡化了測試工作,由于該軟ROS的模塊化特性,以致于只有新的平臺才需要測試。它也有助于對現(xiàn)存固件問題的修復,由于通過該軟ROS可以采用校正的辦法,該軟ROS甚至能把一個固件接口從一種系統(tǒng)結構轉換成該操作系統(tǒng)已知的接口。
圖5示出關于一種UNIX類型操作系統(tǒng)是如何實現(xiàn)的。提供一種新的引導映象52,在它的前部是該軟ROS(即,為了使它首先運行),它還有一個核心56和引導文件系統(tǒng)58。核心56是為預定義固件接口所配置,若該機器的固件不適合,則由軟ROS提供。這種方法具有許多優(yōu)點首先把對固體所有的相關性都限定在一個模塊之中,簡化了對新固件模塊的轉換;其次,它易于支持一個模塊而不必修改操作系統(tǒng)源代碼(核心56),因為該OS/固件接口是明確定義地,并且該軟固件是一個可獨立運行的,本發(fā)明的這一特征,使得第三方開發(fā)人員能把一個操作系統(tǒng)接入他們的平臺,而不必要特許獲取操作系統(tǒng)源代碼,或操作系統(tǒng)內部的開發(fā)知識;最后,它便于說明固件/硬件問題的修復,隨著軟件升級,它比維護該固件還要簡單得多(并且花費不大)。
盡管本發(fā)明關于特定實施例已進行了描述,但這種描述并不意味著限定在有限的概念范圍內,對所公開的實施例的各種修改,以及本發(fā)明的各種可選擇的方案,對于熟練的技術人員參照本發(fā)明的描述將是顯而易見的。在不脫離本發(fā)明的精神實質和范圍可以進行修改,它所考慮的范圍是在隨后的權利要求書所定義的內容。
權利要求
1.一種為具有存儲設備、固件和處理器的計算機裝入操作系統(tǒng)的方法,由該處理器執(zhí)行的該方法包括如下步驟確定該固件是否與預定義的操作系統(tǒng)接口相適應如果該固件與該預定義接口不相適應,則執(zhí)行固件仿真代碼;以及把使用該預定義接口的操作系統(tǒng)裝入到存儲設備。
2.權利要求1的方法,其特征在于進一步包括把引導映象裝入該存儲設備的更早的步驟,該引導映象具有用于確定該固件是否與該預定義接口相適應的指令。
3.權利要求1的方法,其特征在于該固件仿真代碼提供該固件對該操作系統(tǒng)所缺少的相關性。
4.權利要求1的方法,其特征在于該固件仿真代碼為該固件對該操作系統(tǒng)的缺陷提供修改。
5.權利要求1的方法,其特征在于該固件仿真代碼對該預定義接口解釋該固件的功能。
6.權利要求1的方法,其特征在于該計算機是一臺UNIX類型工作站該操作系統(tǒng)包括一個核心和一個引導文件系統(tǒng),以及;該操作系統(tǒng)通過將該核心存儲到該存儲設備的主存部分中來裝入。
7.權利要求1的方法,其特征在于所述的確定步驟包括測試由該固件所提供信息的格式的步驟。
8.權利要求2的方法,其特征在于裝入該引導映象以響應處理器執(zhí)行來自固件的指令及查找一種操作系統(tǒng)。
9.權利要求6的方法,其特征在于進一步包括把引導映象裝入到存儲設備的較早的步驟,該引導映象具有用于確定該固件是否適應于該預定義接口的指令,而且還具有核心和引導文件系統(tǒng)。
10.權利要求8的方法,其特征在于該計算機還有輸入設備并且所述查找步驟是通過掃描輸入設備中的介質來實現(xiàn)的,該介質包括該引導映象。
11.一種計算機系統(tǒng),包括一個處理器;一個連到所述處理器的存儲設備;一個連到所述處理器的輸入設備;連到所述處理器的固件,所述固件具有從所述輸入設備查找一種操作系統(tǒng)的指令,以及一種位于所述輸入設備的介質,所述介質具有引導映象,它包括一種操作系統(tǒng)、固件仿真代碼和用于(i)確定所述固件是否適應于一種預定義操作系統(tǒng)接口,(ii)如果所述固件與該預定義接口不相適應,則運行所述固件仿真代碼,以及(iii)把使用預定義接口的操作系統(tǒng)裝入到所述的存儲設備。
12.權利要求11的計算機系統(tǒng),其特征在于所述固件仿真代碼提供所述固體對所述操作系統(tǒng)所缺少的相關性。
13.權利要求11的計算機系統(tǒng),其特征在于所述固件仿真代碼為所述固件對所述操作系統(tǒng)的缺陷提供一種修正。
14.權利要求11的計算機系統(tǒng),其特征在于所述固件仿真代碼對所述預定義接口解釋該固件的功能。
15.權利要求11的計算機系統(tǒng),其特征在于該計算機是一個UNIX類型工作站;以及所述操作系統(tǒng)包括一個核心和一個引導文件系統(tǒng)。
16.權利要求11的計算機系統(tǒng),其特征在于該存儲設備是隨機存取存儲器。
17.權利要求11的計算機系統(tǒng),其特征在于所述介質是一種相對于所述輸入設備可拆卸的介質。
全文摘要
通過定義操作系統(tǒng)和計算機的固件之間的一種接口,為計算機提供一種操作系統(tǒng)的改進方法。在該操作系統(tǒng)執(zhí)行之前,把一種可執(zhí)行的文件放在引導映象中以便運行,響應該固件查找該操作系統(tǒng)。該軟ROS包括一些確定該固件是否與該標準化接口相適應的指令,如果該固件在某些方面不適應,則軟ROS執(zhí)行一個仿真模塊。該模塊能提供固件對操作系統(tǒng)所缺少的相關性。這種方法把操作系統(tǒng)從固件相關性隔離開,使得該操作系統(tǒng)有更高的可移植性。
文檔編號G06F9/445GK1193775SQ9810384
公開日1998年9月23日 申請日期1998年2月16日 優(yōu)先權日1997年3月17日
發(fā)明者布魯斯·杰勒德·米利, 蘭德爾·克雷格·斯旺伯格, 邁克爾·斯蒂芬·威廉斯 申請人:國際商業(yè)機器公司