專利名稱:用于對計(jì)算機(jī)的自動技術(shù)支持的方法和系統(tǒng)的制作方法
這項(xiàng)專利申請整體涉及一種計(jì)算設(shè)備領(lǐng)域,更尤其涉及一種用于計(jì)算機(jī)自動支持的方法和系統(tǒng)。
個人計(jì)算機(jī)系統(tǒng)在商業(yè)和家庭中已經(jīng)日益變得普通。盡管術(shù)語“個人計(jì)算機(jī)”意味著一個通用設(shè)備,“個人計(jì)算機(jī)”通常存在一個硬件和軟件組件的廣泛差異。例如,不同的個人計(jì)算機(jī)可以有不同速度的處理器和總線,不同容量的硬盤驅(qū)動器和RAM存儲器,及被連接在不同類型的接口插件上的外部設(shè)備,比如音頻設(shè)備。更進(jìn)一步地,一大批的生產(chǎn)商制造計(jì)算機(jī)組件以至于在一個給定的個人計(jì)算機(jī)里,即使本質(zhì)上有相似操作特性的組件也可能具有基于每一個組件的生產(chǎn)商規(guī)格的重大的差異。
關(guān)于軟件,通常地所有個人計(jì)算機(jī)都有一個對于協(xié)調(diào)硬件組件操作的操作系統(tǒng)的共同需求。然而,每一個獨(dú)立的個人計(jì)算機(jī)可以有許多可能的操作系統(tǒng)中的一種。例如,Microsoft(微軟)產(chǎn)品已經(jīng)從它的最初的磁盤操作系統(tǒng)(“DOS”)發(fā)展到Windows系統(tǒng),包括Windows3.1、Windows95、Windows98、Windows CE和Windows NT。除了這些Microsoft操作系統(tǒng)之外,其他類型的操作系統(tǒng)也是可以使用的,比如不同版本的Unix,包括Linux。
除了這個操作系統(tǒng)的廣泛差異之外,個人計(jì)算機(jī)可能操作大量不同類型的軟件應(yīng)用程序。一個給定的軟件應(yīng)用程序可以以不同的方式與不同的操作系統(tǒng)相互影響。因此,即使有本質(zhì)上相似的硬件組件,有不同軟件的個人計(jì)算機(jī)可能以本質(zhì)上不同的方式操作。
計(jì)算機(jī)用戶能因?yàn)樵S多原因在操作系統(tǒng)中體驗(yàn)困難。知識缺乏、硬件故障、軟件不兼容,以及許多其他原因能給計(jì)算機(jī)用戶導(dǎo)致問題。即使給定硬件和軟件可使用的廣泛的范圍(意味著一個用戶能體驗(yàn)的硬件/軟件組合的甚至更大的范圍),也很難判定計(jì)算機(jī)是否有問題。
這個情況因?yàn)閭€人計(jì)算機(jī)沒有好的機(jī)構(gòu)來自動判定硬件/軟件系統(tǒng)是否有問題的事實(shí)而更復(fù)雜了。雖然確定的操作系統(tǒng)包含幫助檢測硬件特殊部分的一些類型問題的代碼,但這種機(jī)構(gòu)在用于判定操作系統(tǒng)是否有問題上可能不夠一致。事實(shí)上,一個操作系統(tǒng)問題的共同故障現(xiàn)象是不能引導(dǎo),在這種情況下OS不能被支持以便幫助。另一個操作系統(tǒng)問題的共同故障現(xiàn)象是掛起,在這種情況下操作系統(tǒng)因?yàn)閺V泛的多種原因?qū)︽I盤和鼠標(biāo)變得無反應(yīng)。這將被注意到這種類型的問題能被已經(jīng)安裝在操作系統(tǒng)之上的軟件部分所引起,比如一個應(yīng)用程序或者驅(qū)動程序,或者已經(jīng)被加載的軟件之間的不兼容性??蛇\(yùn)作的系統(tǒng)可能由于軟件不兼容性在一些稍后點(diǎn)停止操作。
另一個問題是缺少一個用于用戶的統(tǒng)一機(jī)構(gòu)來調(diào)用支持。如果用戶有疑問或者系統(tǒng)有問題,或者至少用戶察覺到問題,現(xiàn)在沒有統(tǒng)一的機(jī)構(gòu)來獲得這種系統(tǒng)以便嘗試著對用戶提供支持。盡管對用戶有多種類型的可以使用的幫助,但它們依賴一個或者多個工作輸入設(shè)備,比如鼠標(biāo)和/或者鍵盤,以及能夠定位在系統(tǒng)和在例如國際互聯(lián)網(wǎng)的全球信息資源上的多種信息資源中的一種足夠水平的用戶知識。
因此,對通過一個統(tǒng)一的故障保險(xiǎn)機(jī)構(gòu)就能達(dá)到而不管操作系統(tǒng)和其他軟件的功能狀態(tài)的用于識別和解決個人計(jì)算機(jī)系統(tǒng)問題、而且能在廣泛類型的操作系統(tǒng)上被實(shí)現(xiàn)的方法和系統(tǒng)的需求已經(jīng)出現(xiàn)。
對于當(dāng)操作系統(tǒng)已經(jīng)不能引導(dǎo)或者已經(jīng)掛起時能夠檢查并能采取適當(dāng)校正動作的方法和系統(tǒng)存在著更進(jìn)一步的需求。
對于包括一個監(jiān)視系統(tǒng)的這種系統(tǒng)存在著更進(jìn)一步的需求,監(jiān)視系統(tǒng)與操作系統(tǒng)通信且反之亦然并有能力與廣泛的多種不同的操作系統(tǒng)進(jìn)行通信。
對于能被調(diào)用嘗試著解決操作系統(tǒng)引導(dǎo)故障和操作系統(tǒng)掛起條件的標(biāo)準(zhǔn)機(jī)構(gòu)存在著更進(jìn)一步的需求。
對于將嘗試著解決操作系統(tǒng)掛起條件而不管在引導(dǎo)或者別的方式過程中支持是否已經(jīng)被用戶請求并且不管用戶是否已經(jīng)提出了多次支持請求的這樣的標(biāo)準(zhǔn)機(jī)構(gòu)存在著更進(jìn)一步的需求。
依據(jù)當(dāng)前公開的內(nèi)容,方法和系統(tǒng)被提供用來從本質(zhì)上消除或者減少與先前已開發(fā)的用于識別計(jì)算機(jī)系統(tǒng)問題的方法和系統(tǒng)相聯(lián)系的缺點(diǎn)和問題。監(jiān)視系統(tǒng)檢測計(jì)算機(jī)系統(tǒng)的問題并幫助識別和解決問題。確定當(dāng)前計(jì)算機(jī)系統(tǒng)的性能水平,并且依據(jù)計(jì)算機(jī)系統(tǒng)的性能提供用于計(jì)算機(jī)系統(tǒng)的技術(shù)支持。
依據(jù)這個發(fā)明的一個方面,一個狀態(tài)機(jī)監(jiān)視操作系統(tǒng)性能以便察覺計(jì)算機(jī)系統(tǒng)故障。監(jiān)視計(jì)時器本質(zhì)上與計(jì)算機(jī)系統(tǒng)引導(dǎo)程序的啟動同時被啟動并在計(jì)算機(jī)系統(tǒng)引導(dǎo)序列的預(yù)定點(diǎn)被清零。如果監(jiān)視計(jì)時器在預(yù)定時間周期之后保持未被清零則計(jì)算機(jī)系統(tǒng)引導(dǎo)故障被確定存在。例如,監(jiān)視計(jì)時器在預(yù)定時間周期期滿之前以操作系統(tǒng)服務(wù)例程被清零,從而表明操作系統(tǒng)在預(yù)定時間周期內(nèi)已經(jīng)引導(dǎo)通過引導(dǎo)序列的服務(wù)例程點(diǎn)。沒能以服務(wù)例程清零監(jiān)視計(jì)時器表明引導(dǎo)過程通過服務(wù)例程被調(diào)用的引導(dǎo)序列點(diǎn)的故障。
在一個實(shí)施例中,用戶通過按下服務(wù)按鈕啟動操作系統(tǒng)監(jiān)視以便指示計(jì)算機(jī)系統(tǒng)的問題。服務(wù)按鈕的按下在適當(dāng)?shù)臅r間啟動支持功能,比如服務(wù)應(yīng)用程序的啟動。支持功能允許通過監(jiān)視系統(tǒng)對計(jì)算機(jī)系統(tǒng)的測試。服務(wù)按鈕通過操作系統(tǒng)的調(diào)用啟動與監(jiān)視引導(dǎo)相聯(lián)系的監(jiān)視計(jì)時器??纱娴鼗蛘叱伺c監(jiān)視引導(dǎo)相聯(lián)系的監(jiān)視計(jì)時器啟動之外,服務(wù)按鈕啟動另一個作為掛起檢測計(jì)時器的監(jiān)視計(jì)時器。如果服務(wù)按鈕在計(jì)算機(jī)系統(tǒng)引導(dǎo)期間被按下,掛起檢測計(jì)時器在計(jì)算機(jī)系統(tǒng)引導(dǎo)序列的預(yù)定點(diǎn)處被啟動,比如在用戶提供注冊信息之后,并且在服務(wù)應(yīng)用程序啟動之時被清零。如果掛起檢測計(jì)時器在預(yù)定掛起檢測時間之后保持未被清零,操作系統(tǒng)掛起錯誤被識別。
依據(jù)一個實(shí)施例,計(jì)算機(jī)故障的檢測導(dǎo)致計(jì)算機(jī)系統(tǒng)重新引導(dǎo)到服務(wù)模式。服務(wù)模式引導(dǎo)服務(wù)模式操作系統(tǒng)以便即使計(jì)算機(jī)的主操作系統(tǒng)已經(jīng)失效也能分析計(jì)算機(jī)系統(tǒng)。服務(wù)模式引導(dǎo)程序的啟動也啟動了一個監(jiān)視計(jì)時器。監(jiān)視計(jì)時器在服務(wù)模式操作系統(tǒng)引導(dǎo)序列的預(yù)定點(diǎn)處被清零。如果監(jiān)視計(jì)時器在預(yù)定時間周期之后保持未被清零則計(jì)算機(jī)系統(tǒng)故障被確定存在。如果服務(wù)模式引導(dǎo)程序通過先前的用戶服務(wù)按下按鈕而被啟動并確保故障檢測,則服務(wù)模式掛起檢測計(jì)時器監(jiān)視服務(wù)模式操作系統(tǒng)引導(dǎo)序列以便檢測服務(wù)模式操作系統(tǒng)的任何掛起。
在另一個實(shí)施例中,在一個有服務(wù)按鈕和控制器芯片組的計(jì)算機(jī)系統(tǒng)中提供了用于自動支持的方法。方法包括步驟按下服務(wù)按鈕、響應(yīng)按下步驟在控制器芯片組中的通用輸入寄存器中設(shè)置第一個二進(jìn)制位以便產(chǎn)生第一中斷信號、接收第一中斷并且判定計(jì)算機(jī)系統(tǒng)是否正在引導(dǎo),和如果系統(tǒng)正在引導(dǎo)則以第一方式啟動服務(wù)應(yīng)用程序例程、或者如果系統(tǒng)沒有正在引導(dǎo)則以第二方式啟動服務(wù)應(yīng)用程序例程。
還提供了一個計(jì)算機(jī)系統(tǒng),所述計(jì)算機(jī)系統(tǒng)具有一個至少有一個計(jì)時器的處理器、一個控制器芯片組、一個系統(tǒng)BIOS、和一個用于通過BIOS與計(jì)算機(jī)系統(tǒng)的組件通信的操作系統(tǒng)。服務(wù)按鈕被連接到芯片組中的通用輸入寄存器里,用于生成引起第一中斷的寄存器。系統(tǒng)更進(jìn)一步地包括一個被連接到輸入寄存器,用來接收第一中斷并且以依賴于計(jì)算機(jī)系統(tǒng)是處在引導(dǎo)狀態(tài)還是非引導(dǎo)狀態(tài)的方式處理它的中斷處理器。
還提供了一個有系統(tǒng)BIOS和操作系統(tǒng)的計(jì)算機(jī)系統(tǒng),其中,計(jì)算機(jī)系統(tǒng)包括被連接到控制器芯片組中的通用輸入寄存器上用來在寄存器中設(shè)置一個二進(jìn)制位以生成第一中斷信號的服務(wù)按鈕。如果計(jì)算機(jī)系統(tǒng)不是在引導(dǎo)狀態(tài)中,則在系統(tǒng)BIOS中的中斷處理器接收到第一中斷信號,并且啟動第二中斷信號給操作系統(tǒng),以便啟動服務(wù)應(yīng)用程序。如果計(jì)算機(jī)系統(tǒng)是在引導(dǎo)狀態(tài),二進(jìn)制位保持設(shè)置,并且如果二進(jìn)制位已經(jīng)被設(shè)置,則被包含在操作系統(tǒng)中的代碼在以后的引導(dǎo)序列過程中檢查二進(jìn)制位狀態(tài)并且啟動服務(wù)應(yīng)用程序。
本項(xiàng)發(fā)明提供了許多重要的技術(shù)優(yōu)點(diǎn)。一個重要的技術(shù)優(yōu)點(diǎn)是對檢測與計(jì)算機(jī)系統(tǒng)相聯(lián)系的問題的綜合支持。監(jiān)視用于硬件或者操作系統(tǒng)故障的計(jì)算機(jī)系統(tǒng)引導(dǎo)序列能使問題檢測和對解決問題的支持自動化。更進(jìn)一步地,操作系統(tǒng)故障檢測允許通過使用服務(wù)模式操作系統(tǒng)而對計(jì)算機(jī)系統(tǒng)問題進(jìn)行分析和校正。
另一個重要的技術(shù)優(yōu)點(diǎn)是自動證實(shí)問題存在于計(jì)算機(jī)系統(tǒng)中。監(jiān)視系統(tǒng)已經(jīng)檢測到問題的指示最低限度給技術(shù)支持人員提供證實(shí),以減少對計(jì)算機(jī)系統(tǒng)用戶口頭描述的依賴性。問題證實(shí)限制技術(shù)支持人員需要檢查過電話訪問的過程的基本選項(xiàng)的數(shù)目。更進(jìn)一步地,如果監(jiān)視系統(tǒng)沒有檢測到問題,則技術(shù)支持人員能夠限制需要調(diào)查的問題的數(shù)目。例如,不能檢測到監(jiān)視系統(tǒng)的問題表明硬件和操作系統(tǒng)已經(jīng)以正常方式引導(dǎo),并且系統(tǒng)能夠啟動服務(wù)應(yīng)用程序。
另一個重要的技術(shù)優(yōu)點(diǎn)是與計(jì)算機(jī)系統(tǒng)相聯(lián)系的問題的識別。例如,計(jì)算機(jī)系統(tǒng)引導(dǎo)程序的監(jiān)視允許識別與硬件或者與操作系統(tǒng)相聯(lián)系的問題,或者可替換地可以表示指示與用戶或者應(yīng)用程序有關(guān)的困難的適當(dāng)?shù)挠布筒僮飨到y(tǒng)功能。如果操作系統(tǒng)軟件有問題,則服務(wù)模式操作系統(tǒng)的使用支持全部分析以便更進(jìn)一步地識別和分析問題。例如,如果主操作系統(tǒng)不能操作,則服務(wù)模式操作系統(tǒng)支持計(jì)算機(jī)系統(tǒng)操作,并且允許用于對主操作系統(tǒng)問題的自動分析和校正的計(jì)算機(jī)系統(tǒng)的操作。
另一個重要的優(yōu)點(diǎn)是一個簡單而且使用不復(fù)雜的強(qiáng)大的用戶接口。例如,有疑問或者問題的用戶簡單地按下一個單個服務(wù)按鈕。按下服務(wù)按鈕產(chǎn)生一個中斷直接進(jìn)入芯片組以便提醒監(jiān)視系統(tǒng)注意服務(wù)被用戶請求了。到芯片組的服務(wù)按鈕的直接接口提高了可靠性和簡單性,因?yàn)榻o服務(wù)按鈕的用戶的輸入不必依靠計(jì)算機(jī)組件、比如鍵盤或者鼠標(biāo)的操作。另外,用戶可以在任何時候按下服務(wù)按鈕來尋求支持。按下服務(wù)按鈕用以啟動服務(wù)應(yīng)用程序的方式確保服務(wù)應(yīng)用程序?qū)⒃谶m當(dāng)?shù)臅r候被運(yùn)行,不管服務(wù)按鈕被按下的時間,以及不管它是否被按下多次。一旦服務(wù)按鈕被按下,即使當(dāng)操作系統(tǒng)已經(jīng)失效的時候,計(jì)算機(jī)系統(tǒng)可以通過使用服務(wù)模式操作系統(tǒng)運(yùn)行計(jì)算機(jī)組件來執(zhí)行對潛在問題的深入分析。更進(jìn)一步地,本發(fā)明的系統(tǒng)和方法能夠以不同類型的操作系統(tǒng)容易地實(shí)現(xiàn)。
關(guān)于本發(fā)明及其優(yōu)點(diǎn)的更完全的理解可以通過參考結(jié)合附圖給出的下面的描述來獲得,在附圖中同樣的標(biāo)號表示同樣的功能部件,其中
圖1描述了一個被操作系統(tǒng)監(jiān)視狀態(tài)機(jī)構(gòu)監(jiān)視的計(jì)算機(jī)系統(tǒng)的方框圖;圖2描述了一個在正常模式引導(dǎo)期間和之后操作系統(tǒng)監(jiān)視的流程圖;圖3描述了一個在服務(wù)模式引導(dǎo)期間和之后操作系統(tǒng)監(jiān)視的流程圖;圖4描述了一個在服務(wù)按鈕按下之后服務(wù)應(yīng)用程序啟動的流程圖;和圖5描述了一個被用于啟動服務(wù)應(yīng)用程序的軟件和硬件元件的方框圖。
本發(fā)明的最佳實(shí)施例在附圖中被圖解,相同的數(shù)字被用于指示各個附圖中同樣的和相應(yīng)的部分。
一個健康的操作系統(tǒng)監(jiān)視在計(jì)算機(jī)系統(tǒng)上的硬件和軟件運(yùn)行。有時,操作系統(tǒng)檢測到計(jì)算機(jī)系統(tǒng)的困難或者問題并且提供困難或者問題的警告給計(jì)算機(jī)系統(tǒng)用戶。通常與操作系統(tǒng)相聯(lián)系的幫助系統(tǒng)能夠自動地或者通過用戶交互作用、例如通過提問題幫助解決困難或者問題。然而,當(dāng)操作系統(tǒng)自身有問題或者有軟件不兼容性時,對于操作系統(tǒng)來說很難解決那些問題。經(jīng)常地,操作系統(tǒng)不是關(guān)閉就是掛起,而沒有給計(jì)算機(jī)系統(tǒng)用戶提供進(jìn)一步的問題警告。
為了改善計(jì)算機(jī)系統(tǒng)問題檢測、識別和解決,與計(jì)算機(jī)系統(tǒng)的BIOS相聯(lián)系的監(jiān)視系統(tǒng)監(jiān)視操作系統(tǒng)功能。監(jiān)視系統(tǒng)檢測操作系統(tǒng)引導(dǎo)故障和各種類型的操作系統(tǒng)掛起。一旦問題被檢測到,補(bǔ)救動作被自動采取以便使用一個利用計(jì)算機(jī)系統(tǒng)的操作方面的統(tǒng)一機(jī)構(gòu)來恢復(fù)有故障的計(jì)算機(jī)系統(tǒng)。另外,監(jiān)視系統(tǒng)能通過服務(wù)按鈕的單擊被調(diào)用。服務(wù)按鈕的按下提供一個中斷給計(jì)算機(jī)系統(tǒng)芯片組,用于自動調(diào)用作為被計(jì)算機(jī)系統(tǒng)安全和狀態(tài)檢測到的最高可利用的級別的用戶支持。作為下面將被更完全地描述的,當(dāng)計(jì)算機(jī)系統(tǒng)正在服務(wù)模式或者正常模式中在POST、引導(dǎo)時服務(wù)按鈕可以被用戶按下。當(dāng)服務(wù)按鈕被按下時,BIOS在控制器芯片組中的通用輸入寄存器中設(shè)置一個二進(jìn)制位并且產(chǎn)生一個中斷。在BIOS中的狀態(tài)-敏感中斷處理器代碼采取適當(dāng)?shù)膭幼?,并且依賴由確定的CMOS二進(jìn)制位表示的計(jì)算機(jī)系統(tǒng)的狀態(tài)與操作系統(tǒng)通信。更進(jìn)一步地,中斷處理器代碼確保只有適當(dāng)?shù)膭幼鞅徊扇?,而不管服?wù)按鈕被連續(xù)按下的次數(shù)。用于監(jiān)視計(jì)算機(jī)系統(tǒng)故障的系統(tǒng)和方法現(xiàn)在將被更詳細(xì)的描述,其后是對服務(wù)按鈕能夠用以調(diào)用這樣一個監(jiān)視系統(tǒng)的方式的詳細(xì)描述。
現(xiàn)在參照圖1,方框圖描述了一個有通過基本輸入輸出系統(tǒng)(“BIOS”)16與硬件組件14相連系的操作系統(tǒng)12的計(jì)算機(jī)系統(tǒng)10。硬件組件14包括常規(guī)的個人計(jì)算機(jī)系統(tǒng)硬件組件例如處理器、調(diào)制解調(diào)器、聲卡、顯卡和存儲設(shè)備,包括硬盤驅(qū)動器、軟驅(qū)、ROM和RAM。在最初的供電或者重新引導(dǎo)的啟動之后,BIOS16控制一個引導(dǎo)序列,包括加電自檢(“POST”)和操作系統(tǒng)的調(diào)用。一個或者更多的計(jì)時器18和19、例如常規(guī)的監(jiān)視計(jì)時器存在于硬件14中。
BIOS16以常規(guī)的方式通電引導(dǎo)計(jì)算機(jī)系統(tǒng)10。監(jiān)視狀態(tài)機(jī)20通過將引導(dǎo)序列中的狀態(tài)轉(zhuǎn)換與預(yù)期結(jié)果進(jìn)行比較來監(jiān)視引導(dǎo)過程。例如,監(jiān)視狀態(tài)機(jī)20與計(jì)時器18通信,以便將用于從引導(dǎo)序列的第一點(diǎn)到第二點(diǎn)的預(yù)定轉(zhuǎn)換的預(yù)期時間與用于序列的經(jīng)過時間進(jìn)行比較。如果計(jì)時器18期滿未被清零,則根據(jù)計(jì)時器的期滿檢測到問題。如果BIOS16成功地引導(dǎo)計(jì)算機(jī)系統(tǒng)10在線引起操作系統(tǒng)12,則操作系統(tǒng)12的服務(wù)例程清零計(jì)時器18以便防止問題指示。
如果監(jiān)視狀態(tài)機(jī)20檢測到計(jì)算機(jī)系統(tǒng)10的問題,則BIOS16可以控制許多不同的響應(yīng)。例如,BIOS16可以用服務(wù)協(xié)議22調(diào)用服務(wù)模式操作系統(tǒng)。服務(wù)模式操作系統(tǒng)例如可以是操作系統(tǒng)12的簡化版本,比如用于Windows98的Windows安全模式。服務(wù)模式操作系統(tǒng)可以包括調(diào)制解調(diào)器驅(qū)動器,以使得計(jì)算機(jī)系統(tǒng)能夠通過國際互聯(lián)網(wǎng)與分析服務(wù)器聯(lián)系以便上載用戶故障現(xiàn)象、系統(tǒng)配置和狀態(tài)信息,以及運(yùn)行自動分析軟件和診斷。BIOS16也可以亮起服務(wù)燈24以便用表示一個或者多個特殊問題特性的燈的不同配置方式來表示問題的檢測。計(jì)算機(jī)用戶則可以將亮燈信息提供給技術(shù)支持以便幫助分析和解決問題??商娲?,技術(shù)支持可以從分析服務(wù)器獲得系統(tǒng)信息。
計(jì)算機(jī)系統(tǒng)10包括可由計(jì)算機(jī)用戶按下的服務(wù)按鈕26。服務(wù)按鈕26提供一個能夠使用戶啟動問題檢測和識別過程的強(qiáng)大用戶接口。如下面更進(jìn)一步地描述的,例如,服務(wù)按鈕26產(chǎn)生一個中斷進(jìn)入計(jì)算機(jī)系統(tǒng)芯片組以啟動一個服務(wù)應(yīng)用程序。監(jiān)視狀態(tài)機(jī)20檢測服務(wù)按鈕的按下并運(yùn)行服務(wù)應(yīng)用程序或監(jiān)視系統(tǒng)行為以便檢測計(jì)算機(jī)系統(tǒng)問題。
除了監(jiān)視操作系統(tǒng)12調(diào)用中的引導(dǎo)序列之外,監(jiān)視狀態(tài)機(jī)20可以用掛起檢測計(jì)時器19監(jiān)視操作系統(tǒng)12的操作。如果服務(wù)按鈕在引導(dǎo)期間已經(jīng)被按下,則掛起檢測計(jì)時器19在引導(dǎo)序列期間例如通過用戶注冊被啟動,并由在操作系統(tǒng)12或者服務(wù)模式操作系統(tǒng)22的調(diào)用和引導(dǎo)完成之后運(yùn)行的應(yīng)用程序清零。如果在預(yù)定時間周期內(nèi)應(yīng)用程序沒有清零掛起檢測計(jì)時器19,監(jiān)視狀態(tài)機(jī)20判定操作系統(tǒng)掛起已經(jīng)出現(xiàn)。然后BIOS16辨認(rèn)操作系統(tǒng)問題并嘗試服務(wù)模式引導(dǎo)或者通過服務(wù)燈24指示可能的硬件故障。
現(xiàn)在參考圖2,流程圖描述了用于正常引導(dǎo)模式的操作系統(tǒng)監(jiān)視的支持自動化的步驟。在步驟50,正常的計(jì)算機(jī)引導(dǎo)程序被啟動。例如,計(jì)算機(jī)系統(tǒng)10的用戶可以應(yīng)用開關(guān)或者可以指示操作系統(tǒng)重新引導(dǎo)系統(tǒng)。在步驟52,掛起檢測監(jiān)視計(jì)時器被啟動。操作系統(tǒng)的引導(dǎo)和計(jì)時器的動作在系統(tǒng)中并行進(jìn)行。監(jiān)視計(jì)時器進(jìn)行倒計(jì)數(shù)。如果它在步驟58和60被完成之前達(dá)到零(也就是,當(dāng)服務(wù)例程在引導(dǎo)過程中運(yùn)行得較晚并且清零計(jì)時器時),則步驟54被完成,并且系統(tǒng)在步驟56被重新啟動進(jìn)入服務(wù)模式。
典型地,引導(dǎo)序列測試硬件并在可預(yù)測的時間周期內(nèi)啟動操作系統(tǒng)引導(dǎo)。在硬件測試、例如POST測試完成和操作系統(tǒng)引導(dǎo)啟動之后,從操作系統(tǒng)服務(wù)例程發(fā)送一條指令來在步驟58清零監(jiān)視計(jì)時器。如果監(jiān)視計(jì)時器在步驟60被清零,則指示正常的引導(dǎo)。如果監(jiān)視計(jì)時器沒被清零并且倒計(jì)數(shù)至零,則過程進(jìn)行到步驟56,以服務(wù)模式操作系統(tǒng)重新引導(dǎo)進(jìn)入服務(wù)模式。在一個實(shí)施例中,在進(jìn)行到服務(wù)模式引導(dǎo)序列之前,可以自動重復(fù)另外的正常引導(dǎo)。簡言之,如果監(jiān)視計(jì)時器在預(yù)定時間周期之后保持未清零,則認(rèn)為計(jì)算機(jī)系統(tǒng)沒有引導(dǎo)通過服務(wù)例程清零監(jiān)視計(jì)時器所在的引導(dǎo)序列點(diǎn)。因此,可以根據(jù)完成或者未完成的引導(dǎo)序列將計(jì)算機(jī)系統(tǒng)的問題識別到一定程度。
步驟58表示操作系統(tǒng)服務(wù)例程在計(jì)算機(jī)引導(dǎo)過程的較后部分中的一個預(yù)定點(diǎn)處被運(yùn)行。在步驟60,監(jiān)視計(jì)時器在監(jiān)視計(jì)時器預(yù)定時間周期期滿之前由操作系統(tǒng)服務(wù)例程清零。如果到達(dá)步驟60,則被測試并達(dá)到操作系統(tǒng)引導(dǎo)序列預(yù)定點(diǎn)的啟動的計(jì)算機(jī)硬件和軟件通常是能使用的。一旦這個判定被做出,在步驟62用戶被提供一個注冊機(jī)會。
在步驟64,判定在與服務(wù)按鈕沒被按下的正常引導(dǎo)相對的OS引導(dǎo)過程期間服務(wù)按鈕26是否被按下(見下面更進(jìn)一步地討論)。如果判定是否,過程繼續(xù)進(jìn)行到步驟70,進(jìn)行正常計(jì)算機(jī)系統(tǒng)操作的啟動。
如果在步驟64判定在引導(dǎo)期間服務(wù)按鈕被按下了,則在步驟66,服務(wù)應(yīng)用程序被啟動,并且在步驟72啟動掛起檢測計(jì)時器來監(jiān)視操作系統(tǒng)掛起。掛起檢測監(jiān)視使用掛起檢測計(jì)時器19或者其他的計(jì)時器來測試操作系統(tǒng)是否在預(yù)定時間周期內(nèi)完成它的服務(wù)應(yīng)用程序運(yùn)行。掛起檢測計(jì)時器在步驟72啟動,然后在應(yīng)用程序在步驟68完成它的載入和啟動序列的預(yù)定部分之后由運(yùn)行在計(jì)算機(jī)系統(tǒng)上的應(yīng)用程序清零。因此,在步驟68,判定應(yīng)用程序載入和啟動序列是否是正常的。如果是,運(yùn)行在計(jì)算機(jī)系統(tǒng)上的應(yīng)用程序清零掛起檢測計(jì)時器,過程繼續(xù)進(jìn)行到步驟70,啟動支持應(yīng)用程序。如果掛起檢測計(jì)時器在預(yù)定時間周期保持未被清零,則在步驟74判定服務(wù)應(yīng)用程序已經(jīng)不能清零計(jì)時器19。這樣可以表明操作系統(tǒng)已經(jīng)掛起;最低限度,它不能正常地啟動服務(wù)應(yīng)用程序。在步驟74,在掛起檢測計(jì)時器期滿的檢測之后,系統(tǒng)被重新引導(dǎo)進(jìn)入正常模式(步驟50)或者服務(wù)模式(步驟76),這依賴于可定義的嘗試重新引導(dǎo)進(jìn)入正常模式的失敗次數(shù)。
如果用戶在計(jì)算機(jī)是正常操作時、例如在附圖2中的步驟70、或者在不同于計(jì)算機(jī)引導(dǎo)的其他任何時間按下服務(wù)按鈕,則系統(tǒng)進(jìn)行到步驟78來檢測操作系統(tǒng)的掛起。服務(wù)應(yīng)用程序在步驟66被啟動,掛起檢測計(jì)時器在步驟72被啟動。如果在步驟68服務(wù)應(yīng)用程序清零計(jì)時器,則計(jì)算機(jī)系統(tǒng)在步驟70進(jìn)行正常操作。如果計(jì)時器在步驟74期滿,則操作系統(tǒng)掛起被檢測到,并且系統(tǒng)嘗試重新引導(dǎo)到正常模式(步驟75),直到正常重新引導(dǎo)故障的可指定數(shù)目已經(jīng)產(chǎn)生,在那一點(diǎn)上系統(tǒng)在步驟76重新引導(dǎo)到服務(wù)模式。這樣允許對操作系統(tǒng)功能性的確定而不必完全重新引導(dǎo)。更進(jìn)一步地,如果計(jì)時器在步驟74處期滿,即使正常操作系統(tǒng)不起作用,也可以以服務(wù)模式進(jìn)行故障檢修。
現(xiàn)在參考圖3,服務(wù)模式在步驟80處以服務(wù)模式引導(dǎo)序列啟動。在步驟82,服務(wù)模式監(jiān)視計(jì)時器被啟動。如上,這個監(jiān)視計(jì)時器與(在這個例子中,服務(wù)模式)操作系統(tǒng)的加載并行地向零倒計(jì)數(shù)。如果監(jiān)視計(jì)時器在它后來在服務(wù)模式引導(dǎo)過程(步驟88和90)中被清零之前達(dá)到零(步驟84),則服務(wù)模式引導(dǎo)已經(jīng)失敗,通過設(shè)置指示硬件故障的LED來指示這種情況(步驟86)。硬件問題是可能的,因?yàn)橹鞑僮飨到y(tǒng)和服務(wù)模式操作系統(tǒng)都不能將計(jì)算機(jī)帶到一個可操作狀態(tài)。
在步驟88,服務(wù)模式操作系統(tǒng)例程在引導(dǎo)過程稍后部分的預(yù)定點(diǎn)處運(yùn)行。如果服務(wù)例程在步驟88運(yùn)行,則在步驟90例程清零計(jì)時器以便表示服務(wù)模式操作系統(tǒng)是有效的。在步驟92,以服務(wù)模式操作系統(tǒng)完成計(jì)算機(jī)系統(tǒng)引導(dǎo)。
在步驟94,判定服務(wù)按鈕在正常模式或者服務(wù)模式引導(dǎo)過程中是否被按下。在失敗的重新啟動嘗試中存儲在引導(dǎo)過程中被按下的按鈕的狀態(tài)。如果是,則運(yùn)行服務(wù)應(yīng)用程序,并且在步驟104以操作系統(tǒng)掛起檢測計(jì)時器的啟動繼續(xù)進(jìn)行系統(tǒng)掛起檢測測試。再一次,在步驟96與服務(wù)模式恢復(fù)應(yīng)用程序的加載和啟動并行地進(jìn)行掛起檢測計(jì)時器的倒計(jì)數(shù)。如果這樣繼續(xù),它將運(yùn)行代碼以便在步驟98清零檢測計(jì)時器。在這一點(diǎn),服務(wù)模式操作系統(tǒng)被認(rèn)為至少有足夠的功能來啟動服務(wù)模式應(yīng)用程序。在步驟100,啟動服務(wù)支持應(yīng)用程序,例如對分析軟件問題有用的那些應(yīng)用程序。計(jì)算機(jī)系統(tǒng)在服務(wù)模式中操作并且可用于故障診斷。
在步驟106,如果監(jiān)視計(jì)時器在被服務(wù)應(yīng)用程序清零之前倒計(jì)數(shù)到零(就是說,期滿),則在步驟108服務(wù)模式操作系統(tǒng)已經(jīng)被顯示不能在預(yù)置的時間周期內(nèi)加載和啟動服務(wù)應(yīng)用程序。此時,已經(jīng)檢測到服務(wù)模式操作系統(tǒng)的掛起,并且在步驟108過程以用與計(jì)算機(jī)系統(tǒng)相連接的燈指示可能的軟件問題的方式結(jié)束。
在步驟102,如果服務(wù)按鈕在計(jì)算機(jī)是處在服務(wù)模式操作時被按下,則系統(tǒng)與測試服務(wù)模式操作系統(tǒng)的掛起并行地進(jìn)行到步驟104和96。在步驟96啟動服務(wù)應(yīng)用程序,并且在步驟104啟動掛起檢測計(jì)時器。如果服務(wù)應(yīng)用程序在步驟98清零計(jì)時器,則計(jì)算機(jī)系統(tǒng)在步驟100進(jìn)行到服務(wù)模式操作以便允許啟動允許計(jì)算機(jī)故障分析和校正動作的服務(wù)模式恢復(fù)應(yīng)用程序。如果計(jì)時器在步驟106期滿,則檢測操作系統(tǒng)掛起,并且系統(tǒng)在步驟108指示可能的硬件故障。這樣允許確定服務(wù)模式操作系統(tǒng)的功能而不必完全重新引導(dǎo)。
接著的例子示范將進(jìn)一步闡明監(jiān)視系統(tǒng)的操作。如果監(jiān)視系統(tǒng)沒有發(fā)現(xiàn)硬件或者操作系統(tǒng)故障,則計(jì)算機(jī)用戶可以通過計(jì)算機(jī)系統(tǒng)上的本地幫助或者通過使用計(jì)算機(jī)系統(tǒng)連接到國際互聯(lián)網(wǎng)上的幫助來尋求問題或者疑問的解答。本地和遠(yuǎn)程基于國際互聯(lián)網(wǎng)的幫助將解決多數(shù)計(jì)算機(jī)問題或者疑問。
另一個有用的例子示范是一個非致命性的硬件故障,比如CD-ROM或者聲卡故障。監(jiān)視系統(tǒng)將指示沒有操作系統(tǒng)故障發(fā)生,并且用戶可以聯(lián)系技術(shù)支持以便得到被送的新硬件。一些類型的非致命性的硬件故障將限制用于獲得幫助的可利用的選項(xiàng)。例如,計(jì)算機(jī)系統(tǒng)會在沒有調(diào)制解調(diào)器或者網(wǎng)絡(luò)接口卡(“NIC”)的情況下操作。然而,這個硬件故障將限制計(jì)算機(jī)系統(tǒng)連接到國際互聯(lián)網(wǎng)以便獲得幫助的能力。部分地,調(diào)制解調(diào)器故障可以通過進(jìn)入服務(wù)模式而解決。例如,如果調(diào)制解調(diào)器故障是與調(diào)制解調(diào)器配置或者ISP撥號指令相聯(lián)系的,則服務(wù)模式調(diào)制解調(diào)器配置可以支持基于國際互聯(lián)網(wǎng)的問題的解決。
在另一個例子示范中,如果正常模式操作系統(tǒng)不能操作、不能引導(dǎo)或者是其他方面的不穩(wěn)定,則可以用服務(wù)模式操作系統(tǒng)建立調(diào)制解調(diào)器連接。通過服務(wù)模式的國際互聯(lián)網(wǎng)連接允許對操作系統(tǒng)的直接系統(tǒng)分析,以便自動地支持操作系統(tǒng)問題的解決和操作系統(tǒng)的恢復(fù)。例如,一個新的操作系統(tǒng)或者操作系統(tǒng)的相關(guān)部分可以在國際互聯(lián)網(wǎng)上被加載以替換有故障的操作系統(tǒng)。如果自動問題解決不能解決問題,則用戶可以打電話給技術(shù)支持并根據(jù)所顯示的燈的配置來識別問題。
作為一個附加的例子示范,計(jì)算機(jī)系統(tǒng)可能在正常和服務(wù)模式中都有妨礙操作的致命的缺陷。例如,計(jì)算機(jī)系統(tǒng)可能被不正確的設(shè)置或者可能有致命的硬盤故障,比如主板、硬盤驅(qū)動器或者電源故障。在這個范例中,以計(jì)算機(jī)系統(tǒng)提供的說明圖表將提供與顯示燈配置相聯(lián)系的問題以及用于用戶遵循的簡單指令。然后用戶可以使用這個信息來聯(lián)系技術(shù)支持和獲得替換硬件。
如上所示,計(jì)算機(jī)系統(tǒng)10包括一個用于計(jì)算機(jī)用戶按動的可用的服務(wù)按鈕26。服務(wù)按鈕26產(chǎn)生一個中斷進(jìn)入計(jì)算機(jī)系統(tǒng)芯片組以便例如啟動一個服務(wù)應(yīng)用程序。監(jiān)視狀態(tài)機(jī)20檢測服務(wù)按鈕的按下并在適當(dāng)時間運(yùn)行服務(wù)應(yīng)用程序,或者監(jiān)視系統(tǒng)行為以便檢測計(jì)算機(jī)系統(tǒng)問題。當(dāng)服務(wù)按鈕被按下時,啟動掛起檢測計(jì)時器19,并在后來在完成操作系統(tǒng)12或者服務(wù)模式操作系統(tǒng)22的調(diào)用和啟動之后由運(yùn)行的應(yīng)用程序清零。如果應(yīng)用程序沒有在預(yù)定時間周期內(nèi)清零掛起檢測計(jì)時器19,則監(jiān)視狀態(tài)機(jī)20判定操作系統(tǒng)掛起已經(jīng)產(chǎn)生。然后BIOS16辨認(rèn)操作系統(tǒng)問題并且啟動可能包括上面詳述的在服務(wù)模式中的重新引導(dǎo)的預(yù)定重新引導(dǎo)協(xié)議。
服務(wù)按鈕提供一個用戶能通過它調(diào)用支持的標(biāo)準(zhǔn)機(jī)構(gòu)?,F(xiàn)在參考圖4和5,尋求調(diào)用支持的用戶將在步驟400按下服務(wù)按鈕26。注意,盡管沒有明確地顯示,圖4中所示流程圖包括兩個執(zhí)行空間,一個在BIOS中,另一個在操作系統(tǒng)執(zhí)行空間中。通常地,到操作系統(tǒng)的通信是通過產(chǎn)生中斷、比如系統(tǒng)控制中斷(SCI)來處理的,而從操作系統(tǒng)返回到BIOS的通信是通過運(yùn)行在BIOS中設(shè)置值的代碼、比如清零掛起檢測計(jì)時器來完成的。在BIOS中的監(jiān)視系統(tǒng)用以和操作系統(tǒng)及操作系統(tǒng)響應(yīng)(如果沒有掛起)通信的方式將在下面被更完全地描述,這提供了獨(dú)特的優(yōu)點(diǎn)。盡管系統(tǒng)因?yàn)橐恍┎考嬖谟诓僮飨到y(tǒng)中而需要依賴操作系統(tǒng),但它也有能力影響基礎(chǔ)的個人計(jì)算機(jī)體系結(jié)構(gòu)以便允許BIOS中的相同的機(jī)構(gòu)支持多個操作系統(tǒng)的特定實(shí)施方式。更進(jìn)一步地,系統(tǒng)能使得用戶支持被調(diào)用而不管操作系統(tǒng)的運(yùn)行狀態(tài)。
如圖5中所示,服務(wù)按鈕26直接連在控制器芯片組520的通用輸入/輸出寄存器(GPIO)中的一特定輸入寄存器500上,并且在步驟402,服務(wù)按鈕的按下使得那個輸入寄存器中的一個二進(jìn)制位被設(shè)置。這個二進(jìn)制位的設(shè)置在步驟404產(chǎn)生一個系統(tǒng)管理中斷(SMI),以便啟動BIOS中的狀態(tài)-敏感中斷處理器代碼、一個SMI處理程序502。SMI處理程序502接收SMI,并在步驟406處禁止更進(jìn)一步地產(chǎn)生SMI,直到當(dāng)前的SMI已經(jīng)被維護(hù)以確保如果用戶按下服務(wù)按鈕多次則只有一個中斷將被產(chǎn)生,直到那個中斷已經(jīng)被完全地維護(hù)。
在步驟408,SMI處理程序通過檢查CMOS寄存器中的適當(dāng)二進(jìn)制位來判定計(jì)算機(jī)系統(tǒng)是否在引導(dǎo)。如果系統(tǒng)正在引導(dǎo),當(dāng)系統(tǒng)繼續(xù)它的引導(dǎo)序列時通用輸入二進(jìn)制位保持設(shè)置。掛起檢測計(jì)時器也在步驟410被設(shè)置,但SMI處理程序沒有采取更進(jìn)一步地動作。當(dāng)系統(tǒng)完成它的引導(dǎo)序列時,或者在被認(rèn)為在那里被測試和達(dá)到引導(dǎo)序列中的該點(diǎn)的硬件和軟件通常是可操作的引導(dǎo)序列中的預(yù)定點(diǎn)處,例如當(dāng)用戶被提示注冊ID時,操作系統(tǒng)被指示在步驟411處檢查服務(wù)按鈕二進(jìn)制位的狀態(tài)。如果服務(wù)按鈕二進(jìn)制位已經(jīng)被設(shè)置,表明在引導(dǎo)過程中按鈕被按下,操作系統(tǒng)將在步驟422運(yùn)行服務(wù)應(yīng)用程序,否則它將重新開始正常操作(步驟412)。在一個實(shí)施例中,作為正常引導(dǎo)過程的一部分運(yùn)行的諸如與操作系統(tǒng)相聯(lián)系的服務(wù)應(yīng)用程序發(fā)射器之類的后臺任務(wù)檢查服務(wù)按鈕二進(jìn)制位。如果服務(wù)按鈕二進(jìn)制位被設(shè)置,服務(wù)應(yīng)用程序運(yùn)行服務(wù)應(yīng)用程序。
如果,在步驟408處,SMI處理器判定系統(tǒng)沒有在引導(dǎo),則SMI處理器在步驟416啟動掛起檢測計(jì)時器。這個掛起檢測計(jì)時器可以是與在上述步驟410中被設(shè)置的同樣的計(jì)時器或者是不同的計(jì)時器。然而計(jì)時器被設(shè)置的值將根據(jù)服務(wù)按鈕是否在引導(dǎo)期間被按下而不同。如果在引導(dǎo)期間被按下它將被設(shè)置為一個較高值,代表允許系統(tǒng)完成引導(dǎo)循環(huán)和運(yùn)行服務(wù)應(yīng)用程序所需的較長的時間量。如果在引導(dǎo)期間沒有被按下,計(jì)時器將被設(shè)置為一個較低值,代表允許系統(tǒng)處理中斷(下面被描述)和啟動服務(wù)應(yīng)用程序所需的較短的時間量。
如果系統(tǒng)沒有正在引導(dǎo),在BIOS中的SMI處理程序代碼隨后通過在步驟418處引起中斷與操作系統(tǒng)通信,以便通知操作系統(tǒng)服務(wù)按鈕已經(jīng)被按下。在一個實(shí)施例中,這個中斷是在操作系統(tǒng)執(zhí)行空間中被維護(hù)的系統(tǒng)控制中斷(SCI)。為了啟動SCI,SMI處理程序設(shè)置在GPIO中的輸出寄存器中的輸出二進(jìn)制位504。如圖5所示,這個二進(jìn)制位被用作一個輸入給輪流啟動SCI508的系統(tǒng)控制中斷輸入506。在步驟420處,SCI被在操作系統(tǒng)執(zhí)行空間中的中斷服務(wù)例程(ISR)所處理。ISR提供信息給操作系統(tǒng)以便啟動服務(wù)應(yīng)用程序。在一個實(shí)施例中,這一點(diǎn)通過給與操作系統(tǒng)相聯(lián)系的服務(wù)應(yīng)用程序發(fā)射器512發(fā)送在步驟422處啟動服務(wù)應(yīng)用程序514的信息而被完成。
不管服務(wù)按鈕是否在引導(dǎo)期間被按下,如果服務(wù)應(yīng)用程序正確地啟動,如步驟426處所判定的,則服務(wù)按鈕二進(jìn)制位和掛起檢測計(jì)時器在步驟428處被清零。在一個實(shí)施例中,服務(wù)應(yīng)用程序通知服務(wù)應(yīng)用程序發(fā)射器并且命令它清零服務(wù)按鈕二進(jìn)制位和掛起檢測計(jì)時器。如果服務(wù)應(yīng)用程序已經(jīng)不能正確地啟動(計(jì)時器在被清零之前已經(jīng)達(dá)到零),它可能表示操作系統(tǒng)掛起或者,最低限度地,它不能正確地啟動服務(wù)應(yīng)用程序。因此,在步驟430處,系統(tǒng)開始跟隨如上面所詳述的可能包括在服務(wù)模式中的重新引導(dǎo)的預(yù)定重新引導(dǎo)協(xié)議。最后,一旦SMI已經(jīng)完全地被維護(hù),SMI處理程序在步驟432使SMI再能產(chǎn)生,以使得隨后服務(wù)按鈕的按下將引起另一個中斷并且啟動如上所述的服務(wù)。
因此,本發(fā)明的系統(tǒng)和方法提供一個在其中以統(tǒng)一的故障安全方式調(diào)用用戶支持的獨(dú)特方式。BIOS執(zhí)行空間中的代碼與操作系統(tǒng)通信并且反之亦然的方式能夠允許與操作系統(tǒng)無關(guān)的服務(wù)請求的調(diào)用,并且提供操作系統(tǒng)之外的監(jiān)視系統(tǒng),以便能監(jiān)視操作系統(tǒng)自身。更進(jìn)一步地,上述的系統(tǒng)和方法能使用戶不考慮操作系統(tǒng)狀態(tài)(就是說,在引導(dǎo)期間或者其他時候,或者當(dāng)操作系統(tǒng)被掛起時)地調(diào)用支持。
在這里被描述的問題識別和解決系統(tǒng)可以作為計(jì)算機(jī)系統(tǒng)的按定單制造(build-to-order)組件被提供。例如,少數(shù)高級用戶可以以單按鈕按動問題解決方案來定制他們的計(jì)算機(jī)系統(tǒng),而更多的有經(jīng)驗(yàn)的用戶可以以標(biāo)準(zhǔn)配置定制計(jì)算機(jī)系統(tǒng)??商鎿Q地,計(jì)算機(jī)系統(tǒng)買方只能定制系統(tǒng)的一部分,例如只與不包括自動調(diào)用服務(wù)模式操作系統(tǒng)的能力的主操作系統(tǒng)監(jiān)視相聯(lián)系的計(jì)時器。
盡管本發(fā)明已經(jīng)被詳細(xì)地描述,應(yīng)該理解,在不偏離由附帶的權(quán)利要求限定的本發(fā)明的精神和范圍的情況下可以作出多種變化、替換和改變。
權(quán)利要求
1.一種用于監(jiān)視計(jì)算機(jī)系統(tǒng)引導(dǎo)序列的方法,所述方法包括啟動一個計(jì)時器;如果計(jì)算機(jī)系統(tǒng)引導(dǎo)序列的預(yù)定點(diǎn)出現(xiàn),清零計(jì)時器;以及如果計(jì)時器在預(yù)定時間周期之后保持未被清零,確定計(jì)算機(jī)系統(tǒng)故障存在。
2.權(quán)利要求1的方法,其中,所述清零步驟更進(jìn)一步地包括用所述計(jì)算機(jī)系統(tǒng)運(yùn)行的應(yīng)用程序清零計(jì)時器。
3.權(quán)利要求2的方法,更進(jìn)一步地包括當(dāng)所述確定步驟確定計(jì)算機(jī)系統(tǒng)故障存在時用第二個操作系統(tǒng)啟動計(jì)算機(jī)系統(tǒng)的重新引導(dǎo)。
4.權(quán)利要求3的方法,在啟動重新引導(dǎo)步驟之后更進(jìn)一步地包括啟動一個計(jì)時器;如果計(jì)算機(jī)系統(tǒng)重新引導(dǎo)序列的預(yù)定點(diǎn)出現(xiàn),用計(jì)算機(jī)系統(tǒng)運(yùn)行的應(yīng)用程序清零計(jì)時器;以及如果計(jì)時器在預(yù)定時間周期之后保持未被清零,確定服務(wù)模式操作系統(tǒng)故障。
5.一種計(jì)算機(jī)系統(tǒng),包括有至少一個計(jì)時器的處理器;用于引導(dǎo)計(jì)算機(jī)系統(tǒng)的BIOS;用于支持計(jì)算機(jī)系統(tǒng)操作的操作系統(tǒng);以及與BIOS相聯(lián)系的并與處理器通信的監(jiān)視狀態(tài)機(jī),所述監(jiān)視狀態(tài)機(jī)通過將用于操作系統(tǒng)功能的經(jīng)過時間與預(yù)定時間周期進(jìn)行比較來檢測操作系統(tǒng)故障,該經(jīng)過時間用計(jì)時器測量。
6.權(quán)利要求5的系統(tǒng),更進(jìn)一步地包括服務(wù)操作系統(tǒng),監(jiān)視狀態(tài)機(jī)操作在檢測到操作系統(tǒng)故障之后可調(diào)用服務(wù)操作系統(tǒng)。
7.權(quán)利要求5的系統(tǒng),更進(jìn)一步地包括一個服務(wù)按鈕,其中,按下所述服務(wù)按鈕中斷處理器并啟動計(jì)時器。
8.一種用于為計(jì)算機(jī)系統(tǒng)提供自動技術(shù)支持的方法,包括下列步驟在所述計(jì)算機(jī)系統(tǒng)的操作期間的任何時候按下服務(wù)按鈕,所述服務(wù)按鈕的所述按下使得一個用于提供所述自動技術(shù)支持的應(yīng)用程序被調(diào)用而不管所述計(jì)算機(jī)系統(tǒng)的工作狀態(tài)如何。
9.權(quán)利要求8的方法,其中,所述服務(wù)按鈕被連接到芯片組,并且,其中,所述服務(wù)按鈕通過使得所述芯片組產(chǎn)生至少一個第一中斷來調(diào)用所述應(yīng)用程序。
10.權(quán)利要求9的方法,其中,所述使得步驟更進(jìn)一步地包括步驟設(shè)置控制器芯片組中的通用輸入寄存器中的第一二進(jìn)制位,以響應(yīng)所述按下步驟產(chǎn)生第一中斷;接收所述第一中斷,并判定所述計(jì)算機(jī)系統(tǒng)是否正在執(zhí)行引導(dǎo)序列;以及如果所述計(jì)算機(jī)系統(tǒng)不是正在引導(dǎo),以第一方式啟動服務(wù)應(yīng)用程序例程;或者如果所述計(jì)算機(jī)系統(tǒng)正在引導(dǎo),在所述引導(dǎo)序列期間的預(yù)定時間以第二方式啟動所述服務(wù)應(yīng)用程序例程。
11.依據(jù)權(quán)利要求10的方法,更進(jìn)一步地包括響應(yīng)所述按下步驟啟動計(jì)時器、并且如果在所述計(jì)時器達(dá)到預(yù)定值之前所述服務(wù)應(yīng)用程序達(dá)到預(yù)定點(diǎn)則清零所述計(jì)時器的步驟。
12.依據(jù)權(quán)利要求11的方法,更進(jìn)一步地包括如果所述服務(wù)應(yīng)用程序在所述計(jì)時器達(dá)到所述預(yù)定值之前還沒有達(dá)到所述預(yù)定點(diǎn)則啟動計(jì)算機(jī)系統(tǒng)的重新引導(dǎo)的步驟。
13.依據(jù)權(quán)利要求11的方法,其中,所述以所述第二方式啟動所述服務(wù)應(yīng)用程序的步驟更進(jìn)一步地包括步驟在引導(dǎo)序列期間的預(yù)定點(diǎn)檢測所述芯片組的預(yù)定二進(jìn)制位的狀態(tài);以及如果所述預(yù)定二進(jìn)制位已經(jīng)被設(shè)置,啟動所述服務(wù)應(yīng)用程序。
14.依據(jù)權(quán)利要求13的方法,其中,所述以所述第一方式啟動所述服務(wù)應(yīng)用程序的步驟更進(jìn)一步地包括產(chǎn)生一第二中斷的步驟,所述第二中斷啟動一個中斷服務(wù)例程,所述中斷服務(wù)例程啟動所述服務(wù)應(yīng)用程序。
15.依據(jù)權(quán)利要求14的方法,其中,所述第二中斷是系統(tǒng)控制中斷,并且所述啟動所述系統(tǒng)控制中斷的步驟更進(jìn)一步地包括設(shè)置所述控制器芯片組的通用輸出寄存器中的第二個二進(jìn)制位的步驟,所述第二個二進(jìn)制位的所述設(shè)置引起所述系統(tǒng)控制中斷的產(chǎn)生。
16.一種計(jì)算機(jī)系統(tǒng),包括一個芯片組;一個存儲器;一個用于為所述計(jì)算機(jī)提供自動技術(shù)支持的應(yīng)用程序;以及一個用于在所述計(jì)算機(jī)系統(tǒng)的操作期間中的任何時候調(diào)用所述應(yīng)用程序而不管所述計(jì)算機(jī)系統(tǒng)的操作狀態(tài)如何的服務(wù)按鈕。
17.依據(jù)權(quán)利要求16的計(jì)算機(jī)系統(tǒng),其中,所述服務(wù)按鈕被連接到所述芯片組,用來在所述服務(wù)按鈕被按下以調(diào)用所述服務(wù)應(yīng)用程序時至少產(chǎn)生第一中斷。
18.依據(jù)權(quán)利要求17的計(jì)算機(jī)系統(tǒng),更進(jìn)一步地包括一個至少有一個計(jì)時器的處理器;一個系統(tǒng)BIOS;一個用于支持計(jì)算機(jī)系統(tǒng)操作和通過所述BIOS與所述計(jì)算機(jī)系統(tǒng)的部件通信的操作系統(tǒng);其中,所述服務(wù)按鈕被連接到所述芯片組中的通用輸入寄存器,用于設(shè)置所述寄存器以產(chǎn)生所述第一中斷;一個包括在系統(tǒng)BIOS中的代碼的中斷處理器,所述中斷處理器被連接到所述輸入寄存器,用來接收所述第一中斷并以依賴于計(jì)算機(jī)是正處在引導(dǎo)狀態(tài)還是非引導(dǎo)狀態(tài)的方式處理所述中斷。
19.依據(jù)權(quán)利要求18的計(jì)算機(jī)系統(tǒng),其中,所述中斷處理器判定所述計(jì)算機(jī)系統(tǒng)是正處在所述引導(dǎo)還是所述非引導(dǎo)狀態(tài),如果所述計(jì)算機(jī)系統(tǒng)是處在所述非引導(dǎo)狀態(tài),所述中斷處理器被連接到所述芯片組中的通用輸出寄存器,用來設(shè)置所述輸出寄存器中的二進(jìn)制位,其中,所述通用輸出寄存器被連接到所述芯片組件中的第三寄存器,所述第三寄存器在所述輸出寄存器中的所述二進(jìn)制位被設(shè)置時產(chǎn)生一個用來啟動第二中斷的中斷信號。
20.依據(jù)權(quán)利要求19的計(jì)算機(jī)系統(tǒng),其中,所述第二中斷在啟動所述服務(wù)應(yīng)用程序的所述操作系統(tǒng)中調(diào)用一個中斷服務(wù)例程。
21.依據(jù)權(quán)利要求20的計(jì)算機(jī)系統(tǒng),在其中所述中斷處理器被連接到所述計(jì)時器,用來在接收到所述第一中斷時在實(shí)質(zhì)上啟動所述計(jì)時器。
全文摘要
解決計(jì)算機(jī)系統(tǒng)問題的方法和系統(tǒng)。計(jì)時器將硬件和操作系統(tǒng)功能比較,判定故障。在預(yù)定時間周期完成時期滿而沒清零則系統(tǒng)故障。沒被操作系統(tǒng)清零則硬件故障在初始引導(dǎo)上。沒被應(yīng)用程序清零則操作系統(tǒng)掛起。檢測到故障,以服務(wù)模式操作系統(tǒng)啟動。服務(wù)模式操作也被監(jiān)視。服務(wù)按鈕按下產(chǎn)生中斷。在引導(dǎo)狀態(tài),檢查預(yù)定二進(jìn)制位,設(shè)置了服務(wù)應(yīng)用程序啟動。不在引導(dǎo)狀態(tài),產(chǎn)生第二中斷,服務(wù)應(yīng)用程序啟動。計(jì)時器按下服務(wù)按鈕啟動。
文檔編號G06F1/14GK1297191SQ0013172
公開日2001年5月30日 申請日期2000年8月21日 優(yōu)先權(quán)日1999年8月19日
發(fā)明者小托馬斯·弗爾赫爾, 小卡里·D·休伯, 羅伊·W·斯特德曼, 詹姆斯·范阿特斯達(dá)倫, 克里希納穆爾蒂·文卡塔拉曼尼 申請人:戴爾產(chǎn)品公司