欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

具有通用操作系統(tǒng)接口的設(shè)備驅(qū)動(dòng)系統(tǒng)的制作方法

文檔序號(hào):6406579閱讀:221來源:國(guó)知局
專利名稱:具有通用操作系統(tǒng)接口的設(shè)備驅(qū)動(dòng)系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,并且更詳細(xì)地講,涉及到對(duì)各設(shè)備驅(qū)動(dòng)系統(tǒng)的一些改進(jìn),從而一個(gè)設(shè)備驅(qū)動(dòng)系統(tǒng)的主要部分(這里稱為“芯體”〔Core〕)具有一個(gè)通用的操作系統(tǒng)接口,使這樣的“芯體”用于各種不同的操作系統(tǒng),而不用對(duì)該芯體作任何實(shí)質(zhì)的改變。
作為技術(shù)背景來說,設(shè)備驅(qū)動(dòng)器是控制或處理自I/O〔輸入或輸出〕設(shè)備流入或輸出的數(shù)據(jù)流的程度或程序。驅(qū)動(dòng)器形成操作系統(tǒng)的一部分并與操作系統(tǒng)其它部分相互作用。一個(gè)操作系統(tǒng)通常包括用于I/O設(shè)備的一套基本的設(shè)備驅(qū)動(dòng)器,例如,個(gè)人計(jì)算機(jī)通常使用的鍵盤、固定磁盤和軟盤、顯示器以及打印機(jī),當(dāng)一個(gè)I/O設(shè)備加到一個(gè)數(shù)據(jù)處理系統(tǒng)中,并且這樣的設(shè)備不能被已有的操作器所操作器所操作時(shí),為了應(yīng)用這一設(shè)備則必須對(duì)該系統(tǒng)增加一臺(tái)新的驅(qū)動(dòng)器。這樣的新驅(qū)動(dòng)器照例由該I/O設(shè)備的制造方提供,并且按照該操作系統(tǒng)所建立的程序安裝在該系統(tǒng)中。在具有IBM DOS或OS/2操作系統(tǒng)進(jìn)行操作的個(gè)人計(jì)算機(jī)中,在起動(dòng)或套用這類計(jì)算機(jī)時(shí),利用在一個(gè)配置系統(tǒng)(CONFIG·SYS)文件中的命令或指令來建立這樣的驅(qū)動(dòng)器。
通常為了一個(gè)具體的操作系統(tǒng)來建立各種設(shè)備驅(qū)動(dòng)器。在IBM系統(tǒng)期刊1988年第2期27卷170-184頁(yè)中A.M.Mizell著的“理解操作系統(tǒng)/2的設(shè)備驅(qū)動(dòng)器”一文中闡述了設(shè)備驅(qū)動(dòng)器對(duì)IBM SS/2操作系統(tǒng)的關(guān)系。這種操作系統(tǒng)提供多重任務(wù)的操作,其中不同的程序能夠共同兼用單一設(shè)備,以及一個(gè)或多個(gè)程序同時(shí)應(yīng)用各不同的設(shè)備。十分明顯,這種設(shè)備驅(qū)動(dòng)器和設(shè)備處理程序是十分復(fù)雜的,并且通常成為操作系統(tǒng)的從屬物,為一個(gè)操作系統(tǒng)所設(shè)計(jì)的一個(gè)設(shè)備驅(qū)動(dòng)器不進(jìn)行大量的修改則不能為另一操作系統(tǒng)所用。
高性能型號(hào)的IBM PS/2個(gè)人計(jì)算機(jī)包括有按照Micro Channel(微通道)結(jié)構(gòu)設(shè)計(jì)的總線。(IBM,OS/2,PS/2和Micro Channel是國(guó)際商用機(jī)器(IBM)公司的商標(biāo))。這樣的總線以下稱為“MC總線”,并且提供這樣的裝置,即用它可將附加的I/O設(shè)備和附屬系統(tǒng)連接到各個(gè)計(jì)算機(jī)上。SCSI(Small Computer System Interface小型計(jì)算機(jī)系統(tǒng)接口)總線是按照SCSI體系設(shè)計(jì)的一條總線,并提供一套標(biāo)準(zhǔn)化設(shè)計(jì),把SCSI設(shè)準(zhǔn)的I/O設(shè)備在其上連接,也即是專門設(shè)計(jì)的用于連接到一條SCSI總線上的設(shè)備。SCSI體系定義了一項(xiàng)SCSI指令組,用于訪問SCSI設(shè)備。SCSI適配器和SCSI ABIOS(前置基本輸入/輸出操作系統(tǒng))可在市場(chǎng)買到,并且它允許SCSI設(shè)備通過一條MC總線連接到PS/2計(jì)算機(jī)。91年2月12日提交的美國(guó)專利申請(qǐng)?zhí)?7/654,441,公開了這種SCSI設(shè)備用的一種設(shè)備驅(qū)動(dòng)系統(tǒng),即D.T.Feriozi Jr.等人提出的題為“用于多重任務(wù)的操作系統(tǒng)的SCSI設(shè)備驅(qū)動(dòng)器”,并轉(zhuǎn)讓給本發(fā)明要求權(quán)利保護(hù)的受讓人。在該類申請(qǐng)所公開的系統(tǒng)中,SCSI設(shè)備驅(qū)動(dòng)器是專門為OS/2操作系統(tǒng)之用而建立的,這種驅(qū)動(dòng)器必須大加修改才能用于其它操作系統(tǒng)。
一個(gè)設(shè)備驅(qū)動(dòng)系統(tǒng)一般能分成兩個(gè)主要部分,一部分是與操作系統(tǒng)接口的部分,以及第二是與硬件連接的接口部分,它包括處理I/O設(shè)備所需的專用信息。據(jù)我們估計(jì),致力于開發(fā)建立不同操作系統(tǒng)用的新型設(shè)備驅(qū)動(dòng)器中有10-20%的努力是在一部分,而其余80~90%是消耗在開發(fā)第二部分。本發(fā)明的主要目的之一就是提供一種設(shè)備驅(qū)動(dòng)器芯,這通用于多個(gè)不同的操作系統(tǒng),并且不需修改而被用于各不同的操作系統(tǒng)。這樣的系統(tǒng)還包括一個(gè)操作系統(tǒng)專用變址層,用于轉(zhuǎn)換在該芯體中的一個(gè)通用操作系統(tǒng)接口和一個(gè)被使用的操作系統(tǒng)中專用的設(shè)備驅(qū)動(dòng)器接口之間的信息。當(dāng)該芯用于不同的操作系統(tǒng)時(shí),只需改變?cè)撟冎穼蛹纯?,這樣就可節(jié)省80~90%致力于整個(gè)設(shè)備驅(qū)動(dòng)器系統(tǒng)不得不重新設(shè)計(jì)和開發(fā)所需的消耗。
本發(fā)明的目的之一是提供一種不需要實(shí)質(zhì)上的修改而能用于各不同操作系統(tǒng)的設(shè)備驅(qū)動(dòng)器系統(tǒng)。
本發(fā)明的另一目的在于提供一個(gè)具有通用于各不同操作系統(tǒng)的芯體的設(shè)備驅(qū)動(dòng)器系統(tǒng)。
本發(fā)明的進(jìn)一步目的在于一種設(shè)備驅(qū)動(dòng)器系統(tǒng),用于處理各不同操作系統(tǒng)中的極不相同的各I/O設(shè)備,包括SCSI設(shè)備。
本發(fā)明的再一個(gè)目的在于提供一種通用的設(shè)備驅(qū)動(dòng)器芯體,它能應(yīng)用于各不同的操作系統(tǒng),并且還允許擴(kuò)展該芯體來適應(yīng)新的或不同的設(shè)備和特性,這些是前些已有設(shè)備驅(qū)動(dòng)器所不能提供的。
本發(fā)明還有一個(gè)另外目的在于提供具有一個(gè)卡片狀態(tài)機(jī)的一種設(shè)備驅(qū)動(dòng)器芯體,該狀態(tài)機(jī)包括多個(gè)邏輯設(shè)備狀態(tài)機(jī),這些機(jī)器模擬了相應(yīng)于I/O設(shè)備中的各具體的設(shè)備狀態(tài)機(jī),并且能使這些相應(yīng)成對(duì)兒的邏輯狀態(tài)機(jī)和具體狀態(tài)機(jī)在互相直接對(duì)應(yīng)(peer-to-peer basis)的基礎(chǔ)上接口。
本發(fā)明的另一個(gè)目的在于提供具有一個(gè)傳送層的一種設(shè)備驅(qū)動(dòng)器芯體,該傳送層提供給該系統(tǒng)中的每一SCSI適配器卡片,以及提供一組能被該卡片使用的傳送功能。
簡(jiǎn)言之,根據(jù)本發(fā)明,一種設(shè)備驅(qū)動(dòng)系統(tǒng)包括處理多個(gè)指定功能的I/O設(shè)備的芯體。該芯體包括一個(gè)操作系統(tǒng)接口,它通用于各不同操作系統(tǒng),一個(gè)操作系統(tǒng)包括只有該操作系統(tǒng)才有的一個(gè)設(shè)備驅(qū)動(dòng)器接口。一個(gè)轉(zhuǎn)換程序被放于該芯體和該操作系統(tǒng)之間的層中,用于轉(zhuǎn)換該操作系統(tǒng)的設(shè)備驅(qū)動(dòng)器接口和該芯體的通用操作系統(tǒng)接口之間的信息。
本發(fā)明的其它目的和優(yōu)點(diǎn)從下面結(jié)合附圖所作的說明中可清楚了解。


