專利名稱::計算機系統(tǒng)的啟動系統(tǒng)的制作方法在復(fù)雜的計算機系統(tǒng),例如交換系統(tǒng),啟動(恢復(fù),Recovery)的情況下,必須有眾多的處理機和大量的軟件(這就是說計算機系統(tǒng)的程序系統(tǒng))投入運行。因為綜合計算機系統(tǒng)的程序系統(tǒng)在很大程度上是用戶特定的,所以各計算機系統(tǒng)的啟動有很大差異。因此,迄今動態(tài)地生成用於確定用戶特定啟動的起動表格??墒牵伸哆@種動態(tài)生成,在早期的時間點上設(shè)計這種啟動是不可能的。除此之外,在表格聯(lián)機地完全建立以后,才能識別各單項軟件部分之間的依賴關(guān)系。因此一方面期望獲得對啟動整個過程的及早的和較強的檢驗,而另一方面還使啟動保持靈活,這就是說對不同的用戶特定的設(shè)備程序系統(tǒng)是保持可變的。此外整個系統(tǒng)的啟動應(yīng)可靠和快速地進行。本發(fā)明的任務(wù)在於滿足所述的要求。該任務(wù)通過按權(quán)利要求1的啟動系統(tǒng)來解決。通過表格的靜態(tài)生成,使得有可能對啟動的整個過程及早地和緊密地檢驗以及保證可靠的和快速的啟動。通過及早的檢驗可能性,已能夠於聯(lián)機測試階段之前,也就是已經(jīng)在實時系統(tǒng)的實際啟動之前,通過相應(yīng)的工具(Tools)來發(fā)現(xiàn)和糾正差錯(例如死鎖)。通過各自在同一軟件成分(Software-Komponente)中說明一種軟件成分的啟動關(guān)系(啟動信息),在靜態(tài)生成的啟動表格(Start-Up表格)中,每次僅考慮了在用戶特定程序系統(tǒng)中當(dāng)時存在著的那種軟件。此外,由此促進了啟動的細微的模塊化,并且因而促進了軟件成分池(SW-Komponenten-Pool)相對於變動和/或擴充的獨立性或靈活性。最后,通過在軟件成分中說明啟動關(guān)系,使得介於啟動軟件的各部分之間的依賴關(guān)系已經(jīng)在本來的啟動之前,變得明顯起來,從而簡化了整個啟動過程的設(shè)計。通過權(quán)利要求2說明了本發(fā)明的一種實施形式。按本發(fā)明的該實施形式,在一種軟件成分編譯之后,已經(jīng)存在著一種在設(shè)計的時候已能檢驗的部分表格,它經(jīng)過一種相應(yīng)的工具使其變得是可見的。本發(fā)明的一種實施形式是通過權(quán)利要求4來說明的。通過該實施形式能夠在表格內(nèi)確定,是否應(yīng)進行跨越平臺的同步。由此有可能定義跨越平臺的、在全系統(tǒng)中或在系統(tǒng)的部分中的系統(tǒng)狀態(tài)。因此在一種平臺上等候由另一種平臺準備好的系統(tǒng)狀態(tài)。用另外的方式來表達的話,這意味著,在實時系統(tǒng)不同的計算機上,軟件的不同部分之間的從屬關(guān)系,從此以后已經(jīng)可以在設(shè)計的時候以簡單的方式加以考慮。本發(fā)明的一種實施形式是通過權(quán)利要求5說明的。針對用戶軟件的啟動,通過該實施形式變得比迄今的從根本上更精細和更靈活。只有當(dāng)用戶軟件與啟動有點關(guān)系時,它才運行。啟動由此變得更快和更穩(wěn)定。下面借助於附圖詳細地說明本發(fā)明的一個實施例。首先對在下面經(jīng)常采用的術(shù)語進行解釋。啟動(恢復(fù),Recovery)。為了在出現(xiàn)差錯和斷電之后以及在投入運行等等情況下,建立一種適合於設(shè)備程序系統(tǒng)的軟硬件狀況的措施。設(shè)備程序系統(tǒng)(APS=應(yīng)用程序系統(tǒng))一種設(shè)備程序系統(tǒng)包含在一種計算機系統(tǒng)中,例如在一種交換站里,所需要的全部程序和數(shù)據(jù)(實時系統(tǒng)的原裝程序除外)。對每一種綜合的計算機系統(tǒng),需要一種獨特的,這就是說針對有關(guān)計算機系統(tǒng)的使用特點而設(shè)置的設(shè)備程序系統(tǒng)(用戶專用的APS)。設(shè)備程序系統(tǒng)是以機器語言表達的一種已經(jīng)受約束的程序系統(tǒng)。服務(wù)模塊,外殼在程序語言層面上以模塊方式構(gòu)成軟件?;ハ嗵幵诰o密關(guān)系中的模塊,以Chill語言匯總在較大的軟件成分,所謂的服務(wù)模塊(服務(wù)準備單元SPU)中。該SPU是每次由編譯程序翻譯的軟件單元。外殼是可裝入實時系統(tǒng)的、和在設(shè)備程序系統(tǒng)的運算時間中、通過構(gòu)件從服務(wù)模塊中生成的那些軟件單元。軟件成分池軟件成分池包含(源-碼-)軟件成分的總和,從這些成分中每次編譯和匯總一部分,以生成用戶專用的APS。啟動控制程序啟動控制程序控制著啟動,和在以下也稱作為啟動(Start-Up-)控制程序(簡稱SUPO)。啟動控制程序包括一種以操作系統(tǒng)模式(管理狀態(tài))運行的啟動部分(SUPO_SYNC),和一種以用戶模式(使用狀態(tài))運行的和作為過程實施的啟動部分(SUPO_PROCESS)。首先對本發(fā)明作簡要說明。本發(fā)明的根據(jù)在於,一方面獲得對啟動整個過程的及早的和緊密的檢驗,另一方面使整個過程保持靈活,這就是說不受用戶專用APS性能的影響。為了解決該任務(wù),整個軟件生產(chǎn)(SW-Produktion)被一體化到新的啟動方案中去。還在設(shè)計的時候,軟件開發(fā)者就必須以與其它同步點和應(yīng)實施行動的關(guān)系(條件與量值)的形式來說明各SP。在由開發(fā)者每次設(shè)計的軟件成分中進行這些說明。通過該編譯從各SP-說明中生成一種部分表格。在用戶專用設(shè)備程序系統(tǒng)的生產(chǎn)時間,通過將軟件成分連結(jié)起來,使這些部分表格最終聯(lián)接成一種分類的表格(從邏輯性觀點看,形成一種單一的表格)。按照在軟件成分(服務(wù)模塊或更確切地說在其中包含的模塊)中所說明的與其它各SP的關(guān)系,借助於一種專門的工具進行這種聯(lián)接。啟動控制程序,然后在這些脫機生成和聯(lián)接的表格上存取,以便按照包含在表格中的啟動信息來執(zhí)行啟動。借助於脫機生成的啟動表格,就有可能保持啟動控制程序不受設(shè)備程序系統(tǒng)性能的影響。如果啟動本身應(yīng)獲得新的性能,由此只剩下必須改變啟動控制程序。針對設(shè)備程序系統(tǒng)而言,啟動控制程序卻是完全獨立的。該獨立性很簡單地產(chǎn)生於以下情況,由設(shè)備程序系統(tǒng)的各單項成分本身規(guī)定啟動同步信息和脫機地列入啟動控制表格。通過該啟動,一種實時系統(tǒng)逐步地被啟動,在此情況下每一步代表一種穩(wěn)定狀態(tài)。這些狀態(tài)以下也稱之為同步點。它們中的幾種只有局部的意義,而其它又具有遍及整個系統(tǒng)的意義。其意義的范圍完全取決於同步點所處的說明級。圖1展示一種典型的交換系統(tǒng)的啟動段的(層次)級,即一個系統(tǒng)級、一個功能級、一個應(yīng)用級和一個用戶級。在利用完整的表格的,即利用所有的啟動段的情況下,進行設(shè)備程序系統(tǒng)的啟動。在啟動段的不同層次級上,說明的立足點是各自不同的,這意味著在最高的級上啟動段僅僅是很普通地說明整個系統(tǒng),而且越進入往下的層次級里,說明就越詳細,可是在每個啟動段中所說明軟件的數(shù)量就越減少。在最低的級上僅還說明SPU的各單項過程的互相配合,但是全面地說明此互相配合,這意味著人們在此可以識別各單項過程之間的關(guān)系。在系統(tǒng)級(級1)中說明在啟動時各單個軟件功能復(fù)合體的互相配合。該級包含整個設(shè)備程序系統(tǒng)啟動的同步點。這些同步點表明一種源網(wǎng)格,其余的軟件存入其中。功能級(級2)說明有關(guān)系統(tǒng)主要功能復(fù)合體的成分的啟動,例如硬件維護、軟件維護、CCS7,它們同樣具有全系統(tǒng)的意義。應(yīng)用級說明功能性成分(有幾種總還具有全局性意義)的啟動;在CCS7的情況下可以舉出信令管理者SM和信令鏈路終端SLT作為用於這種功能性成分的實例。進程級(層次級4)說明以下也稱之為用戶軟件的設(shè)備程序系統(tǒng)進程軟件的啟動。應(yīng)用數(shù)據(jù)庫ADB、高性能數(shù)據(jù)庫HPDB和協(xié)議處理程序管理者(PRHManager)可以稱之為進程級成分的實例。軟件成分的每一個啟動段包含一個同步點的清單,在此每個同步點主要包含啟動信息(關(guān)系信息)的兩種等級。在關(guān)系信息的一種等級中涉及的是所謂的“動作”。一旦由同步點表達的系統(tǒng)狀態(tài)已實現(xiàn)時,這些“動作”表示對那些必須執(zhí)行的動作所作的說明。在關(guān)系信息的另外的等級中涉及的是必須滿足的“前提”。介於各SP之間的關(guān)系各自包含兩種組成部分1)一種部分,它在一種SP中說明該SP(一種SP)向另一種SP提供量值,和2)一種部分,它在另一種SP中說明該SP(另一種SP)必須等候這一種SP的前提。如果應(yīng)定義例如介於兩種SP之間的關(guān)系(SP_x和SP_x),在此SP_x必須在SP_y之前被實現(xiàn),則對該關(guān)系有兩種組成部分1)在SP_x處存在著,SP_x應(yīng)向SP_y提供一種量值(此事存在於SP_x的“動作”中)。2)在SP_y處存在著,SP_y必須等候SP_x的一種量值(此事存在於SP_y的“前提”中)。關(guān)系信息(動作與前提)的兩種等級包含一種混合體它們包含針對過程的部分和針對段的部分1)動作a)段-組成部分-對其它各SP的基值(Kontributionen)b)過程-組成部分-過程的啟動-繼續(xù)進行被延期(被暫停)的過程-通告過程(用消息)2)前提a)段-組成部分-“等候”來自其它各SP的基值(Kontributionen)b)過程-組成部分-“等候”來自過程的基值通過位於一種同步點定義內(nèi)部的相應(yīng)語句,來定義對其它同步點的關(guān)系信息。為了避免介於啟動段之間的過於復(fù)雜的關(guān)系結(jié)構(gòu),在一種段中所包含的各SP,允許只涉及具有最多為一層次級級差的其它段的同步點。為了將由操作系統(tǒng)管理的,在以下也稱之為用戶過程的過程并入啟動,用戶軟件編程者,首先同樣在一種包含該種或這些應(yīng)并入過程的服務(wù)模塊中,定義一種或多種起動段,并且通過相應(yīng)的連結(jié)語句(關(guān)系語句)將這些起動段與應(yīng)用層次級的啟動段相連結(jié)。此外用戶必須規(guī)定他的過程對用戶啟動段的關(guān)系,其方法在於,他申報他的過程,在此這些申報信息是各自涉及一種SP的。申報信息包含著說明,利用用戶啟動段之一內(nèi)的那個同步點,來啟動用戶過程和過程為那個同步點提供量值。位於過程級上的所提及的申報信息以后將詳細說明。在接著詳細說明通過SUPO來利用啟動表格之前,以下將詳細說明啟動表格的結(jié)構(gòu)及在其中包含的信息。圖2展示在一種處理器之內(nèi)的啟動表格的結(jié)構(gòu)。啟動表格是被分布在一種處理器的整個軟件平臺上的,在此每種服務(wù)模塊SPU包含啟動信息中的從與啟動的關(guān)系看對該服務(wù)模塊是重要的那種部分。通過在所謂的“外殼-邏輯程序設(shè)計語言(Kapscl-Prolog)”中的和在“SPU-Prolog”中的地址信息進行對啟動表格的存取。啟動表格的一段包括所謂同步點單元(SP-單元),在此每種SP-單元代表段內(nèi)的一種同步點。一種SP-單元又包含對與該同步點相連結(jié)的“關(guān)系”的說明。圖2示范地展示包含三種同步點的一種段(段y)是如何在啟動表格中被代表的。以下詳細說明在啟動表格中所包含的啟動信息。如同前面已說明的那樣,啟動段是啟動表格中那種包含原來啟動信息的,即包含位於所謂SP-單元中同步點信息的單元。以下的程序語言工具,更確切地說數(shù)據(jù)結(jié)構(gòu),可以用來說明(定義)啟動段一種用于定義段的等同性的數(shù)據(jù)結(jié)構(gòu)“段名”。該結(jié)構(gòu)包含外殼標(biāo)識符(外殼-ID)、服務(wù)模塊標(biāo)識符(SPU-ID)和段標(biāo)識符(段-ID),在此段標(biāo)識符是SET數(shù)據(jù)類型的一種SET值。一種數(shù)據(jù)結(jié)構(gòu)“段級”,通過該結(jié)構(gòu)可以在啟動段所屬的啟動層次內(nèi)定義層次級。該數(shù)據(jù)結(jié)構(gòu)的類型同樣是一種SET數(shù)據(jù)類型。該數(shù)據(jù)結(jié)構(gòu)的值,即層次級,被用於檢查,在同步點信息內(nèi)未曾做過試驗,越過多於一種層次級轉(zhuǎn)交啟動信息。一種用于定義啟動狀態(tài)和由此定義系統(tǒng)狀態(tài)的數(shù)據(jù)結(jié)構(gòu)“同步點”。該數(shù)據(jù)結(jié)構(gòu)被細分成數(shù)據(jù)結(jié)構(gòu)“SP-名稱”,“條件(Condition)”,“基值(Contributions)”,“SP的定時(Timingof_SP)”,“外部的SP(ExternalSP)”和“動作”。數(shù)據(jù)結(jié)構(gòu)“SP-名稱”用於識別SP并且是“SET”類型的。通過數(shù)據(jù)結(jié)構(gòu)“條件(Conditions)”,可以定義在達到一種同步點之前必須滿足的前提(條件)。所述的條件通過涉及過程或其它同步點的關(guān)系來表達。上述條件只允許用來以層次級上升的方向建立關(guān)系(例如在層次級4中的一種SP可以涉及到層次級3中的一種同步點)。經(jīng)過數(shù)據(jù)結(jié)構(gòu)“基值(Contributions)”可以定義基值(量值),它們在實現(xiàn)SP后被提供給至少為一種的其它SP?;凳恰皠幼鳌钡慕M成部分。用另外的方式來表達,這些“量值”對於一種“較高級的”SP表示的是條件,這些條件在較高級的SP能夠?qū)崿F(xiàn)之前,必須通過較低級的同步點來建立或滿足。基值只有在增值方向是允許的(這意味著在層次級3中的同步點只準涉及層次級2中的同步點)。介於SP之間的關(guān)系總是包含兩種已提到的組成部分,即前提與動作。總是從同步伙伴之一出發(fā)進行關(guān)系的定義,這意味著在前面所述的實例中要么在SP_x上說明SP_x想對SP_y提供一種量值,要么在SP_y上說明SP_y等候著SP_x的一種量值。這意味著在給一種同步關(guān)系下定義時它還是不完整的,總是還缺少一半的關(guān)系。這一半在APS產(chǎn)生時通過鍵接程序/脫機編碼程序來補充。通過介於SP之間的關(guān)系,定義啟動時的SP的順序。在此一種SP所在段層次的級是完全不重要的。僅為構(gòu)造SP(和啟動段)才需要層次級,這意味著為了人們不致失去對SP和它們的概觀。通過對另一種SP提供一種SP的基值,如同通過其它SP的“條件(Condition)”那樣因此實現(xiàn)完全相同的結(jié)果。因此,在給同步關(guān)系下定義時,人們有一種自由度。人們利用該自由度以達到“特征獨立性(featureindependence)”同步關(guān)系總是由在段層次中處在下方很遠的SP所定義的。在前述實例中定義會看來像如下那樣(前提是SP_x位於較高的層次級上)SP_y標(biāo)明一種“條件Condition)”(等候wait_for),這意味著SP_y標(biāo)明,SP_x必須是在它之前被實現(xiàn)的。通過兩種從它們的作用看是等同的語言工具“基值”和“條件”以及通過利用該自由度,啟動才可以變?yōu)椤疤卣鳘毩⒌?featureindependent)”。數(shù)據(jù)結(jié)構(gòu)“SP的定時(Timingof_SP)”包含,顯示允許一種段的最大持續(xù)時間的信息,以便從一個同步點向前跨進到下一個同步點。如果在通過該最長持續(xù)時間確定的定時器走完之前,同步點未被達到,通過一種相應(yīng)的標(biāo)記對相應(yīng)的錯誤發(fā)出信號。數(shù)據(jù)結(jié)構(gòu)“外部同步點”表明,顯示該同步點的局部先決條件已滿足的消息是否應(yīng)送往所謂的母平臺(parentplatform)。該母平臺是那種承擔(dān)對從屬子平臺的維護活動作檢查的平臺。因此該數(shù)據(jù)結(jié)構(gòu)用於跨平臺的同步和由此同樣地表示著一種與同步點有關(guān)系的應(yīng)實施的動作。同步消息只應(yīng)送往母平臺而不送往所有鄰近的平臺(它們對於各單個子平臺是完全不知道的,只能從數(shù)據(jù)庫中讀出,而該數(shù)據(jù)庫在啟動過程中才被裝入的)。在迄今於啟動段中被說明的啟動信息已被表示之后,現(xiàn)在則說明那些對參與同步啟動的用戶過程是重要的啟動信息。用於一種過程的啟動信息的說明,在此只能涉及那些在該過程所屬SPU內(nèi)被定義的同步點,這意味著在這種SPU內(nèi)該過程是已被說明的。所述用於一種過程的說明能脫機地,這意味著由編譯程序和/或由聯(lián)編程序處理,以便由此產(chǎn)生包含在啟動表格中的信息。下述說明或由此生成的啟動信息是可能的對於一種過程可以通過說明“Start_at_SP”確定,何時,這意味著在實現(xiàn)何種SP時,應(yīng)啟動一種過程。該說明在一種所謂的啟動表中引起一種項,該表是對每種同步點存在著的,并對在該SP上應(yīng)啟動的一些過程編目。在包含應(yīng)啟動過程的模塊內(nèi)進行說明。此外一個過程有可能性來表明,它希望被暫停,直到實現(xiàn)一種一定的同步點為止。該可能性通過操作系統(tǒng)調(diào)用“Wait-for-SP”的說明來實現(xiàn),在此操作系統(tǒng)調(diào)用(管理調(diào)用(SupervisdryCall)簡寫ASVC)作為傳輸參數(shù)必須包含的一定SP的數(shù)據(jù)。除此以外,一種過程可以要求,當(dāng)一定的同步點(在它的SPU之內(nèi))已被達到時可得到通知。這是在兩個部分內(nèi)實現(xiàn)的。通過一種說明來實現(xiàn)第一部分(靜態(tài)部分),根據(jù)此說明脫機地向每種SP都存在著的一種“監(jiān)視表(Watch-Tabelle)”中進行輸入,該監(jiān)視表收錄過程的監(jiān)視要求。在包含著應(yīng)啟動過程的那種模塊內(nèi)進行此說明。第二部分(動態(tài)部分)通過操作系統(tǒng)調(diào)入“監(jiān)視SP(Wait_for_SP)”,在正要求著的過程本身中來實現(xiàn)。最后,一種過程-在其啟動之后-可以向一種同步點提供一種量值和通過操作系統(tǒng)調(diào)用“提供給SP(Contribute_to_SP)”的說明在它已進行的量值之后向一種SP表明,該量值是已被滿足的。這又以兩個部分來實現(xiàn)。通過一種說明來實現(xiàn)第一部分(靜態(tài)部分),根據(jù)此說明脫機地向每種SP都存在著的一種“基值表(Kontributions-Tabelle)”中進行輸入,該基值表收錄過程的基值顯示。在包含著那種應(yīng)啟動過程的模塊內(nèi)進行此說明。第二部分(動態(tài)部分)通過操作系統(tǒng)調(diào)用“提供給SP(Contribute_to_SP)”在正顯示著的過程本身中來實現(xiàn)。在“提供給(ContribTo)”的情況下這兩部分在邏輯上是需要的-用通告表(TableAnnouncement)(靜態(tài)部分,說明)促使所屬的SP等候過程的基值。-該過程(在它已執(zhí)行必要的動作之后)用操作系統(tǒng)調(diào)用“提供給SP(Contribute_to_SP)”進行它的對SP的量值,這意味著該過程以該操作系統(tǒng)調(diào)用告知啟動(Sstart-Up),它用於SP的前提已得到滿足。-與之相對地“等候(WatchFor)”的兩個部分,在邏輯上是不必要的;只有當(dāng)人們用之可以發(fā)送消息的緩沖標(biāo)識符(Buffer-ID)是脫機地未知的時候它才是必要的。在這種在此假設(shè)的情況下它們必須聯(lián)機地被告知啟動(Start-Up);靜態(tài)部分為此僅保留啟動(Start-Up)所需要的位置,以使該(脫機未知的)緩沖標(biāo)識符可以被輸入。以下詳細說明啟動控制程序SUPO_SYNC和SUPO_PROCESS的功能。啟動控制程序利用啟動表格,(如同已提及的那樣),以便控制啟動。確切地說,它們控制同步了的啟動,其方法在於,它們將SP-單元從一種狀態(tài)引導(dǎo)到另一種狀態(tài)。各SP的處理不受層次級和它們所處外殼的影向。由於與各SP聯(lián)系著的任務(wù)的原因,有必要在SUPO_SYNC和SUPO_PROCESS之間進行區(qū)分;在此對於所有的SP的相同的任務(wù)總是由相同SUPO-部分來實施。SP的處理幾乎完全通過SUPO_SYNC。SUPO_SYNC來檢驗前提是否已滿足,并且必要時執(zhí)行動作(包括將新“準備好的”SP-單元掛入“就緒存儲池”)。SUPO_PROCESS只承擔(dān)在APS的外殼3中不能執(zhí)行的任務(wù)-SP的時間監(jiān)視-在外界SP的情況下通往母平臺的通信-推動啟動表格的初始化和啟動同步機制。圖3說明一種SP-單元能夠呈現(xiàn)的三種狀態(tài)和將SP-單元從一種狀態(tài)引導(dǎo)到下一種狀態(tài)的方式和方法。整個啟動方法被初始化,其方法在於,使第一種SP-單元準備好實施,這意味著被引導(dǎo)到“就緒”(“ready”)狀態(tài)。這可以例如經(jīng)過一種專用接口來進行。根據(jù)介於SP之間的關(guān)系,必須僅一次地使“第一種”SP“就緒(ready)”,這意味著不必(而且也不準)在每種SPU中使第一種SP“就緒(ready)”。而是根據(jù)這些由“第一種SP”到另一些SP的關(guān)系它們自動變?yōu)椤熬途w(ready)”,因為“第一種SP”的動作包含著對其它SP的基值,和其它一些SP根據(jù)這些基值可以變成“就緒(ready)”。在所附的圖(圖4)中,該“第一種SP”是“SPU5”中的第一種SP。圖4表示一種在考慮過程級的情況下的典型的啟動。每當(dāng)一種過程作一種基值,SUPO_SYNS就檢查所屬SP(過程對其作了它的基值)的全部前提是否已得到滿足(這意味著機理是事件控制的)。如果一種SP的全部前提是滿足的,則(由SUPO_SYNC,還在提供給SVC(Contribute_TO_SVC)的范圍內(nèi))執(zhí)行SP的動作-有時一些過程被啟動,-向過程發(fā)送消息,-重新喚起被推遲的過程和-作出對其它SP的基值。根據(jù)這些動作,在提供給SVC(Contribute_TO_SVC)的范圍內(nèi),其它的SP還可以變成“就緒(ready)”(如果對於那些已為之作了提供的SP來說在提供之后全部前提是滿足的)。這些SP的動作同樣地還在提供給SVC(Contribute_TO_SVC)的范圍內(nèi)被執(zhí)行(等等)。在全部已“就緒(ready)”的SP的動作已實施后,此提供給SVC(Contribute_TO_SVC)就結(jié)束;一種開始運行的過程被選出(由操作系統(tǒng))。如同已說明的那樣,每種SP包含在該SP“就緒(ready)”之前哪些前提必須是滿足的信息。前提可以包含兩種組成部分-事先必須被實現(xiàn)的SP此信息要么是直接在該SP上被標(biāo)明的(如果它等候位於較高層次級中的一種SP的話)要么由連接程序/脫機編碼程序生成(如果一個較低層次級的一種SP認為事先必須是被滿足的話)。-過程的量值在啟動過程中過程進行本來的工作。因此它們的量值特別重要。如同在16)中說明的那樣,過程的基值包含兩個組成部分一個靜態(tài)的和一個動態(tài)的。該靜態(tài)組成部分在此僅為此而存在,即所屬的SP“知道”,它必須等候一個確定的過程的一個量值。SP-單元由“未就緒存儲池(nicht_bereit_Pool)”轉(zhuǎn)化為“就緒存儲池(bereit_Pool)”,也就是作為以下事件a)和b)之一的結(jié)果a)SUPO_SYNC對於處在“未就緒存儲池(nicht_bereit_Pool)”里的而在段級上的SP做一量值。在完成該量值后SUPO_SYNC檢查是否同步點的全部先決條件都得到滿足。如果是肯定的話,則SUPO_SYNC將該SP-單元引導(dǎo)進入“就緒存儲池(bereit-Pool)”。b)一個過程完成一項對啟動是重要的任務(wù),并且該任務(wù)經(jīng)過已描述的說明(或通告表(tableannouncement)或過程基值的靜態(tài)組成部分)作為用於某種確定SP的前提而處在啟動表中(Start-Up-Tabelle)。在完成此任務(wù)后,該過程調(diào)用語句提供給SVC(Contribute_TO_SVC),在其范圍內(nèi)進行前述動作。通過由SUPO_SYNC控制的動作,來實現(xiàn)將一種SP-單元從狀態(tài)“就緒(bereit)”轉(zhuǎn)化到狀態(tài)“結(jié)束beendet”中去。與一種同步點相聯(lián)系,可以實施以下動作-與同步點相聯(lián)系,必須由操作系統(tǒng)啟動的一列過程,-必須對其它SP-單元做出基值,-在等候長隊中,等候著該同步點被達到的一列過程,重新被排入“準備就緒運行(readytorun)”的等候長隊中,-當(dāng)該同步點已被實現(xiàn)時,將一種標(biāo)準消息送向所有那些想被通知過程的緩沖區(qū)。-一種段的若干SP-單元由SUPO推動進入“就緒存儲池(ready_Pool)”。(如果下一個同步點的全部先決條件在同一段的范圍內(nèi)是滿足的,測該段的下一個同步點準備就緒被實施,并且該同步點因此被推動進入“就緒存儲池(ready_Pool)”)。如果一種同步點的全部所述動作已經(jīng)實施,則在該SP-單元范圍內(nèi)設(shè)置一種相應(yīng)的標(biāo)記。歸納起來可以說,采用將一種SP-單元從就緒存儲池取出的辦法,SUPO_SYNC促使將此種SP-單元從“就緒”狀態(tài)轉(zhuǎn)入“結(jié)束”狀態(tài)。SUPO_SYNC將各SP從該存儲池取出的次序是無所謂的。在“就緒存儲池(readyPool)”中的全部SP已經(jīng)實現(xiàn)和所有這些SP的動作必須被實施。實際上這些存儲池是作為SP-單元的鏈來實現(xiàn)的。在處理時先從鏈中前部開始,并且總是鏈中的下一種被處理;新的SP掛入鏈的后部。因此保證了所有的SP被處理。此外實際上不存在“非就緒存儲池(notreadyPool)”和“結(jié)束的存儲池”(“finishedPool”)。這些存儲池通過在SP-單元中的標(biāo)記來代替,這些標(biāo)記指明,還缺少多少種用於一種SP的前提或一種SP的動作是否已經(jīng)被處理完畢。如果在該就緒存儲池中不再存在SP-單元,SUPO_SYNC則不再有工作,并且必須等候,一種用戶過程借助於操作系統(tǒng)調(diào)用“提供給SP(ContribntetoSP)”將一個SP-單元,轉(zhuǎn)入就緒存儲池。如果具有外部意義的一種同步點被實現(xiàn)了,SUPO_SYNC則不馬上實施與該同步點相聯(lián)結(jié)的動作,而SUPO_PROCESS促使向母平臺發(fā)送消息,通過該消息向此母平臺指明,已經(jīng)到達位於發(fā)送信息平臺上的所述的SP(這意味著從局部角度看)。同時SUPO_SYNC推遲實施與此同步點相連結(jié)的動作,直到從母平臺經(jīng)SUPO_PROCESS已經(jīng)接收到消息“全局地送達SP(SPglobalerreicht)”為止。一種個部的同步點可以被看作為包含兩個虛擬的同步點,這通過圖5說明。在段a范圍內(nèi)的第一種虛擬同步點,在與所觀察的同步點的關(guān)聯(lián)中,包括同步點的全部(局部)的先決條件,和一種單一的動作,即向母平臺發(fā)送一種消息(“SP局部被實現(xiàn)”)。第二種虛擬同步點包括單一的先決條件,消息“全局地送到SP”已由母平臺收到,此外并包括所觀察同步點的全部其余(局部)的動作。以下詳細地說明用戶過程針對啟動的操作系統(tǒng)調(diào)用(管理程序調(diào)用(SupervisoryCalls)簡稱SVC)所有通過操作系統(tǒng)啟動的過程必須說明,何時,這就是說在何種同步點上,它們應(yīng)被啟動。一旦該同步點已被實現(xiàn),由SUPO_SYNC啟動在此同步點應(yīng)啟動的過程。SUPO_SYNC啟動一種過程類型的全部具體型式。通過用戶過程進行的操作系統(tǒng)調(diào)用“提供給SP(Contribute_to_SP)”擁有一些參數(shù),這些參數(shù)一方面指明段和對之應(yīng)提供一種量值的同步點(在也包含該過程的SPU范圍內(nèi)),和另一方面指明該量值是正或是負,這意味著是否該量值已能夠被實施或是否出現(xiàn)一種差錯。SUPO_SYNC在它調(diào)用后利用段名稱和給定的同步點,以便在相應(yīng)的對之應(yīng)提供一種量值的SP-單元上存取。該SP-單元在此之后獲得一種計時標(biāo)記,以便指明,該量值已經(jīng)做出和在何時已被做出。如果由一種SP-單元所期待的全部量值已被做出時,該SP-單元則準備就緒被實施,這意味著準備就緒,與該同步點相聯(lián)結(jié)的動作被實施。這表現(xiàn)在於,由SUPO_SYNC將該SP-單元轉(zhuǎn)入就緒存儲池。緊接其后,這意味著在同一調(diào)用的范圍內(nèi)在SUPO_SYNC的監(jiān)督下實施所有與該同步點相聯(lián)結(jié)的動作。操作系統(tǒng)調(diào)用“等候SP(Wait_for_SP)”由用戶過程執(zhí)行,以便使本身暫停,直到已達到某種確定的時間點時為止。該操作系統(tǒng)調(diào)用擁有給定段和同步點(在自身的SPU范圍內(nèi))的參數(shù)。操作系統(tǒng)調(diào)用的實施又通過SUPO來進行,在此SUPO利用由操作系統(tǒng)授權(quán)的例行程序,以便將已被暫停的過程(確切地說過程監(jiān)督塊簡稱PCB)與一種在操作系統(tǒng)外殼范圍內(nèi)相應(yīng)的清單相聯(lián)結(jié)。清單位置又與在操作系統(tǒng)調(diào)用中給定的同步點相聯(lián)結(jié)。當(dāng)該同步點已被實現(xiàn)時,則該過程被從清單中取出并轉(zhuǎn)送到狀態(tài)“準備就緒運行(readytorun)”。如果該同步點已被實現(xiàn),當(dāng)操作系統(tǒng)調(diào)用被實施時,引發(fā)操作系統(tǒng)調(diào)用的過程當(dāng)然不被暫停。如果操作系統(tǒng)調(diào)用“監(jiān)視SP(Watch_for_SP)”想被告知一種已實現(xiàn)的同步點的話,這種調(diào)用將由一種用戶過程執(zhí)行。為了把用戶過程的緩沖區(qū)標(biāo)識符通知SUPO,操作系統(tǒng)調(diào)用是必要的,因為在APS的生產(chǎn)時刻,此緩沖區(qū)標(biāo)識符還是未知的(一種過程的緩沖區(qū)和由此該緩沖區(qū)標(biāo)識符在運行時才被生成)。該操作系統(tǒng)調(diào)用擁有以下參數(shù)-段和同步點(在本身的SPU范圍內(nèi)),將把此同步點通知用戶過程,-用戶過程的緩沖區(qū)標(biāo)識符,-一種應(yīng)答參數(shù),它向用戶過程指明同步點是否已被找到,和清單的緩沖區(qū)標(biāo)識符能否加接緩沖區(qū)標(biāo)識符,后者當(dāng)同步點已被實現(xiàn)時接收報告。如果應(yīng)答是否定的,指明同步點已被實現(xiàn)的消息不被送往用戶過程。以下詳細說明用於啟動脫機支緩的工具啟動表的生成要求以下的手段-說明手段(定義手段),啟動段和在其中應(yīng)接收的啟動信息,通過這種手段以合適的方式能夠被說明,以及-表格生成手段,它們借助於通過定義手段說明的啟動信息生成對SUPO合適的啟動表。所述的定義手段已得到詳細說明,現(xiàn)在詳細地深入討論表格生成手段。為了從為一種處理器確定的服務(wù)模塊中生成啟動表,編譯程序首先從在服務(wù)模塊中包含的段中生成若干部分啟動表(段表)。為此目的一種專門的SUP-模塊的和用戶模塊的編譯順序是必要的。此外編譯程序?qū)⒁环N服務(wù)模塊的段表與SPU-邏輯程序設(shè)計語言(SPU-Prolog)相聯(lián)結(jié)。通過連接程序和脫機編碼程序建立介於不同段之間的關(guān)系。在此對段表加進對此所必要的信息。根據(jù)所述的表格生成手段,在最后的APS-裝入生成之前,啟動表已可提供使用。因此已經(jīng)在此時間點上,可以通過相應(yīng)的檢查工具,檢查啟動的整個過程。該檢查手段可以例如從相容性(死鎖等等)方面檢查啟動表,針對全過程范圍內(nèi)的關(guān)鍵性路徑進行分析和識別瓶頸和關(guān)鍵的時間路徑。(整個)啟動表可以由此及早被優(yōu)化。最后該(整個)啟動表可以借助於一種顯示手段,以相應(yīng)的啟動計劃表的形式,被做成對開發(fā)者來說是可見的。開發(fā)者能夠通過此較容易地發(fā)現(xiàn)差錯。權(quán)利要求1.一種計算機系統(tǒng)的啟動系統(tǒng),具有至少一種確定程序系統(tǒng)的啟動(APS)的啟動表,和具有借助於在啟動表中包含的啟動信息,控制啟動的啟動控制程序(SUPO_SYNC,SUPO_PROCESS),其特征在於,啟動表脫機地從啟動信息中生成,啟動信息是在設(shè)計它們的時候在程序系統(tǒng)的軟件成分(SPU)中生成的2.按權(quán)利要求1的啟動系統(tǒng),其特征在於,啟動表是一種由多個部分啟動表組成的表格,在此一個部分表每次是通過編譯一種軟件成分(SPU)的針對啟動的說明而生成的。3.按權(quán)利要求1至2中之一的啟動系統(tǒng),其特征在於,不同的部分表由用於產(chǎn)生程序系統(tǒng)的生產(chǎn)工具匯合成一種完整的表格。4.按權(quán)利要求1至3中之一的啟動系統(tǒng),其特征在於,在一種表格的范圍內(nèi)已經(jīng)確定,是否應(yīng)該為了滿足一項條件而越出處理器界限之外執(zhí)行一種同步。5.按權(quán)利要求1至4中之一的啟動系統(tǒng),其特征在於,用戶軟件自己也可以借助於表格定義其啟動。6.按權(quán)利要求1至5中之一的實時系統(tǒng)的啟動系統(tǒng),其特征在於,表格確定啟動,采用的方法是,它們一方面用規(guī)定的順序確定系統(tǒng)狀態(tài)(SP),和另一方面確定在實現(xiàn)一種當(dāng)時的系統(tǒng)狀態(tài)后應(yīng)該執(zhí)行的動作。7.按權(quán)利要求1至6中之一的實時系統(tǒng)的啟動系統(tǒng),其特征在於,表格確定系統(tǒng)狀態(tài),采用的方法是,它們確定條件(條件(Condition))提供(Contribution)),在它們得到滿足的情況下,則認為已達到一種系統(tǒng)狀態(tài)8.用於確定計算機系統(tǒng)啟動的方法,按照該方法-在計算機系統(tǒng)成分存儲池的一種軟件成分中,在其設(shè)計的時候,用於將該軟件元件并入計算機系統(tǒng)的整個啟動的若干啟動關(guān)系被說明,-從那些為一個用戶專用的實時系統(tǒng)的程序系統(tǒng)而從成分存儲池選出的軟件成分,脫機地生成一種啟動表,它確定實時系統(tǒng)的整個啟動,并由啟動控制程序聯(lián)機地利用來控制啟動。全文摘要一種綜合計算機系統(tǒng)的程序系統(tǒng)是很用戶專用化的,因此啟動變化很多。因此一種這樣的計算機系統(tǒng)的啟動系統(tǒng)必須是很靈活的。另一方面對該綜合的啟動的及時和嚴密的監(jiān)督仍然應(yīng)該是得到保證的。這些要求通過一種啟動系統(tǒng)來滿足,它具有脫機地以按本發(fā)明的方式生成的啟動表。文檔編號G06F9/46GK1189227SQ96195122公開日1998年7月29日申請日期1996年6月26日優(yōu)先權(quán)日1995年6月28日發(fā)明者M·克拉克,M·德爾勒,W·斯特澤爾申請人:西門子公司