專利名稱:用于在終端上顯示窗口應用程序的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一終端上顯示信息的方法和設(shè)備,特別涉及在一終端上格式化和顯示例如微軟窗口(Microsoft Windows)操作環(huán)境以及在該環(huán)境中的應用程序的圖形用戶接口的方法和設(shè)備。
圖形用戶接口,例如Microsoft Windows操作環(huán)境包括用于世界暢銷應用軟件的最通用的操作環(huán)境。這樣的環(huán)境由于易用,用戶接口均一,顯示質(zhì)量高,以及其他原因通常被優(yōu)選。
然而,這樣的用戶環(huán)境用在例如個人計算機那樣的工作站和微計算機上。這樣的工作站和微計算機盡管靈活,但在保密性,可靠性,容易管理,以及價值方面表觀出困難,盡管已知數(shù)據(jù)終端提供相對微計算機改善了保密度和容易管理的優(yōu)點,但通常在低成本條件下,終端不能提供同最通用的圖形用戶接口的兼容性。在X環(huán)境中操作的終端能提供某些在Unix條件下操作的圖形接口能力,但是一般是昂貴的,要求擴展存儲器,并呈現(xiàn)出對最通用窗口環(huán)境不大的兼容性。
另外一種在現(xiàn)有技術(shù)中熟悉的是無磁盤個人計算機系統(tǒng)(PCS)。然而無磁盤PCS呈現(xiàn)出若干缺陷。在多數(shù)情況中,在客戶服務器環(huán)境中操作的無磁盤PCS通過下裝來自該服務器的應用程序并在本機執(zhí)行來顯示應用程序信息。這要求無磁盤PCS具有用于它試圖執(zhí)行的每個應用程序所需的任何處理能力。對于今天的環(huán)境,這要求8兆字節(jié)或更高字節(jié)的存儲器,強有力的處理器等等,而這使得一個無磁盤PC昂貴。此外,無磁盤PCS提供有限的保密性,并要求擴展管理。
WindowsNT操作系統(tǒng)提供一種強大的網(wǎng)絡客戶/服務器環(huán)境,而同時在應用程序級提供了同通用Windows環(huán)境相兼容的能力。然而,該NT操作系統(tǒng)是為PC客戶而不是終端編寫的,結(jié)果,NT客戶通常要求強大的網(wǎng)絡,由此增加費用。此外,Windows NT是為客戶/服務器而不是多用戶環(huán)境編寫。目前由Citrix Systems公司提供的WinFrame操作系統(tǒng)通過擴使它操作在多用戶環(huán)境中而修改了該Windows NT操作系統(tǒng),雖然與終端相反,對于WinFrame現(xiàn)有技術(shù)應用已是PCS客戶。
因此在多用戶Windows操作環(huán)境中需要一種便宜,可靠,易管理,保密以及能顯示應用程序信息的終端。
本發(fā)明提供了一種對現(xiàn)有技術(shù)缺陷精巧解決方案,即它提供能顯示同開窗口環(huán)境兼容的應用軟件的便宜的終端。
特別地,本發(fā)明提供了這樣一種顯示終端,它能同運行多用戶操作系統(tǒng)的應用服務器通信。這就在臺式計算機上提供了對窗口應用軟件的安全存取。在一示范性結(jié)構(gòu)中,一應用服務器以任何適于運行WinframeTM操作系統(tǒng)的計算機的形式提供,該操作系統(tǒng)是由Citrix系統(tǒng)公司提供的。該WinFrameTM操作系統(tǒng)包括Windows NT操作系統(tǒng)加上實施人們熟悉的如ICA-3顯示協(xié)議以及多用戶能力的擴展。
在一示范性實施例中,該終端包括基于Intel X86處理器線路的硬件結(jié)構(gòu)。此外,該終端僅提供有限的主存儲器,并通常本身不能執(zhí)行現(xiàn)代應用程序,例如字處理、作圖、數(shù)據(jù)庫、或者其他通用程序,或者甚至Windows或DOS操作系統(tǒng)本身。這樣本發(fā)明的終端完全不同于現(xiàn)有技術(shù)的X終端或無磁盤PCS,或其他按用戶/服務器環(huán)境結(jié)構(gòu)的PCS。
重要的是,硬件結(jié)構(gòu)不實施普通IBM PC/AT總線,而在該終端中的固件(firm ware)既不實施標準PC/AT BIOS,也不實施標準PC兼容磁盤操作系統(tǒng)。該終端軟件實施能同應用服務器兼容的網(wǎng)絡存取擴展,以及例如按Citrix系統(tǒng)可利用的ICA-3擴展。提供了既方便使用又是單色(包括灰度標準)或彩色的高分辨圖象顯示以及Windows環(huán)境的輸入/輸出裝置,例如鼠標、鍵盤、觸屏以及其他I/O服務裝置。
此外,該終端包括一個網(wǎng)絡接口,它能夠通過RS232線路,以太網(wǎng)連結(jié)、無線電話、ISDN、光纖、AC電源線調(diào)制解調(diào)、電纜或其他連結(jié)與普通應用服務器通信。當同應用服務器連結(jié)時,該終端顯示包括由該服務器執(zhí)行和由終端用戶訪問的任何應用程序的Windows NT或Windows95操作環(huán)境。在該示范性裝置中終端對用戶基本呈現(xiàn)同樣的缺陷較昂貴,不安全、不容易管理個人計算機。因此,在操作期間,本發(fā)明的終端不僅提供了在正常情況下與多用戶系統(tǒng)相關(guān)的許多特征,而且同時還提供了許多客戶/服務器環(huán)境類型要求的特征。
本發(fā)明的一個特征在于在一Windows環(huán)境中客戶獨立計算的可用性。這樣,對于根據(jù)本發(fā)明的一個系統(tǒng),用戶確定其操作環(huán)境,并且通過該系統(tǒng),此環(huán)境跟隨他或她。一個用戶由此能登錄到一個終端,確定一個環(huán)境,然后登錄到另一個終端。這樣第二終端能自動顯示由該用戶在第一終端確定的環(huán)境。
除了能顯示應用程序信息外,本發(fā)明終端還包括一個設(shè)定模式,該模式允許用戶建立該終端的各種各樣的操作狀況(operating aspect)。
為使本發(fā)明終端按照由諸如運行WinFrame的服務器傳送的命令工作,已開發(fā)了一種特定目的終端操作系統(tǒng),該操作系統(tǒng)仿真或者響應對普通PC操作系統(tǒng)的調(diào)用,該終端操作系統(tǒng)包括初始化或啟動系統(tǒng)的引導塊,其后跟隨一個內(nèi)核,該內(nèi)核裝入包括裝入修改的WinFrame客戶代碼的附加的驅(qū)動和命令軟件。執(zhí)行該修改的WinFrame客戶包括形成對一個應用服務器的連接。
除了能夠在微軟窗口環(huán)境中顯示應用顯示信息外,本發(fā)明還包括與通過包括其他常駐終端仿真或個體而運行“非窗口”操作系統(tǒng)的其它主機或服務器通信的能力,包括在各種個體之中的“熱鍵”轉(zhuǎn)換的能力在內(nèi)。
本發(fā)明的另一特征是具有用于配置終端以及其他的局部管理任務的圖形用戶接口。具體地,該圖形接口應用許多窗口,并且每個窗口允許重新配置一個或多個終端性能或其他局部任務。在每個窗口中的分組是能夠被配置在那個窗口中的選擇,顯示根據(jù)這些用戶可選擇的這些選擇或舍取方案,或通過下拉或類似的菜單可選擇這些選擇或這些舍取方案,各種數(shù)據(jù)結(jié)構(gòu)與不同類型的組和選擇有關(guān)。
本發(fā)明的另一個特征是包括存儲于快速存儲器中的終端操作系統(tǒng)。這種快速存儲器可以通過各種方法修改,包括當終端處在予定狀態(tài)下時通過例如并行端口、串行端口、或網(wǎng)絡匹配器這樣的接口進行通信的方法。
因此本發(fā)明的一個目的在于提供一種終端,該終端能顯示由執(zhí)行運行在Microsoft Windows NT操作環(huán)境中的通用應用程序的應用服務器產(chǎn)生的信息。
本發(fā)明的另一個目的在于提供一種終端配置系統(tǒng),該系統(tǒng)具有一種用于配置該終端操作參數(shù)的圖形用戶接口。
本發(fā)明再一個目的在于提供一種終端,該終端用于顯示仿真在客戶-服務器網(wǎng)絡環(huán)境中的一種客戶個人計算機的應用程序信息。
本發(fā)明再一個目的在于提供一種終端,該終端能將正常地與一種多用戶計算環(huán)境相關(guān)的要求特征同正常地與一種客戶一服務器環(huán)境相關(guān)的要求特征結(jié)合在一起。
本發(fā)明再一個目的在于提供一種終端操作系統(tǒng),該操作系統(tǒng)能夠與一種窗口操作環(huán)境通信,而同時運行非標準PC/AT BIOS和非標準PC DOS。
本發(fā)明再一個目的在于提供一種設(shè)備和方法,以便快速、容易地修改終端操作系統(tǒng)。
本發(fā)明還有一個目的在于提供多個常駐個體,在各種個體中快速轉(zhuǎn)換情況下不需要改變擴展卡或從該終端移除電源。
本發(fā)明的這些及其他目的可以根據(jù)以下結(jié)合本發(fā)明附圖的詳細說明很好地理解。
圖1表示按本發(fā)明的應用服務器和終端的一般化裝置。
圖2表示按本發(fā)明的邏輯結(jié)構(gòu)的功能方塊圖。
圖3表示圖2控制ASIC的結(jié)構(gòu)的方塊圖。
圖4表示按本發(fā)明的端的軟件結(jié)構(gòu)的概要。
圖5表示在GUI引擎和系統(tǒng)剩余部分之間建立接口的簡化方塊圖。
圖6表示頂層觀察處理的流程圖格式,通過它本發(fā)明終端連接到一個應用服務器。
圖7A表示本發(fā)明配置軟件的設(shè)置屏幕。
圖7B1-7B3表示同本發(fā)明配置軟件相關(guān)的數(shù)據(jù)結(jié)構(gòu)。
現(xiàn)在參照圖1,它表示按本發(fā)明的一個簡化系統(tǒng)。具體地,一單個應用服務器10在一個適合的網(wǎng)絡或另外的通信鏈路14上同一個或多個終端12雙向通信。該網(wǎng)絡鏈路可以是一個RS232線路,一個AC電源線調(diào)制解調(diào)器,或一種以太網(wǎng)連接,例如雙絞線或同軸電纜,或其他適合的鏈路,例如光纖。在已被確認運行滿意的一個示范性裝置中,應用服務器運行例如具有適當擴展的Windows NT操作系統(tǒng),例如由Citrix提供的那些操作系統(tǒng),如Winframe OS操作系統(tǒng)。該Citrix遠程窗口協(xié)議或擴展包括擴展ICA 3.0協(xié)議以及在Windows NT環(huán)境中提供真正多用戶能力的增強。對于這樣一種配置,該應用服務器例如可以是同適當數(shù)量的RAM在一起的基于Inter Pentium(英特爾奔騰)或486處理器或其他類似的如DEC Alpha或MIPS處理器的一種個人計算機,或多處理器。在一種示范性的結(jié)構(gòu)中,根據(jù)由用戶運行的特定應用,對于WinframeTMOS,該服務器可具有16兆字節(jié)的RAM,加上每一并行用戶的1-8兆字節(jié)的RAM。
在合適的配置中,服務器10還可以同其他的服務器通信,包括NetWare文件服務器16,Unix主機18,其他的個人計算機20,或互聯(lián)網(wǎng)的網(wǎng)關(guān)(Internet gateway)22。再者,通過其他連接,例如路由器或其他的通信服務器24,該應用服務器10還可以同遠程終端26通信,或通過其他裝置連接到遠程撥號用戶28。
接著參照圖2,可以更好地了解按本發(fā)明的終端的硬件結(jié)構(gòu)。具體地,一CPU100接收來自時鐘和復位邏輯102的時鐘和復位信號,它一般是X86家族的微處理器,而在示范性實施例中是80386CXSA或486SXLC處理器。該CPU通過地址總線105,數(shù)據(jù)總線106和CTRL總線108與剩余(remaining)邏輯通信。重要的是該總線105,106和108一般與IBM PC/AT標準不兼容,也不和任何其他個人計算機標準兼容,這是由于本發(fā)明試圖回避與在網(wǎng)絡環(huán)境中操作的個人計算機相關(guān)的許多缺陷,即使不是全部。
具體地,該地址總線105從CPU100延伸到控制ASIC110以及快速存儲器陣列112和VGA控制器114。數(shù)據(jù)總線106同樣與控制ASIC110、VGA控制器114以及存儲器陣列116通信。CTRL總線同樣向ASIC110和VGA控制器114提供控制信號。雜項邏輯118提供CONFIG、IDCS和DIAGCS到ASIC110。
ASIC110通過DMA總線120同存儲器陣列116通信,還通過PD總線122同快速存儲器112通信。PD總線122提供ASIC110和快速存儲器112之間,串行I/O和并行控制器124之間,鍵盤以及鼠標控制器126以及LAN控制器128之間的連接。此外,ASIC向快速存儲器112提供FCS信號,向存儲器陣列116提供RAS、CAS和WE信號,以及向SIO控制器124提供COM1、COM2和PPCS信號。此外,ASIC110向鍵盤/鼠標控制器126提供KBCS信號,以及向LAN控制器128提供NETCS信號。最后,ASIC向揚聲器130提供揚聲器啟動信號SPEN。
CPU110還通過部分總線105同SIO控制器124,鍵盤/鼠標控制器126以及LAN控制器128通信。此外,ASIC110向S10控制器提供硬件中斷INTA、INTB和INTP,向KB/MS控制器126提供硬件中斷KBINT和MSINT,以及向LAN控制器提供硬件中斷NINT。
存儲器陣列116一般由DRAM存儲器組成,雖然在某些實施例中可接受其他類型的存儲器。然而,像現(xiàn)代的個人計算機,在陣列116用于終端操作而要求的DRAM總量通常將在512KB到4MB的范圍內(nèi)。在一示范性實施例中,只使用23條存儲器地址線和一條字節(jié)選擇線,這就將存儲器空間限制到16MB。在另外實施例中,可以優(yōu)選不同規(guī)模的存儲器空間。
在一示范性實施例中,控制ASIC110包括用于總線控制、DRAM控制(典型地為交錯快速頁面模式)、系統(tǒng)定時器和揚聲器定時器、以及I/O控制器的功能塊,控制ASIC還可以實施成門陣列或其他高度集成的裝置,結(jié)合圖3來詳細描述它。
在一操作例中,快速存儲器112的規(guī)模為512KB量級已顯示出足夠;然而,在其他應用中優(yōu)選高達5MB的規(guī)模。而在一優(yōu)選實施例中,陣列112包括快速存儲器,在某些實施例中,即使該陣列是EPROM和SRAM或其他可比擬的存儲器器件,本發(fā)明的基本功能仍能保持。
SIO控制器124分別同COM1,COM2以及打印機(或并行)端132、134和136通信。SIO/并行控制器124可以是16552器件,例如可用Startech的。鍵盤/鼠標控制器126同樣地與鍵盤138和鼠標140通信,而無需在所有實施例中提供的LAN控制器同LAN接口142通信。在一個示范性的樣機中,該鍵盤/鼠標控制器126可以是一種標準的鍵盤控制器,而該鍵盤和鼠標兩者將滿足PS/2標準,雖然至少在某些實施例中該鍵盤控制器將被修正以便同US4,706,068中所描述的四線鍵盤接口相兼容。最后,LAN控制器可以是任一合適的網(wǎng)絡接口控制器,并符合任何可接受的網(wǎng)絡標準,包括10BaseT,10Base2等,該網(wǎng)絡接口可具有512KB的存儲器或更多存儲器以用于附加的代碼儲存。
視頻和圖形控制器114操作時同用于儲存視頻和圖形信息的第二存儲器陣列144相關(guān)聯(lián),并通過MPS148將該信息提供給監(jiān)視器146。視頻控制114例如可以是具有內(nèi)部RAMDAC的Cirrus5429器件,具有1MB視頻存儲器量級,以便提供例如至少同視頻圖形陣列標準兼容的高分辨率圖形顯示。對本領(lǐng)域技術(shù)人員顯而易見的是,總存儲器需求明顯少于具有類似顯示窗口應用程序的容量的一個人計算機的需求。睡眠信號150可由ASIC110提供。可使用實施睡眠信號的各種方法。例如,在本發(fā)明的單色版本中,提供一個信號到監(jiān)視器的電源,該監(jiān)視器禁止視頻信號并降低要求的監(jiān)視器電源功率。在本發(fā)明的彩色版本中,按VESA標準利用同步信號使監(jiān)視器電源下降。本專業(yè)技術(shù)人員將明白的是在將來,這些許多的功能,包括CPU,可以包括在一個或多個例如ASICS,門陣列或其他器件的VLSI器件中。
在本發(fā)明硬件的專有特征中,存儲在快速存儲器112中的終端操作系統(tǒng)可以通過各種方法加以修改,包括同適當接口連接,例如并行端口136,串行端口132或134,或網(wǎng)絡適配器,例如LAN接口142。在一示范性實施例中,當終端處于予確定狀態(tài)時,該快速存儲器可以通過與一主機系統(tǒng)通信而進行修改,例如通過附加環(huán)回插件,一合適的鍵盤序列或其他適當?shù)姆椒?。在這樣的設(shè)計中,在仍然允許同該主機通信的同時,起動下裝該終端的存儲器系統(tǒng)。之后該主機通過通信鏈路對終端的DRAM116或快速存儲器112直接提供已經(jīng)修改的操作特性。之后如果需要的話,該修改的操作系統(tǒng)信息被存儲到快速存儲器112中,而終端恢復到禁止下裝的正常操作狀態(tài)。
在正常條件下,在通過開始執(zhí)行包括在快速存儲器陣列112中的引導代碼而復位后,圖2的系統(tǒng)開始操作。快速存儲器陣列112可以設(shè)計成兩個存儲體,這兩個存儲體在CPU存儲器空間的預定地址,例如C00000-DFFFFF和E00000-FFFFFF被存取,而剩余存儲器空間被配置來提供許多如以下表1所示的正常PC功能。本領(lǐng)域技術(shù)人員將明白,在一示范性實施例中,視頻/圖形存儲器地址在普通PC存儲器地址之上移位了8MB。在該實施例中,VGA芯片可使用“可兼容的”模式(即線性尋址模式截斷),因此該VGA芯片僅在A0000h-AFFFFh(圖形模式)或B0000h-B7FFFh(MGA模式)或B8000h-B8FFFh(CGA模式)響應幀緩沖區(qū),而這些地址移位到8A0000h-8AFFFFh,等等。這些地址已經(jīng)被移位以便使存儲體0DRAM成為連續(xù)的,而同時(如在后面討論那樣)使得對正常PC功能的模仿滿足對窗口應用程序信息的顯示。
FFFFFFE00000DFFFFFC00000BFFFFFB80000B7FFFFB00000AFFFFF8000007FFFFF4000003FFFFF000000表1存儲體0可以配置到高端地址例如FFC000H-FFFFFFH的一個16K字節(jié)的引導塊中,跟隨兩個8KB參數(shù)塊,還跟隨許多最低到地址F80000H(對于512KB配置)或F00000H(如果形成1MB配置)或E00000H(如果形成2MB配置)的主塊。該存儲器主塊一般編制成一個文件系統(tǒng)??焖俅鎯ζ鞯拇鎯w1一般配置到一個文件系統(tǒng)裝置,并且其范圍可從DFFFFFH向下至C00000H。
接著參照圖3能更好地理解ASIC110。時鐘緩沖器160接收CLK50信號并向RESET SYNC邏輯162、DRAM控制邏輯164、以及定時控制邏輯166提供時鐘信號。如表2中所陳述那樣,一(INT)緩沖器168接收INTP、INTA、INTB、MSINT、KBINT以及NINT信號。INT緩沖器提供許多信號到中斷控制邏輯170,該中斷控制邏輯170從CPU控制輸入緩沖器172和定時控制邏輯166接收控制信號和定時控制信號,并產(chǎn)生提供到該CPU的INTR輸出信號。CPU控制輸入緩沖器172還提供一控制信號到周期(cyc1e)控制邏輯174,該周期控制邏輯174按序?qū)RAM控制164提供一控制信號。該DRAM控制164還從定時控制邏輯166接收一刷新信號;定時控制邏輯166還產(chǎn)生揚聲器起動信號SPEN。
在該示范性實施例中,中斷控制邏輯170不是可兼容的8259;同樣,系統(tǒng)定時器,或定時控制邏輯166不是可兼容的8254,并且工作在比可兼容的8254器件更高的頻率上。其結(jié)果是,某些更高頻率的由該定時控制邏輯傳送的中斷屏蔽在內(nèi)核中,但對于平均接近中斷間的正常時間的其他中斷被通過,這樣更高的頻率容許仿真標準PC功能,即使較低(標準)頻率模仿中斷間的時間可能是不均勻的。
ASIC110還包括接收如表2中所描述那樣的BE0、BE1以及A1-A23信號的CPU地址輸入緩沖器176,并提供一個輸出信號到DRAM存儲器地址Mux178以Mem/IO芯片選擇控制邏輯180。該Mem/IO芯片選擇控制邏輯180提供各種輸出信號,包括如表2中所示的FLASHCS0(FCS0)和FLASHCS1(FCS1)信號,以及其他信號。此外,ASIC110接收來自數(shù)據(jù)總線106的信號D0-15并將它們提供到CPU數(shù)據(jù)輸入緩沖器182。緩沖器182提供數(shù)據(jù)到提供輸出信號BD0-15的Bdata輸出緩沖器和鎖存器184。該緩沖器182還提供數(shù)據(jù)到提供SLEEP和PWRDWN信號的電源控制邏輯186。
信號BD0-15還能提供數(shù)據(jù)到依次提供該數(shù)據(jù)到CPU數(shù)據(jù)輸出緩沖器190的Bdata輸入緩沖器188。中斷控制邏輯170還提供信號到緩沖器190。配置寄存器192還提供一配置信號(例如硬件配置,例如多少快速和/或DRAM,或來自監(jiān)視器電源或來自例如一種網(wǎng)絡卡片的插件卡)到能將在總線106上的數(shù)據(jù)提供到該CPU的CPU數(shù)據(jù)輸出緩沖器。
接著參照圖4,能更好地理解本發(fā)明終端操作系統(tǒng)的關(guān)鍵環(huán)節(jié)。根據(jù)以上說明將理解到本發(fā)明的硬件不與標準AT-總線設(shè)計相兼容。相反本發(fā)明依靠固件(firmware)提供對較高軟件層的必要的BIOS服務。在一個示范性實施例中,該固件是設(shè)計成按虛擬8086模式運行的,具有AT一可兼容硬件元件,例如中斷控制器和盡可能接近按軟件模仿的定時器。此外,當在一個示范性實施例中使用標準鍵盤控制器時,終于使用了一個非標準控制器,使到這種裝置的接口也可以仿真。為方便這種模仿而截取來自/到這樣的硬件元件端的例如I/O信號。同樣,在控制一個被模仿的A20門的條件下,該處理器的存儲器管理特征能仿真在1MB上在正常硬件中產(chǎn)生的環(huán)繞式處理(Wraparound)。
繼續(xù)參照圖4,終端操作系統(tǒng)始于執(zhí)行引導塊300,接著裝入內(nèi)核305。如下面將更具體說明的,內(nèi)核305提供本發(fā)明的許多截取和再映象功能。內(nèi)核305完成后,IO.SYS代碼310被裝入。接著在315裝入COMMAND.COM代碼,接著執(zhí)行由AUTOEXEC.BAT文件提供的命令。該AUTOEXEC.BAT文件例如可包括鍵盤和鼠標驅(qū)動器,雖然這兩個驅(qū)動程序可以不在每個例中使用,還包括VGA XMS驅(qū)動程序。它還可以包括另外的選擇代碼,該代碼包括起動自測試序列,該序列在存在適宜條件時執(zhí)行。在一個示范性實施例中,安置在通信端口的環(huán)回插件使該自測試序列執(zhí)行。
然后,裝入EXEC.COM代碼325。在此位置,依靠實施,或者該系統(tǒng)將進入設(shè)置模式,或者用戶的命令可以使得或者進入設(shè)置模式,或者裝入網(wǎng)絡連接代碼。在目前實施的實施例中,系統(tǒng)進入設(shè)置模式為的是得到目前的配置數(shù)據(jù),并繼續(xù)裝入網(wǎng)絡連接代碼。
如果這種實施允許用戶去選擇,以及如果設(shè)置模式由該用戶選擇,則EXEC.COM325分支去運行SETUP或GUI330。如果未選擇設(shè)置模式,則EXEC.COM325配合網(wǎng)絡驅(qū)動器的裝和卸(在335),并開始起動網(wǎng)絡連接代碼(接著,ICA,thinwire,com,或其他的網(wǎng)絡)的運行(在340)。在目前優(yōu)選實施例中,網(wǎng)絡連接代碼包括基本修改的用于DOS客戶的Winframe形式,其標準形式可從Citrix Systems公司得到。
現(xiàn)在參照圖5,可更好地理解本發(fā)明的硬件結(jié)構(gòu)和終端操作系統(tǒng)的合作。具體地,圖5中所示最低層是輸入/輸出系統(tǒng)和硬件層400。接著較高層是驅(qū)動程序?qū)?02,而頂層是應用層404。
當加上電源時,在硬件層的加電和啟動測測406作為引導塊300的一部分被執(zhí)行。該加電和啟動試驗406執(zhí)行快速存儲器系統(tǒng)112的部分輸出以及RAM116的部分輸出。一旦加上電源,完成自檢測,該終端繼續(xù)按照上述引導序列(結(jié)合圖4)進行,該序列包括該引導塊300的剩余部分,AUTOEXEC序列408,以及在315的COMMAND.COM序列。AUTOEXEC和COMMAND.COM文件被保持在快速存儲器中。
在執(zhí)行終端的COMMAND.COM序列后,它使得AUTOEXEC文件裝入。該AUTOEXEC依次使EXEC.COM裝入(325)。如上指出,EXEC.COM序列(325)或轉(zhuǎn)移到設(shè)置模塊(330)或轉(zhuǎn)移到網(wǎng)絡連接模塊(340)。在初始安裝或者在終端的操作參數(shù)要求檢驗或改變的任何時間運行設(shè)置模式(330)。設(shè)置模塊(330)接收來自一個或多個設(shè)置數(shù)據(jù)文件418的信息并起動GUI引擎(420)。GUI引擎(420)依次同終端操作系統(tǒng)的鍵盤驅(qū)動器422、鼠標驅(qū)動器(424)、以及文件和存儲器服務驅(qū)動器(426)通信。此外,GUI引擎(420)還同依次提供數(shù)據(jù)到視頻控制器(430)的視頻輸入/輸出系統(tǒng)428通信,該視頻控制器(430)例如基于Cirrus 5429圖形處理器可以在設(shè)置序列期間產(chǎn)生視頻顯示。該設(shè)置序列將結(jié)合圖5更詳細地加以描述。
鍵盤驅(qū)動程序422依次同鍵盤控制器硬件432通信,該鍵盤控制器硬件432例如可以是普通的PS/2鍵盤輸入/輸出系統(tǒng),一個普通的串行總線(USB)接口,并且至少在某些實施例中也可以包括一個四線鍵盤接口,3例如在前述US4,706,068中描述的那一種。同樣,鼠標驅(qū)動程序424一般在合適的時間同鼠標輸入/輸出系統(tǒng)434通信。通過這樣的操作,終端操作系統(tǒng)的快速文件存儲器服務部分426將通常在快速存儲器和RAM之外執(zhí)行。
如結(jié)合圖5更詳細討論的那樣,設(shè)置處理過程使用戶指定終端的配置信息,包括例如網(wǎng)絡接口和有關(guān)的配置細節(jié)參數(shù),語言,顏色,以及其他參數(shù)。一旦指定了這些參數(shù),數(shù)據(jù)被儲存在連接數(shù)據(jù)文件440中。
在該時刻用戶準備退出終端設(shè)備模塊414,并返回到EXEC.COM。當被允許繼續(xù)時,能使EXEC.COM處理412轉(zhuǎn)移到網(wǎng)絡連接模塊416。網(wǎng)絡連接模塊340通過檢索存儲在連接數(shù)據(jù)文件440和該連接模塊的命令線中的數(shù)據(jù)而啟動,由此與應用程序服務器通信,而此應用程序服務器與剩余的驅(qū)動程序和終端的硬件層對話。具體地,網(wǎng)絡連接模塊同鍵盤驅(qū)動器422、鼠標驅(qū)動器424、視頻輸入/輸出系統(tǒng)428、以及該終端操作系統(tǒng)的文件和存儲器服務部分426通信。此外,網(wǎng)絡連接模塊還連接一個硬件串行接口442以及在某些實施例中還連接一個硬件網(wǎng)絡接口444。在一個示范性實施例中,網(wǎng)絡驅(qū)動器444執(zhí)行于RAM116之外,也可以執(zhí)行于快速存儲器112之外。串行接口442可以是普通的RS232接口,但也可以是其他方式的串行連接,例如通用串行總線或USB。
接著參照圖6,可以更好地理解在終端12的設(shè)置模塊期間表示在圖5中GUI引擎420的操作。GUI引擎只在設(shè)置模式期間操作,并在配置操作期間提供基本圖形用戶接口。
如結(jié)合以上圖5所指出的那樣,圖6的操作在終端引導期間當要求設(shè)置序列時開始。設(shè)置序列可以根據(jù)鍵擊或任何其他普通并合適的方式來調(diào)用。該設(shè)置序列由依次從設(shè)置數(shù)據(jù)文件418提取信息的調(diào)用設(shè)置代碼502開始。設(shè)置數(shù)據(jù)文件418識別在終端配置中可得到的選擇。設(shè)置代碼502同一RAM結(jié)構(gòu)504雙向通信,并還使現(xiàn)存的連接信息從連接數(shù)據(jù)文件440寫入該RAM結(jié)構(gòu)504。GUI引擎420還同該RAM結(jié)構(gòu)雙向通信,以便建立并顯示按以下描述的區(qū)域,組和選擇的安排的目前信息。此外,一硬件接口506當通過鼠標260和鍵盤250響應從用戶接收的信息時提供視頻信息到視頻控制器430。
該設(shè)置代碼允許用戶通過用于終端的操作特性的配置菜單,例如顯示在該終端上的語言,網(wǎng)絡連接方法等進行循環(huán)。圖7A為說明按該終端配置模式使用的設(shè)置屏蔽格式。在一優(yōu)選實施例中,用圖形顯示這個屏幕。當用戶通過該配置屏幕進行循環(huán)時,配置數(shù)據(jù)可以由該用戶通過使用鍵盤和鼠標有選擇性地進行修改。修改的數(shù)據(jù)在寫入到連接數(shù)據(jù)文件436之前保持在RAM結(jié)構(gòu)504中。然而,在目前優(yōu)選的實施例中,有些數(shù)據(jù)可以動態(tài)地進行修改,而其他數(shù)據(jù)不加以修改直到完成設(shè)置序列。在完成該設(shè)置序列時,包括寫入任何剩余配置數(shù)據(jù)到該連接數(shù)據(jù)文件436,設(shè)置序列退出并返回到EXEC.COM325,以便啟動圖5中所示的網(wǎng)絡連接模塊340。
繼續(xù)參照圖7A,顯示數(shù)據(jù)的整個窗口在此稱為區(qū)域600。在該區(qū)域600中是一個或多個組610,每組610包括一個或多個選擇。這樣在圖7A例子中,“通信”組包括選擇串行端口,TCP/IP,SPX和IPX,每個具有指示該選擇已被選擇或選中的相關(guān)的一個區(qū)域630。
接著參照圖7B1-7B3,表示了同配置軟件相關(guān)的數(shù)據(jù)結(jié)構(gòu)。具體地,在AREA_LIST 700中具有區(qū)域指針表。如由SETUUP處理定義的那樣,由該區(qū)域表指明的結(jié)構(gòu)包括邊界、容量、標題以及附加到所有區(qū)域的組。如前面所指出的,每個區(qū)域在屏幕上呈現(xiàn)為一個窗口。此外,目前顯示的所有區(qū)域被列在DISP_AREA_LIST 702中。在一示范性實施例中,所列第一區(qū)域被顯示作為底區(qū)域,而所列最后區(qū)域是頂區(qū)域。在該示范性實施例中,允許窗口重疊,雖然重疊并不在所有實施例中都是要求的。
在704是用于GROUP_LIST的數(shù)據(jù)結(jié)構(gòu),該GROUP_LIST將由在AREA_LIST 700中尋找的所有區(qū)域中的SETUP定義的組列表。如前所指出的,每個區(qū)域一般包括一個或多個組。也還可以提供用于STRING_LIST的選擇數(shù)據(jù)結(jié)構(gòu)706,而FILE_LIST708被用作在各區(qū)域,組和選擇中許多場合使用的位映象的目錄圖象。
在710能夠看到AREA_LIST 700的結(jié)構(gòu),它包括用于區(qū)域ID的塊712,指向下一區(qū)域的指針714,指向前一區(qū)域的指針716,以及結(jié)構(gòu)指針718。與每個區(qū)域ID712相關(guān)的結(jié)構(gòu)指針718指向包括和ABS_X表項720和ABS_Y表項722在一起的區(qū)域ID712的區(qū)域結(jié)構(gòu)715,以便給出與顯示器左上角相關(guān)的區(qū)域位置(在一示范性實施例中)。區(qū)域結(jié)構(gòu)714還包括一起指定區(qū)域大小的ROWS表項724和COLUMNS表項726。FLAGS表項728指定一邊界是否圍繞該區(qū)域擴展。TITLE_POSITION表項730和TITLE_RAR表項732指定在具體區(qū)域的標題條形中的標題正文和它的位置,而MAX_STR_LEN表項734指定可以用作標題的最大字符量。
此外,區(qū)域結(jié)構(gòu)714還包括一個表項736用于包括在具體區(qū)域中的組數(shù)。AREA_MPTR表項738指定在該區(qū)域中的鼠標指針過熱點(hotspot),而表項DEF_BUTTON740指定該區(qū)域中哪一個按鈕將缺省。當“回車”鍵壓下時,該缺省按鈕將被啟動,CAN_BUTTON表項指定清除按鈕,當“esc”鍵壓下時,該清除按鈕將被啟動。最后,一指針列表在744A-744N中指定,用于每組的一個與此區(qū)域相關(guān)。每組指針744指向在下面將討論的關(guān)聯(lián)的組結(jié)構(gòu)塊746。一熱鍵列表也被確定來用于該區(qū)域。
在748表示的DISP_AREA_LIST結(jié)構(gòu)基本上與ARE_LIST700的結(jié)構(gòu)相同,并包括用于區(qū)域ID的塊、下一區(qū)域、前一區(qū)域、以及結(jié)構(gòu)指針。如在對于AREA_LIST 700那樣,DISP_AREA_LIST 748還指向區(qū)域結(jié)構(gòu)714。GROUP_LIST 704的類似結(jié)構(gòu)表示在750,并包括組ID752、下一組指針754、前一組針針756以及組結(jié)構(gòu)指針758。也可對可選擇的STRING_LIST706提供類似結(jié)構(gòu),并也包括信息串ID760、下一信息串指針762、前一信息串指針764、以及信息串結(jié)構(gòu)指針766。
再參照組結(jié)構(gòu)指針758,它指向組結(jié)構(gòu)塊746,該組結(jié)構(gòu)塊包括組ID752;PARENT_SELECT_ID表項780,用于識別選擇,該選擇在啟動時將自動彈出這個組;HOTSPOT_COUNT表項782,用于識別在該組中的鼠標過熱點的數(shù)量;以及GSTART_X和GSTART_Y表項784和784,分別用于指定在該區(qū)域中的該組的相對位置。在一示范性實施例中,該組和選擇位置相對于包括它們的區(qū)域的頂左角而指定;但是可確定的其他相互關(guān)系也是可接受的,例如指定相對于其組的位置的選擇的位置。最重要的要素是保證一個區(qū)域的所有特征保持在該區(qū)域中它們的位置,如果該區(qū)域被移動的話。
組結(jié)構(gòu)塊746還分別包括ROWS和COLUMNS表項788和790,用于指定該組的大小,還包括GFLAGS表項792,用于指定組的邊界。此外,QUICK_KEY_POSITION表項794和QUICK_KEY_STROKES表項796也可被指定用于同該組相關(guān)的“熱”鍵擊結(jié)合。
而且,類似于該區(qū)域結(jié)構(gòu)可提供用于標題位置798,組標記800和MAX_LEN 802的表項。此外,NUM_OF_SELCTS表項804被提供來識別包括在一個組中的選擇的數(shù)量。接著,用AID_ATTACH的表項806被用作備用參考(對于區(qū)域ID712),該具體組同該區(qū)域ID712相關(guān)聯(lián)。在所有情況中并不要求AID_ATTACH表項806,但至少在某些例中幫助改善性能。最后,指針表項列表808A-808N中的每個指向同該具體組相關(guān)的一個選擇結(jié)構(gòu)。如以后將討論的那樣,各種選擇結(jié)構(gòu)可以同每個組相關(guān),但在各種類型中某些要素是共同的。這樣,第一指針808A指向SELECT_COMMON結(jié)構(gòu)塊810。再參照該區(qū)域結(jié)構(gòu)塊714,缺省按鈕表項740和清除按鈕表項742也指向選擇公共結(jié)構(gòu)塊810。
SELECT_COMMON結(jié)構(gòu)塊810包括選擇ID表項812、對組ID給出備用參考的表項814、同ROWS和COLS表項820和822在一起的REL_X和REL_Y表項816和818,用于指定該選擇的位置和大小,QUICK_KEY_POS和QUICK_KEY_CHR表項824和826用于指定同該選擇有關(guān)的熱鍵擊組合,MAX_STR_LEN828和選擇信息串830用于指定用于該選擇的最大尺寸和標題,以及SFLAGS表項832用于指定該選擇的特性。
此外,還提供一個SELECT_TYPE表項834。如前所指出,可利用不同類型的選擇并可再參見圖7。根據(jù)在那個步驟所要求的數(shù)據(jù)的類型,不同類型的選擇可以提供在一個組中,以便配置該終端。在某些例子中,挑選只包括壓下一個按鈕(見按鈕640);另外,若干挑選之一必須進行選擇,如在圖7的“通信”和“串行端口”組660和670那樣。再者,當必須選擇指定的正文時可以選擇圖象。在某些時候,當許多字段之一必須填入時,要求填入表項(圖7A680)。雖然這些都是已經(jīng)在一個示范性實施例中實施的選擇的類型,但是列表不是完全的,并且能容易實施其他的在此給出教導的選擇。
對于“填入”選擇,同“第一顯示”表項840一起提供光標啟動和光標終止表項836和838,以便進行識別并根據(jù)識別應顯示信息串上的字符。此外,提供了LABEL_REL_X表項842以及LABEL_REL_Y表項844和LABEL_STR表項846。
對于“許多之一”選擇類型,分別提供用于NUM_OF_SEL_ROWS和NUM_OF_SEL_COLS 848和850。這些表項還為選項數(shù)目852和缺省選項854以及快鍵指856和標記指針858而設(shè)置,以便識別啟動選項的數(shù)目。最后還提供了選擇大小860。
對于選擇“圖象”類型,僅僅一個用于文件ID708的表項以及圖象指針862必須指定。
對于“字段”類型選擇,同一個子組指針一起提供“子組”ID表項864,該子組指針指向表示在組結(jié)構(gòu)塊746中的類型的組結(jié)構(gòu),當啟動父選擇時,該子組將自動彈出,并選擇字段的一個組。
對于“信息串列表”選擇,這些表項同X標號位置878和Y標號位置880一起為選項數(shù)目868,該選項標題(或MAX_OP_LEN)的最大長度870,水平顯示偏移表項872以及垂直顯示偏移表項874而設(shè)置。最后提供標號信息串882和選擇信息串長度表項884。
再參照AREA_MPTR表項738,鼠標指針過熱點由一種結(jié)構(gòu)指定,該結(jié)構(gòu)包括一個區(qū)域ID表項900,一個組ID表項902,以及一個選擇ID904。此外,任選項選擇類型906被提供來指定選擇的類型,一個具體的過熱點同該選擇相關(guān),備用參考表項908和910為在區(qū)域中的組ID以及該組中的選擇ID提供。此外,四個表項912A47-D同用于鼠標標記的一個表項914一起指定用于鼠標過熱點的左上X和Y位置以及右下X和Y位置,該鼠標標記當顯示適當菜單時使該鼠標過熱點啟動。除了以上所述的過熱點外,附加過熱點提供在列表顯示的頂和底部,從而使得能夠卷動,而在一個區(qū)域的標題條部分允許區(qū)域窗口移動。
除了以上結(jié)構(gòu)外,還提供了用于保持來自各種選擇中的當前選擇表項的數(shù)據(jù)結(jié)構(gòu),當前數(shù)據(jù)結(jié)構(gòu)塊表示在950處,包括一個表項952,用于選擇目前由SETUP確定的地區(qū)數(shù)目;一個表項954用于確定多少圖象文件;表項956和958分別用于已確定多少和選擇,一表項960用于確定一個預定的最大選擇數(shù)目。在一示范性實施例中,最大選擇數(shù)目被配置在十個塊中。
附加表項962和964分別用于列和行的象素,還有一字型表項966,一區(qū)域聚焦表項968,一組聚焦表項970,以及一信息串聚焦表項972。同樣,一個鼠標聚焦表項974用于指定過熱點。此外,可以設(shè)置OFOCUS和TFOCUS表項976和978以便用鍵盤聚焦指定選擇選項和選擇型。再者根據(jù)上述鼠標結(jié)構(gòu)塊,提供IFOCUS和JFOCUS表項980和982用于熱點表項908和910。最后,指定菜單表項986用于識別目前菜單聚焦,同表項988和990一起用于確定區(qū)域邊界和組邊界,同OFLAGS表項一起用于指定鼠標模式。
指定該選擇的目前狀態(tài)的信息被確定在ACTIVE SELECT結(jié)構(gòu)1000中。每個結(jié)構(gòu)包括按鈕表項1002,一個STFLAGS,或選擇公共標記,表項1004,存儲該所有選擇的當前狀態(tài)的一個ACTIVE表項,從前述的當前狀態(tài)中產(chǎn)生的數(shù)據(jù)可用于SETUP代碼。
在一示范性實施例中,還可以提供一個事件隊列結(jié)構(gòu)1010,用于記錄在一個事件隊列中的鍵盤擊打和鼠標移動。
如上所指出,本發(fā)明的關(guān)鍵特性在于本發(fā)明的終端操作系統(tǒng)不與標準PC/AT BIOS或DOS相兼容。然而,例如可通過對Citrix客戶或其他被支持的仿真要求該操作系統(tǒng)支持保持在多用戶環(huán)境中顯示應用數(shù)據(jù)能力的某些功能。如附加的表3A-3C是由本發(fā)明支持的標準IO.SYS和BIOS.SYS功能的清單;本專業(yè)技術(shù)人員明白本清單不包括大批的標準BIOS和DOS功能,也不支持其他的功能。此外,被列表的某些特性在目前優(yōu)選的實施例中僅部分地予以支持。這樣,僅部分地支持功能36h[得到磁盤空閑空間],這是由于使用快速存儲器而不是硬磁盤的原因。同樣按照功能和標記支持功能33h(得到/設(shè)置系統(tǒng)值),但并不支持“控制-中斷”功能。類似地,僅部分地支持功能2Ah-2Dh[得到/設(shè)置日期/時間功能],這是由于在本發(fā)明的終端中,不提供實時硬件的原因。支持“得到時間”功能,由此它可以用來測量事件的時間間隔,但不反映絕對時間。
此外,在目前優(yōu)選設(shè)備中,本發(fā)明的快速文件系統(tǒng)被劃分成多個單目錄驅(qū)動。然而,和普通磁盤文件不同,該快速文件系統(tǒng)不包括簇或扇區(qū)。在每個驅(qū)動或分區(qū)中的文件從該分區(qū)底向上增長,而目錄條目從頂部向下增長。存儲的文件是連續(xù)的,不分段。在一優(yōu)選實施例中,十六字節(jié)長的目錄條目通常類似于DOS目錄條目;然而將確定正常情況下保存的元素以便允許該文件執(zhí)行于快速存儲器之外而不是DRAM之外。所有這些包括在該快速存儲器中的文件的起始地址,以及在該DOS地址空間中的文件的重映象段。
文件刪除,類似于普通DOS文件的刪除,但在某重要的細節(jié)上有差異。當在本發(fā)明中刪除一個文件時,該目錄條目的第一字節(jié)改變到0,與將其設(shè)置到E5h相反。執(zhí)行該步驟不擦除快速塊。之后接著的文件將寫入下一個可使用的空間。然而,如果不存在有足夠的可利用的空間用于該緊接著的文件,用于欲被刪除的文件的快速塊將被擦除,而未刪除的文件重寫入到被刪除的文件已被保持的快速塊。如前所指出,至少在某些實施例中允許文件分段儲存。
快速文件系統(tǒng)支持普通DIR,TYPE和DEL命令,支持一個新的“DEBUGMSG”命令用于產(chǎn)生DEBUG消息,并還通過批文件支持程序執(zhí)行。該文件系統(tǒng)還支持AUTOEXEC.BAT文件以及裝入和執(zhí)行.EXE和.COM文件,以及Int 21h和Int 27h。然而該文件系統(tǒng)至少在某些實施例中不支持CONFIG.SYS文件或.SYS設(shè)備驅(qū)動程序。同樣,該文件系統(tǒng)不支持批文件命令(除程序執(zhí)行外),I/O重定向,管道,或中斷20h[程序終止],22h[終止地址],23h[ctr1-中斷出口地址],24h[臨界錯誤處理程序向量],25h[絕對磁盤讀出],26h[絕對磁盤寫入],以及2Fh[多路復用中斷]。
根據(jù)前面所述將明白,由本發(fā)明的終端操作系統(tǒng)仿真或支持標準BIOS和DOS功能的一個選擇組時,將不支持大量的標準BIOS和DOS功能。此外,甚至被支持的那些BIOS和DOS功能并不由標準AT-兼容硬件執(zhí)行。代替的是,圖4中稱為“引導塊”300和“內(nèi)核”305的終端操作系統(tǒng)的部分建立起仿真這些功能的能力。
由該引導塊305支持的服務功能包括GET FLASH DRIVE SIZE,它詢問快速存儲器438用于驅(qū)動的大小;READFLASH DRIVE,用于從該快速存儲器438讀出數(shù)據(jù);WRITE FLASH DRIVE;GET FLASH DRIVEBLOCK SIZE,用于詢問存儲器438的塊容量;ERASEFLASH DRIVE BLOCK,用于擦除來自該存儲器438的數(shù)據(jù);WARM REBOOT,通過重復加電診斷由生產(chǎn)試驗使用,而在正常操作時不使用;GET BOOT BLOCK DATE;CLEAR KEYBOARD CONTROLLER I/O BIT,用于控制連接到鍵盤控制器的元件;以及SET KEYBOARD CONTROLLER I/O BIT。
下面詳細地表示了內(nèi)核305的操作。具體地,該內(nèi)核包括三個服務功能。第一個是“ACTIVATE VIDEO INT 10h”功能,它使正常int 10h功能用于視頻服務。中斷int 10h一開始由該內(nèi)核305截獲,以便刪掉來自各種被裝入的設(shè)備驅(qū)動程序的文本模式消息的顯示。在裝入驅(qū)動程序并且終端進入圖示模式之后,調(diào)用ACTIVATE VIDEO INT 10h功能,以便恢復正常的int 10h操作。此外,內(nèi)核305包括第二個功能,“SET POWER DOWN TIME”,它能設(shè)置各種節(jié)省功能(例如Energy Star順從性)和用于啟動這些功能的延遲時間。最后,該內(nèi)核305包括一種“PROCESS DOSINTERRUPTS”功能,它能根據(jù)引導塊或該內(nèi)核305的另外部分而在任何必要時被調(diào)用,以便處理在DOS環(huán)境中要求實時處理的未決DOS中斷。由該功能最經(jīng)常處理的中斷是鼠標和鍵盤中斷,雖然它們可以包括定時,串行,并行和網(wǎng)絡中斷。利用這個功能的截獲將防止例如鼠標和鍵盤中斷過長時期串失去作用,即,該過長的時期足以使用戶感到煩惱,例如在鼠標移動和光標起響應的移動之間一秒鐘的延遲,當有必要送一個命令到該鍵盤控制器時防止使鍵盤控制器的輸出溢出。
由于本發(fā)明的硬件不按照PC/AT標準,所以所述固件不按照普通PC/AT BIOS,也不按照DOS,但是整個系統(tǒng)試圖允許用戶觀察并與普通窗口顯示互相配合,某些普通硬件中斷和相關(guān)調(diào)用必須由本發(fā)明進行管理。在一優(yōu)選實施例中,這樣的中斷和調(diào)用通過仿真或通過修改對輸入信號的適當?shù)捻憫诮K端固件中處理。這樣的響應將結(jié)合下面描述的軟件內(nèi)核更詳細地進行處理。
所述內(nèi)核使處理器處于虛擬8086模式,并且設(shè)置各種表格以便當需要時對各端口的I/O進行截獲。在對一選擇的端口進行存取之后產(chǎn)生一個異常,由于產(chǎn)生該異常的指令不是匯編語言,使該內(nèi)核能處理它以便正確地仿真PC兼容性,由此簡化于各種個體的端口輸入輸出。由于整個子程序是對每個截獲的I/O指定執(zhí)行的,所以該I/O指令并不盡可能快地執(zhí)行,因此截獲的I/O指令盡可能少地限制到幾個端口。在某些例子中,當有必要提供AT兼容性時,截獲全部I/O端口或僅其一部分,將被理解的是,當在此描述的第一實施例試圖提供Citrix Winframe個體時,用本發(fā)明的終端也可實施另外的個體。在某些例子中,本發(fā)明終端可以包括多個體于存儲器之中,包括連接到運行預料到這些不同個體的不同操作系統(tǒng)的多個主機的終端在內(nèi)。這樣,利用本發(fā)明的內(nèi)核,該用戶或另外的用戶可以通過熱鍵或其他序列從這些個體中進行選擇,然后在存貯器外執(zhí)行適當?shù)膫€體,并允許同合適的主機通信。
由內(nèi)核截獲提供AT兼容性的I/O端口是20h[一個AT-可兼容中斷控制器的命令端口]只有“終止中斷”命令被仿真,它在每個中斷處理程序終結(jié)時發(fā)出,以便容許同級的或較低級優(yōu)選權(quán)的更多中斷發(fā)生。該內(nèi)核還仿真相等級或較低級優(yōu)先極的塊中斷的PC可兼容中斷控制器的正常操作,直到接收“終止中斷”命令為止。
21h[AT-可兼容的中斷控制器的屏蔽寄存器]-被仿真。
40h-43h[對AT可兼容8254系統(tǒng)定時器存取]-這些端口未被仿真,但是,由于某些基于AT的驅(qū)動程序?qū)懭氲竭@些端口而被截獲。由于本發(fā)明的一個示范性實施例的中斷屏蔽寄存器被設(shè)置在端口40h,未被截獲的寫入可能與本發(fā)明的中斷屏蔽寄存器相沖突。
61h[按AT結(jié)構(gòu)的雜項控制端口]-仿真揚聲器的控制位,允許該揚聲器接通和斷開。
A0h[AT-可兼容的計算機的第二中斷控制器的命令端口]-如端口20h那樣,仿真“終止中斷”命令。
A1h[用于第二中斷控制的屏蔽寄存器(類似于端21h)]-被仿真。
2F8h-2FFh[用于AT第二串行端的標準地址]-端口被重映射到本發(fā)明一示范性實施例的第二串行端的端口地址5F0h-5FEh。該新的端口范圍[5F0-5FE]僅包括偶地址。在一示范性實施例中未實施字節(jié)交換,而這樣甚至只有8位SIO設(shè)備的偶字節(jié)能進行存取。然而如果需要,則可以實施字節(jié)交換。
378h-37Fh[用于AT并行端口的標準地址]-重映射到6F0h-6FEh,這是本發(fā)明的一示范性實施例的并行端口的端口地址。
3F8h-3FEh[用于AT第一串行端口的標準地址]-重映射到7F0h-7FEh,這是用于一示范性實施例第一串行端口的端口地址。
在描述了本發(fā)明的優(yōu)選實施例以及各種改型之后,本專業(yè)技術(shù)人員將理解在此給出的教導在于存在著各種改型或等效,然而它們并不脫離本發(fā)明的精神,因此意味著本發(fā)明并非局限于以上的說明,而僅僅由附加的權(quán)利要求所限制。
權(quán)利要求
1.一種用于在窗口環(huán)境中顯示應用程序信息的終端,包括處理裝置,不完全與個人計算機BIOS或磁盤操作系統(tǒng)相兼容,適合于接收由在一個遠程應用服務器上執(zhí)行的程序所提供的窗口信息,以及顯示裝置,用于顯示該窗口信息。
2.一種適合于同多個主機系統(tǒng)中選擇的一個相通信的終端,每個所述主機系統(tǒng)使用不同的通信協(xié)議,包括第一個體,用于響應根據(jù)同第一主機系統(tǒng)相關(guān)的通信協(xié)議而由第一主機系統(tǒng)提供的第一組和第二組指令,至少一個第二個體,用于響應根據(jù)同第二主機系統(tǒng)相關(guān)的通信協(xié)議而由第二主機系統(tǒng)提供的第三組和第四組指令,至少一個所述主機系統(tǒng)提供窗口信息,處理器裝置,響應所述第一和至少一個第二個體,以便處理第一和第三組指令之一以及仿真第二和第四組指令之一,以便提供相關(guān)的主機系統(tǒng)響應,該響應與該主機系統(tǒng)相關(guān)的通信協(xié)議相兼容,以及轉(zhuǎn)換裝置,用于識別同該終端目前連接的主機系統(tǒng),并選擇該第一個體以及至少一個第二個體之中的一個合適者,以便與該被識別的主機系統(tǒng)通信。
3.一種用于修改一個終端的操作特性的方法,包括提供一個快速存儲器用于存儲操作特性,提供到一個主機的通信鏈路,用于接收修改的操作特性,建立一第一操作條件,在此條件期間,在保持同該主機連接的同時,至少該快速存儲器的一個預定部分是有寫入能力的。當終端是處在該第一操作條件下的時候,從主機到終端下裝修改的操作特性,當終端是處在該第一操作條件下的時候,寫入修改的操作特性到快速存儲器,以及建立一第二操作條件,在此條件期間,數(shù)據(jù)不寫入到該快速存儲器的該預定的部分。
4.一個用于在Microsoft Windows操作環(huán)境中顯示由一主機系統(tǒng)提供的應用程序信息的終端,該主機系統(tǒng)運行Microsoft Windows操操作系統(tǒng),包括接口裝置,用于從應用服務器接收在該應用服務器上操作的應用程序的顯示信息,處理裝置,不完全與個人計算機BIOS或磁盤操作系統(tǒng)兼容并且不能在本機執(zhí)行應用程序,響應所述接口裝置,以便仿真或處理由在遠程配置的應用服務器上執(zhí)行的程序提供的指令,從而向主機系統(tǒng)提供同該主機系統(tǒng)期待的相兼容的響應,顯示裝置,響應該處理裝置,以便顯示窗口信息。
5.一種方法,用于配置具有顯示器的終端,以便同一主機系統(tǒng)通信,包括在部分顯示器中建立至少一個位映射區(qū)域,在該區(qū)域中建立至少一個位映射組,以及在該組中建立至少一個位映射選擇,每個選擇具有一個或多個相關(guān)的選項。
全文摘要
一種能用例如窗口這樣的圖象用戶接口的視頻顯示終端提供開窗功能,以便允許使用駐留在一個服務器上的通用應用程序,不要求更多的應用數(shù)據(jù)從該服務器傳輸,以及鍵盤和鼠標信息,從該終端傳輸?shù)皆摲掌?。此?公開了一種方法,用于修改在一個來自主機的通信鏈上的終端操作特性。最后,公開的方法和設(shè)置,用于在一終端中實施多個個體并在這樣的個體之中進行轉(zhuǎn)換。
文檔編號G06F9/46GK1177135SQ9612381
公開日1998年3月25日 申請日期1996年12月27日 優(yōu)先權(quán)日1995年12月29日
發(fā)明者瑞迪·布斯威爾, 卡洛爾·A·??怂? 比爾·蓋, 蘇·M·拉姆, 庫迪斯·斯奇維伯克, 伊哈-莎亞·韋伊 申請人:韋斯技術(shù)公司