圖1是實(shí)施本發(fā)明的數(shù)據(jù)處理系統(tǒng)的方框圖;
圖2是圖1所示系統(tǒng)接口的更詳細(xì)的方框圖。以及圖3是圖1所示操作系統(tǒng)獨(dú)立設(shè)備驅(qū)動(dòng)器的更詳細(xì)的方框圖。
現(xiàn)在參照附圖,并首先看圖1,這里表示一個(gè)數(shù)據(jù)操作系統(tǒng)10可在一個(gè)操作系統(tǒng)(OS)的操作下執(zhí)行應(yīng)用程序16、系統(tǒng)10包括連接到總線系統(tǒng)14的一個(gè)處理器12,該總線14將系統(tǒng)10的其它各元件互相連接起來,其它元件包括一個(gè)RAM(隨機(jī)存取存儲(chǔ)器)18、一個(gè)鍵盤20、一個(gè)顯示器22、一個(gè)軟盤驅(qū)動(dòng)器24,一個(gè)固定盤驅(qū)動(dòng)器26,以及多個(gè)MC(微通道)連接器28。兩個(gè)SCSI適配器30和30′被插到各不同的連接器28之一。適配器30被接到一個(gè)SCSI總線31上,該總線31依次接到一個(gè)視覺SCSI設(shè)備32和一個(gè)磁帶SCSI設(shè)備33上。適配器30′連接到另一SCSI總線31′,該總線31′依次連接到一個(gè)磁帶SCSI設(shè)備34和一個(gè)SCSI直接訪問存儲(chǔ)設(shè)備(DASD)35上。適配器30包括一個(gè)具體卡片狀態(tài)機(jī)(PCSM)36;適配器30′也包括一個(gè)PCSM(未示出)。很顯然,適配器卡片和I/O設(shè)備的型式和數(shù)目可根據(jù)用戶的需要隨著一個(gè)系統(tǒng)到另一個(gè)系統(tǒng)而改變,并且所說明的系統(tǒng)僅是為了理解本發(fā)明而考慮的例子。還須注意,項(xiàng)目30和30′這里可用同義語(yǔ)和互換的術(shù)語(yǔ)“適配器”、“適配器卡片”和“卡片”來表示。
應(yīng)用程序16存儲(chǔ)于RAM18中由處理器12執(zhí)行,該操作系統(tǒng)包括存儲(chǔ)RAM18中由處理器12執(zhí)行的一個(gè)核心11,存儲(chǔ)在RAM18中還有一個(gè)三元設(shè)備驅(qū)動(dòng)器系統(tǒng),它包括OS特定設(shè)備驅(qū)動(dòng)器(OSSDD)38、一個(gè)OS特定的變址層(OSSML)40和一個(gè)設(shè)備驅(qū)動(dòng)器芯體(DDC)42。除該設(shè)備驅(qū)動(dòng)系統(tǒng)外,(也即除元件38、40和42外),描述在上面的系統(tǒng)10的其它接口是市場(chǎng)可買到的,所以根據(jù)本理解本發(fā)明的需要,在這里僅對(duì)它們作那么多詳述。OSSDD 38包括一組設(shè)備驅(qū)動(dòng)器程序,這些是該操作系統(tǒng)的特定程序,并且提供一個(gè)對(duì)OSSML40的接口,它符合于標(biāo)準(zhǔn)接口,通過此接口將操作系統(tǒng)提供到常規(guī)的各設(shè)備驅(qū)動(dòng)器。DDC 42具有一個(gè)與操作系統(tǒng)相連的接口,它通用于多個(gè)操作系統(tǒng)。OSSML 40是一層在OSSDD38和DDC 42之間的功能層,它將對(duì)經(jīng)過標(biāo)準(zhǔn)操作系統(tǒng)設(shè)備驅(qū)動(dòng)器接口和通用的設(shè)備驅(qū)動(dòng)器操作系統(tǒng)接口之間的項(xiàng)目進(jìn)行轉(zhuǎn)換。DDC42實(shí)施成在各不同的操作系統(tǒng)之間可以輕便移動(dòng),因此,如果一個(gè)不同的操作系統(tǒng)被裝在系統(tǒng)10中,仍能應(yīng)用DDC42,不過OSSDD38和OSSML40需被替換,以便與新的操作系統(tǒng)相一致。
參照?qǐng)D2,應(yīng)用程序16根據(jù)系統(tǒng)調(diào)入43對(duì)該操作系統(tǒng)發(fā)出的I/O請(qǐng)求而訪問I/O設(shè)備32-35。這樣的調(diào)入被OS核芯11接受,該核芯將這些調(diào)入譯碼,然后根據(jù)該請(qǐng)求被導(dǎo)引到的設(shè)備類別發(fā)送到一個(gè)OSSDD中。所述系統(tǒng)有兩個(gè)SCSI設(shè)備類別,一個(gè)DASD類和一個(gè)磁帶夾。該系統(tǒng)因而有兩個(gè)OSSDD38和38′用于處理這不同類別的請(qǐng)求。OSSDD發(fā)布命令并將數(shù)據(jù)經(jīng)過該標(biāo)準(zhǔn)化的操作系統(tǒng)設(shè)備驅(qū)動(dòng)接口46送到OSSML,該OSSML譯碼和轉(zhuǎn)換這些指令以便經(jīng)過設(shè)備驅(qū)動(dòng)器操作系統(tǒng)接口48送到DDC42。OSSML也有兩個(gè)相應(yīng)于這兩個(gè)類別的部件40和40′。接口46包括下列SCSI的程序設(shè)備-開始(dev-init),設(shè)備-起動(dòng)(dev-start),設(shè)備-停止(dev-stop),設(shè)備-檢查(dev-rw),設(shè)備-儲(chǔ)存(dev-reserve),設(shè)備-接通(dev-close),設(shè)備-格式(dev-format),SCSI-尋找-類別(scsi-find-class),SCSi-得到-返回(scsi-get-rtns),SCSi-寄存-分類(scsi-register-class),SCSi-寄存-設(shè)備-返回(scsi-register-dev-rnts),開始-SCSi-輸入/輸出(begin-scsi-io),do-scsi-cmd,SCSi-開始(scsi-init),SCSi-停止設(shè)備(scsi-stopdev),得到-詢問(get-inquiry),高密度數(shù)據(jù)操作讀(hddoread),高密度數(shù)據(jù)操作(hddowrite),以及置一類別0(set-class 0)。接口46還包括返回到OS核芯的各接口,包括得到-無設(shè)備(get-devno),報(bào)告-錯(cuò)誤(report-err),輸入/輸出-已做(io-done),以及圖象-輸入/輸出(map-io)。
DDC42包括多類設(shè)備驅(qū)動(dòng)器50和52,它們分別通用于SCSI DASD類別和SCSI磁帶類。自接口48收到的I/O請(qǐng)求直接引向適當(dāng)類別的驅(qū)動(dòng)器。四個(gè)特定的設(shè)備驅(qū)動(dòng)器(SDD)驅(qū)動(dòng)器54、56、58和60專門或唯一的對(duì)每個(gè)特定的SCSI設(shè)備提供驅(qū)動(dòng)器功能。驅(qū)動(dòng)器54和56對(duì)視覺的SCSI設(shè)備32和DASD SCSI設(shè)備35提供的驅(qū)動(dòng)器功能。驅(qū)動(dòng)器58和60對(duì)磁帶設(shè)備33和34提供特定的驅(qū)動(dòng)器功能。這兩個(gè)專用的磁帶設(shè)備,例如,可以是一個(gè)4毫米的磁帶驅(qū)動(dòng)和一個(gè)8毫米的磁帶驅(qū)動(dòng)(要求稍微不同于SDDS)。DDC42還包括一個(gè)通道處理器62和具有多個(gè)傳送程序64及66的一個(gè)傳送層,對(duì)系統(tǒng)中的每個(gè)SCSI適匹器有一個(gè)傳送程序。
OS核芯11還包括設(shè)備驅(qū)動(dòng)器輔助裝置70,它由各不同的例行程序調(diào)入于設(shè)備驅(qū)動(dòng)器系統(tǒng)中。因OSSDD 38是操作系統(tǒng)專用的,所以輔助裝置70直接由請(qǐng)求72調(diào)入。但是,在DC42中的程序發(fā)出請(qǐng)求76,它是通用于那樣的操作系統(tǒng)輔助裝置的,以及OSSML40將那樣的請(qǐng)求譯碼成該操作系統(tǒng)專用的請(qǐng)求74。這樣的請(qǐng)求通常是用于提取程序以便從該OS獲得信息。
圖3表示對(duì)通道處理器62諸多細(xì)部與候傳送層和狀態(tài)機(jī)之間的關(guān)系。通道處理器62包括一個(gè)請(qǐng)求分配器80、請(qǐng)求入列82、一個(gè)指令起動(dòng)器84和一個(gè)邏輯卡片狀態(tài)機(jī)(CSM)87通道處理器62接受請(qǐng)求分配器80中的I/O請(qǐng)求。當(dāng)在大約同一時(shí)間接受多個(gè)請(qǐng)求時(shí),這些請(qǐng)求被堆積在分配器的內(nèi)部,然后每次服務(wù)一個(gè)。分配器80確定該請(qǐng)求是為了哪個(gè)SCSI設(shè)備,執(zhí)行在入隊(duì)前需作的任何一項(xiàng)功能,建立一個(gè)通用的請(qǐng)求方框,并且將此請(qǐng)求方框分配到相應(yīng)的設(shè)備隊(duì)列82。
設(shè)備隊(duì)列82包括三部分一個(gè)入隊(duì)功能92、多個(gè)設(shè)備請(qǐng)求排隊(duì)94/n(這些“n”識(shí)別所連接的I/O設(shè)備),以及一個(gè)出隊(duì)功能98,每個(gè)請(qǐng)求隊(duì)列是由個(gè)個(gè)請(qǐng)求方框96組成的。當(dāng)從分配器80接受一個(gè)請(qǐng)求方框96時(shí),入隊(duì)功能92即把該請(qǐng)求方框相應(yīng)于提出該請(qǐng)求的I/O設(shè)備放在該隊(duì)列94中,在響應(yīng)從指令起動(dòng)器84接受的一條信息而為一個(gè)具體設(shè)備傳送下一個(gè)請(qǐng)求方框中,出隊(duì)功能98從一個(gè)排隊(duì)列中撤出一個(gè)請(qǐng)求方框96,并將其傳送到該請(qǐng)求器。該出隊(duì)功能可用很多種方法進(jìn)行,例如FIFO(先進(jìn)、先出)、優(yōu)先權(quán)等級(jí)等。
指令起動(dòng)器84把接受的請(qǐng)求通用方框96的轉(zhuǎn)換成SCSI特定的請(qǐng)求方框102,然后通過傳送層64或66之一傳送到一個(gè)系統(tǒng)狀態(tài)機(jī),以用于I/O請(qǐng)求所被指引到的設(shè)備,指令起動(dòng)器根據(jù)每一個(gè)通用的請(qǐng)求建立一個(gè)或以上的SCSI指令,或把多個(gè)通用請(qǐng)求優(yōu)化成為一個(gè)單一的SCSI指令,例如,若干個(gè)系列盤閱讀該能優(yōu)化為一個(gè)單一的SCSI讀指令。因?yàn)楦鱾魉蛯佣际窍嗨频?,所以只在圖3中示出一層64,以使說明簡(jiǎn)單些,與層66的聯(lián)系通過示于起動(dòng)器84的右邊處的路徑實(shí)現(xiàn)。
CSM87在邏輯上相同于PCSM36且包含一個(gè)卡片數(shù)據(jù)結(jié)構(gòu)112,它在下面討論的其它元件中,包括相應(yīng)的PSSM狀態(tài)方面的信息。CSM還包括有多個(gè)邏輯設(shè)備狀態(tài)機(jī)(LDSM)88,有一個(gè)LDSM88是為系統(tǒng)中每個(gè)I/O設(shè)備用的,多個(gè)LDSM與相應(yīng)于該卡片的傳送層相連接,該卡片與各I/O設(shè)備連接。因此,LDSM 88/32和88/33與傳送層64相互作用,這是因?yàn)樵O(shè)備32和33被接到層64相對(duì)應(yīng)的適配器30的緣故。傳送層64是字符的E形且具有3個(gè)屬層64A-64C,各種不同的請(qǐng)求和信息通過它們。屬層64A接受從起動(dòng)器84來的一項(xiàng)請(qǐng)求,確定還被連接的適配器同時(shí)處理的請(qǐng)求的數(shù)量是否超過了該適配置在任一給定時(shí)間所能處理的最大數(shù)目,如果該適配器太忙,則該請(qǐng)求沿通道104傳送到屬層64B,該層確定是否在相連的隊(duì)列100中有任何懸而未決的請(qǐng)求。如果沒有懸而未決的請(qǐng)求一個(gè)設(shè)備,那么現(xiàn)行的請(qǐng)求被傳送到適當(dāng)?shù)腖DSM88。
CSM 87和各LDSM 88形成在存儲(chǔ)器18中,并且與相應(yīng)的各具體設(shè)備狀態(tài)機(jī)(PDSM)成對(duì)兒形成模型。這些PDSM是執(zhí)行實(shí)時(shí)I/O操作的實(shí)際I/O設(shè)備,并且包括內(nèi)部鎖存器、寄存器和代表該機(jī)具體狀態(tài)的信號(hào),以及響應(yīng)控制該設(shè)備操作等激勵(lì)的設(shè)備邏輯。詳細(xì)講,如圖3所示,LDSM 88/32是PDSM 32′的一個(gè)模型,LDSM 88/33是PDSM 33′的一個(gè)模型,每個(gè)邏輯和具體狀態(tài)機(jī)識(shí)別設(shè)備進(jìn)入的狀態(tài),設(shè)備是在線并響應(yīng)于一個(gè)激勵(lì)而依據(jù)先前的狀態(tài)和激勵(lì)的性質(zhì)而轉(zhuǎn)換到另一種狀態(tài)。因此,舉例來說,假定PDSM 33′具有三種狀態(tài)A′,B′和C′,相應(yīng)的LDSM 88/33也有相應(yīng)于狀態(tài)A′-C′的三種狀態(tài)A,B和C,每個(gè)LDSM與PDSM成對(duì)兒,并且各成對(duì)兒的狀態(tài)機(jī)借助于通過傳送屬層64C傳輸?shù)母餍畔⒍嗷ヂ?lián)系。各成對(duì)兒的狀態(tài)機(jī)布置成一個(gè)直接對(duì)應(yīng)一個(gè)地控制,相反于主/從控制,以提供各種新的功能和利益,如下所述。
利用上節(jié)所述的例子,當(dāng)指令起動(dòng)器84發(fā)出信息(請(qǐng)求)沿著104到達(dá)LDSM 88/33時(shí),開始一個(gè)典型的操作,這就造成此等狀態(tài)機(jī)從狀態(tài)A轉(zhuǎn)換到狀態(tài)B,這個(gè)轉(zhuǎn)換部分在于將信息息或指令經(jīng)過造成該設(shè)備從狀態(tài)A′進(jìn)到狀態(tài)B′的通道106送到PDSM 33′。通道106通過傳送屬層64C,該屬層建立控制SCSI設(shè)備33的操作所需的指令或控制分程序,這種控制分程序沿通道106輸送。當(dāng)設(shè)備33完成所期望的操作時(shí),PDSM 33′從狀態(tài)B′轉(zhuǎn)換到狀態(tài)C′。這個(gè)轉(zhuǎn)換的一部分在于將一個(gè)響應(yīng)(指令的結(jié)果)沿通道108送回到LDSM88/33,根據(jù)收到的該信息(結(jié)果),LDSM88/33從狀態(tài)B轉(zhuǎn)換到狀態(tài)C。這個(gè)轉(zhuǎn)換的一部分在于將一個(gè)信息(結(jié)果)經(jīng)過通道110送回到指令起動(dòng)器。然后從隊(duì)列94/33能得到一個(gè)新的請(qǐng)求。注意,一個(gè)LDSM不必永遠(yuǎn)是一個(gè)請(qǐng)求的起動(dòng)者,一個(gè)設(shè)備和PDSM也能做為一個(gè)起動(dòng)器,這就意味著,能產(chǎn)生異步處理。
這種狀態(tài)機(jī)的內(nèi)部相互作用提供多種重要的功能和利益。同步設(shè)備(即磁盤、磁帶)和非同步設(shè)備(即LAN和其它通信設(shè)備)可附加到同一總線/適配器組合上。該狀態(tài)機(jī)的內(nèi)部相互作用在同步處理器驅(qū)動(dòng)設(shè)備(即磁盤)和非同步驅(qū)動(dòng)設(shè)備(通信設(shè)備)之間存在對(duì)稱關(guān)聯(lián)。對(duì)于同步設(shè)備,消失的跟蹤中斷被簡(jiǎn)化了。在相應(yīng)的狀態(tài)機(jī)中,可能有定時(shí)的轉(zhuǎn)換。這樣的轉(zhuǎn)換允許解決何時(shí)需要將更多的緩沖器分配絡(luò)合通信設(shè)備的問題。對(duì)稱狀態(tài)模型化允許一個(gè)機(jī)內(nèi)設(shè)備處理任一可能存在的機(jī)外超高速緩沖存儲(chǔ)器的狀態(tài)。由于所有層次的通道處理器都能由設(shè)備專用碼擴(kuò)展,所以許多這樣的功能有可能是成立的??梢杂脴?biāo)準(zhǔn)碼,對(duì)不被現(xiàn)有的子系統(tǒng)中碼復(fù)蓋的一個(gè)設(shè)備的各區(qū)才需要寫入和開發(fā)新碼。
在每個(gè)CSM中包含的是一個(gè)卡片數(shù)據(jù)結(jié)構(gòu)112,它的元件細(xì)節(jié)根據(jù)附屬設(shè)備的元件細(xì)節(jié)隨機(jī)器的不同而不同。每個(gè)卡片數(shù)據(jù)結(jié)構(gòu)包括下述各組信息字段
字段 信息1 卡片識(shí)別器信息-描述指定的適配器卡,也即I/O口,存儲(chǔ)器變換的地址等,2 錯(cuò)誤信息-當(dāng)一個(gè)錯(cuò)誤發(fā)生時(shí),存儲(chǔ)各錯(cuò)誤碼的地方3 卡片狀態(tài)-指示該卡片所處在的現(xiàn)行狀態(tài),即未初始化,未出現(xiàn),復(fù)蓋,錯(cuò)誤校正過程(ERP),初始化,在占用和被損壞。
4 標(biāo)志-用于修改某些為該卡片用的碼的行為,大都在卡片已被初始化時(shí)置位。
5 設(shè)備狀態(tài)指示器-指示設(shè)備狀態(tài)數(shù)組。
6 傳送功能指示器-指示為該卡片用的傳送功能。
7 工作排隊(duì)-對(duì)于卡片執(zhí)行的不代表任何設(shè)備的工作排隊(duì),(設(shè)備I/O請(qǐng)求不在此隊(duì)列中)。
所有關(guān)于一個(gè)卡片和附于其處的設(shè)備的活動(dòng)狀態(tài)信息都保持在該卡片數(shù)據(jù)結(jié)構(gòu)112之外。這類結(jié)構(gòu)保持為一個(gè)此等結(jié)構(gòu)的陣列。該卡片號(hào)碼被用作編入該陣列的索引,以便一個(gè)具體卡片訪問一單獨(dú)結(jié)構(gòu),通常,對(duì)于一個(gè)PS/2計(jì)算機(jī),采用將一個(gè)特定卡片插入的槽及具體卡片號(hào)碼。
傳送功能114設(shè)置在傳送層并作為一個(gè)聯(lián)絡(luò)清單被存儲(chǔ),對(duì)每個(gè)類型的適配器有一個(gè)傳送功能114。這些傳送功能包括各數(shù)據(jù)和程序,程序包括一個(gè)指示器(指到清單中的下一個(gè)傳送功能);卡片識(shí)別器,存在的測(cè)試程序,初始化卡片程序,中斷程序,輸出指令程序,再置程序。配置指令組程序,自由終端成組程序,建立指令成組程序,過程卡片工作排隊(duì)程序,得到狀態(tài)成組程序,過程指令錯(cuò)誤程序,再起動(dòng)I/O程序,修改指令成組程序,以及錯(cuò)誤報(bào)告程序。
當(dāng)系統(tǒng)10被初始化時(shí),每個(gè)傳送功能被掃描,直到發(fā)現(xiàn)有一個(gè)與被初始化卡片相匹配為止,尋找匹配是利用一個(gè)組合的卡片識(shí)別器字段和調(diào)用存在的測(cè)試程序來進(jìn)行。當(dāng)找到一個(gè)匹配時(shí),指令該單獨(dú)傳送功能的指示器被放到合適的卡片狀態(tài)結(jié)構(gòu)中,對(duì)一個(gè)具體卡片這就允許快速訪問該傳送功能。如果在該系統(tǒng)中有多個(gè)同型的適配器卡片,則多個(gè)卡片狀態(tài)結(jié)構(gòu)可指到一個(gè)特定的傳送功能。
因?yàn)閿?shù)個(gè)卡片狀態(tài)結(jié)構(gòu)112能指到一個(gè)具體傳送功能,所以每個(gè)卡片的這些指定保存在該卡片狀態(tài)結(jié)構(gòu)中作為卡片識(shí)別器的一部分。在其卡片識(shí)別器字段中的傳送功能114保持有該型卡片用的通用信息(即可以出現(xiàn)在控制各寄存器的所有可能的I/O接口的清單)。該傳送功能能按照單個(gè)卡片執(zhí)行的某項(xiàng)功能的特征隔離具體加以區(qū)分。
這將不會(huì)被弄錯(cuò)BIOS操作。這些傳送功能主要是把焦點(diǎn)集中于將各指令專門發(fā)送到卡片和該卡片的響應(yīng)。這些傳送功能是不分狀態(tài)的,其中所有有關(guān)正被執(zhí)行的活動(dòng)的狀態(tài)信息都被保持在較高層次。該傳送功能被調(diào)用來執(zhí)行該卡片上某些很專門的功能。
當(dāng)I/O設(shè)備被加到該系統(tǒng)并且DDC42需加以修改以控制這些設(shè)備時(shí),這些修改可包括在編碼擴(kuò)展中,它們可被置于合適的一個(gè)或一個(gè)以上DDC42的各不同接口上。因此,各編碼擴(kuò)展(用E尾綴指示)可被安排為,擴(kuò)展80E去請(qǐng)求分配器,擴(kuò)展992E和98E為入隊(duì)和出隊(duì)功能92和96,擴(kuò)展84E為指令初始器,以及擴(kuò)展64E為傳送層64。各擴(kuò)展還能對(duì)邏輯狀態(tài)機(jī)做出。例如,假定設(shè)備32具有3種狀態(tài)X′、Y′和Z′,以致PDSM包括這樣的一些狀態(tài),并且當(dāng)它被加到該系統(tǒng)上時(shí),存在著一個(gè)現(xiàn)有它LDSM只有兩種狀態(tài)X和Y,LDSM88/32用加一個(gè)相應(yīng)于狀態(tài)Z的擴(kuò)展來形成。
對(duì)于熟悉本領(lǐng)域技術(shù)的人員很顯然,在細(xì)節(jié)方面和步驟的排列上以及各部件上都能做出許多改變,但都不離乎下述權(quán)利要求所界限的本發(fā)明范圍。
權(quán)利要求
1.一個(gè)數(shù)據(jù)處理系統(tǒng),具有一個(gè)存儲(chǔ)系統(tǒng)用于存儲(chǔ)應(yīng)用程序和一個(gè)操作系統(tǒng),一個(gè)處理器用于執(zhí)行所述程序,以及多個(gè)I/O設(shè)設(shè)備,其特征為,所述操作系統(tǒng)具有一個(gè)所述操作系統(tǒng)唯一的設(shè)備驅(qū)動(dòng)器接口;一個(gè)設(shè)備驅(qū)動(dòng)器芯體,具有一個(gè)通用于多個(gè)不同的操作系統(tǒng)的操作系統(tǒng)接口;以及一個(gè)轉(zhuǎn)換程序被從功能上在所述操作系統(tǒng)和所述設(shè)備驅(qū)動(dòng)器芯體之間形成層,用于轉(zhuǎn)換在所述操作系統(tǒng)的所述設(shè)備驅(qū)動(dòng)器接口和所述設(shè)備驅(qū)動(dòng)器芯體的所述操作系統(tǒng)之間的信息。
2.如權(quán)利要求1的一個(gè)數(shù)據(jù)處理系統(tǒng),其特征為,所述設(shè)備驅(qū)動(dòng)器芯包括多個(gè)I/O分類設(shè)備驅(qū)動(dòng)器,包括在所述數(shù)據(jù)處理系統(tǒng)中的不同類別的I/O設(shè)備;以及多個(gè)設(shè)備特定的設(shè)備驅(qū)動(dòng)器,每個(gè)包括所述數(shù)據(jù)處理系統(tǒng)中的一個(gè)不同的I/O設(shè)備,所述設(shè)備特定的設(shè)備驅(qū)動(dòng)器是按照設(shè)備類別在所述分類設(shè)備驅(qū)動(dòng)器下面形成的層。
3.如權(quán)利要求1的一個(gè)數(shù)據(jù)處理系統(tǒng),其特征為,所述的設(shè)備驅(qū)動(dòng)器芯體包括一個(gè)通道處理器,可操作地接受來自所述操作系統(tǒng)的I/O請(qǐng)求,排隊(duì)所述請(qǐng)求,以及譯碼所述請(qǐng)求成為所述I/O設(shè)備用的專門指令;以及一個(gè)傳送層,接口在所述通道處理器和所述I/O設(shè)備之間。
4.如權(quán)利要求3的一個(gè)數(shù)據(jù)處理系統(tǒng),其特征為,所述I/O設(shè)備包括多個(gè)具體設(shè)備狀態(tài)機(jī)(PDSM);以及所述通道處理器包括多個(gè)邏輯設(shè)備狀態(tài)機(jī)(LDSM),每個(gè)相應(yīng)于一個(gè)不同的所述PDSM并與其成對(duì)兒,用于在每對(duì)中的每個(gè)狀態(tài)機(jī)之間的通信。
5.如權(quán)利要求4的一個(gè)數(shù)據(jù)處理系統(tǒng),其特征為,每對(duì)的一個(gè)LDSM和一個(gè)PDSM被布置成一個(gè)直接對(duì)應(yīng)的控制,因而這種LDSM通過送一個(gè)指令能造成這種PDSM轉(zhuǎn)換狀態(tài),這種PDSM也能傳送一個(gè)指令造成這種LDSM轉(zhuǎn)換狀態(tài)。
6.如權(quán)利要求5的一個(gè)數(shù)據(jù)處理系統(tǒng),其特征為,所述數(shù)據(jù)處理系統(tǒng)包括一個(gè)適配置卡片,用于連接到多個(gè)所述I/O設(shè)備已,所述適配器卡片包括一個(gè)具體的卡片狀態(tài)機(jī);以及所述通道處理器包括一個(gè)邏輯卡片狀態(tài)機(jī),它模仿所述具體卡片狀態(tài)機(jī)。
7.如權(quán)利要求6的一個(gè)數(shù)據(jù)處理機(jī),其特征為,所述傳送層包括多個(gè)屬層,且所述邏輯狀態(tài)機(jī)是夾在所屬各屬層之間的層,從而所有的I/O請(qǐng)求在到達(dá)所述邏輯狀態(tài)機(jī)之前經(jīng)過所述各屬層。
8.按照權(quán)利要求7的一個(gè)數(shù)據(jù)處理系統(tǒng),其特征為,當(dāng)一個(gè)收到的I/O請(qǐng)求正被送到一個(gè)附在所述適配器卡片上的I/O設(shè)備時(shí),所述屬層之一被操作到確定是否所述適配器卡片被占用,因?yàn)樗?jīng)常地處理一予定數(shù)目的I/O請(qǐng)求,這樣的一個(gè)屬層被進(jìn)一步操作到置放所述收到的I/O請(qǐng)求在一個(gè)卡片請(qǐng)求隊(duì)列上,直到當(dāng)正被所述卡片處理的I/O請(qǐng)求的數(shù)目跌到所述予定數(shù)目之下為止。
9.如權(quán)利要求3的一個(gè)數(shù)據(jù)處理系統(tǒng),其特征在于,所述通道道處理器包括多個(gè)請(qǐng)求隊(duì)列,用于暫時(shí)存儲(chǔ)I/O請(qǐng)求,對(duì)每個(gè)I/O設(shè)備有一個(gè)請(qǐng)求隊(duì)列。一個(gè)請(qǐng)求分配器,用于接受I/O請(qǐng)求和分配這些請(qǐng)求,按照每個(gè)請(qǐng)求所針對(duì)的設(shè)備來分配到所述請(qǐng)求的隊(duì)列之一。
10.如權(quán)利要求9的一個(gè)數(shù)據(jù)處理系統(tǒng),其特征為,所述的通道處理器還包括多個(gè)邏輯狀態(tài)機(jī),用于控制所述I/O設(shè)備的操作;一個(gè)指令初始器可操作到接受從所述請(qǐng)求隊(duì)列中來的I/O請(qǐng)求,并譯碼每個(gè)請(qǐng)求成一個(gè)專門的I/O指令,然后它被送到所述狀態(tài)機(jī)之一,按照這個(gè)專門的I/O指令去操作所述的I/O設(shè)備之一。
11.如權(quán)利要求10的一個(gè)數(shù)據(jù)處理系統(tǒng),其特征為,所述數(shù)據(jù)處理系統(tǒng)包括一個(gè)SCSI總線,并且所述I/O設(shè)備是連接到所述SCSI總線上的SCSI設(shè)備。
12.如權(quán)利要求11的一個(gè)數(shù)據(jù)處理系統(tǒng),其特征為,所述數(shù)據(jù)處理系統(tǒng)包括一個(gè)連接到所述SCSI總線上,并包含一個(gè)具體的卡片狀態(tài)機(jī)(PCSM)的適配器卡片;所述通道處理器包括一個(gè)邏輯卡片狀態(tài)機(jī)(LCSM),它相應(yīng)于所述的PCSM,所述LCSM包含一個(gè)卡片狀態(tài)數(shù)據(jù)結(jié)構(gòu),它可置位于指示所述PCSM的一個(gè)現(xiàn)狀態(tài)。
13.如權(quán)利要求12的一個(gè)數(shù)據(jù)處理系統(tǒng),其特征為,所述傳送層包括一個(gè)含有用于與所述I/O設(shè)備接口的程序的傳送功能;以及所述卡片數(shù)據(jù)結(jié)構(gòu)包含一個(gè)指示器,指到所述傳送功能。
14.如權(quán)利要求3的一個(gè)數(shù)據(jù)處理系統(tǒng),其特征為所述通道處理器包括擴(kuò)展程序,用于擴(kuò)充所述通道處理器的操作范圍超過已有的限制。
全文摘要
設(shè)備驅(qū)動(dòng)系統(tǒng)包括一個(gè)處理多個(gè)I/O設(shè)備特定功能的芯體,它包括一個(gè)通用于不同操作系統(tǒng)的操作系統(tǒng)接口;一個(gè)操作系統(tǒng)具有該操作系統(tǒng)所唯一具有的設(shè)備驅(qū)動(dòng)器接口;在芯體和操作系統(tǒng)之間置有一層轉(zhuǎn)換程序?qū)?,用于轉(zhuǎn)換操作系統(tǒng)的設(shè)備驅(qū)動(dòng)器接口和芯體的通用操作系統(tǒng)接口。芯體包括一通道處理器,它包含一個(gè)請(qǐng)求分配器、各請(qǐng)求隊(duì)列,指令起動(dòng)器和多個(gè)相應(yīng)于I/O設(shè)備中狀態(tài)機(jī)的狀態(tài)機(jī)。在硬件和通道處理器之間有一層傳送層接口。
文檔編號(hào)G06F13/10GK1065346SQ92101820
公開日1992年10月14日 申請(qǐng)日期1992年3月18日 優(yōu)先權(quán)日1991年3月26日
發(fā)明者弗里曼·利·羅森, 蓋伊·吉爾·索托梅爾·Jr, 愛德華·米歇爾·塔吉爾·Jr 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
肃南| 镇巴县| 宕昌县| 武平县| 满城县| 布尔津县| 房产| 九寨沟县| 双城市| 九龙县| 乌审旗| 吉隆县| 新竹县| 新和县| 沙雅县| 沾化县| 新田县| 天柱县| 固始县| 岳阳县| 临夏市| 闵行区| 江华| 文化| 林甸县| 仪陇县| 北碚区| 通渭县| 陕西省| 屯留县| 文登市| 临夏县| 洛阳市| 贺州市| 五指山市| 望都县| 科技| 敦煌市| 康平县| 洮南市| 宿迁市|