自考《網(wǎng)絡(luò)操作系統(tǒng)》課后答案(9)

  • 發(fā)布時(shí)間:2024-09-15 16:21:23
  • 來源:本站整理
  • 閱讀:
導(dǎo)讀:
  第八章 Windows NT
  1. Windows NT 的設(shè)計(jì)目標(biāo):①可擴(kuò)充性②可移植性③可靠性④兼容性⑤性能
  2. Windows NT的結(jié)構(gòu):①系統(tǒng)用戶態(tài)部分(Windows NT保護(hù)子系統(tǒng))②系統(tǒng)核心態(tài)部分(NT執(zhí)行體)
  3. 對(duì)象:對(duì)象是個(gè)抽象數(shù)據(jù)結(jié)構(gòu),在Windows NT中用以表示所有資源。對(duì)象用來表示資源。對(duì)象類:具有相同特性的對(duì)象

第八章 Windows NT

1. Windows NT 的設(shè)計(jì)目標(biāo):①可擴(kuò)充性②可移植性③可靠性④兼容性⑤性能

2. Windows NT的結(jié)構(gòu):①系統(tǒng)用戶態(tài)部分(Windows NT保護(hù)子系統(tǒng))②系統(tǒng)核心態(tài)部分(NT執(zhí)行體)

3. 對(duì)象:對(duì)象是個(gè)抽象數(shù)據(jù)結(jié)構(gòu),在Windows NT中用以表示所有資源。對(duì)象用來表示資源。對(duì)象類:具有相同特性的對(duì)象可歸為一個(gè)對(duì)象類,對(duì)象是對(duì)象類中的一個(gè)實(shí)例。對(duì)象類是描述資源類型的。對(duì)象的組成結(jié)構(gòu):對(duì)象頭和對(duì)象體。對(duì)象管理程序控制對(duì)象頭,其他執(zhí)行體部件控制它們自己創(chuàng)建的對(duì)象體。

4. Windows NT進(jìn)程的定義:一個(gè)程序的動(dòng)態(tài)調(diào)用。Windows NT進(jìn)程的組成:①一個(gè)可執(zhí)行的程序②一個(gè)私用的地址空間③系統(tǒng)資源④至少有一個(gè)執(zhí)行線程。Windows NT進(jìn)程的特點(diǎn):④ 進(jìn)程是作為對(duì)象來實(shí)現(xiàn)的。⑤ 進(jìn)程要求至少有一個(gè)執(zhí)行線程。⑥ 進(jìn)程沒設(shè)進(jìn)程控制塊PCB,進(jìn)程的控制和管理信息被放在進(jìn)程對(duì)象的對(duì)象體中以及局限于進(jìn)程的對(duì)象表中。⑦ Windows NT中的進(jìn)程,不是處理機(jī)調(diào)度的基本單位,所以沒有必要區(qū)分進(jìn)程的狀態(tài)。⑧當(dāng)系統(tǒng)啟動(dòng)時(shí),系統(tǒng)為每一環(huán)境子系統(tǒng)建立一個(gè)服務(wù)器進(jìn)程。每當(dāng)用戶的應(yīng)用程序啟動(dòng)時(shí),相應(yīng)的環(huán)境子系統(tǒng)進(jìn)程調(diào)用執(zhí)行體的進(jìn)程管理程序?yàn)橹⒁粋€(gè)進(jìn)程,然后進(jìn)程管理程序又調(diào)用對(duì)象管理程序?yàn)橹⒁粋€(gè)進(jìn)程對(duì)象。⑨ 進(jìn)程管理程序不維護(hù)進(jìn)程的父子或其他關(guān)系。⑩ 進(jìn)程有內(nèi)含的同步機(jī)制。

5. Windows NT線程的定義:進(jìn)程內(nèi)的一個(gè)可調(diào)度實(shí)體。線程的組成:①一個(gè)唯一的標(biāo)識(shí)符,即客戶ID.②描述處理機(jī)狀態(tài)的一組寄存器內(nèi)容。③兩個(gè)棧:用戶棧和核心棧。④一個(gè)私用存儲(chǔ)區(qū)。引進(jìn)線程目的:主要目的是要有效地實(shí)現(xiàn)并行性。多進(jìn)程的方式雖然也可以實(shí)現(xiàn)并行性,但采用線程比采用進(jìn)程實(shí)現(xiàn)并行性更方便、更有效。以UNIX為例,當(dāng)一個(gè)進(jìn)程創(chuàng)建一個(gè)子進(jìn)程時(shí),系統(tǒng)必須把父進(jìn)程地址空間的所有內(nèi)容拷貝到子進(jìn)程的地址空間中去。對(duì)大地址空間來說,這樣的操作是很費(fèi)時(shí)的,更何況兩進(jìn)程還要建立共享數(shù)據(jù)。如果采用多線程要好得多,因?yàn)檫@些線程共享進(jìn)程的同一地址空間、對(duì)象句柄及其他資源。

6. 進(jìn)程和線程之間的區(qū)別和聯(lián)系:

①線程是進(jìn)程的一個(gè)組成部分。每個(gè)NT進(jìn)程在創(chuàng)建時(shí)只有一個(gè)線程,需要時(shí)這個(gè)線程可以再創(chuàng)建其他線程。

②一個(gè)進(jìn)程的多個(gè)線程都在這個(gè)進(jìn)程的地址空間內(nèi)活動(dòng)。

③進(jìn)程是資源的基本分配單位。這就是資源是分配給進(jìn)程的,而不是分配給線程的,并且系統(tǒng)還為分配給進(jìn)程的資源規(guī)定了配額。

④處理機(jī)調(diào)度的基本單位是線程,在線程之間競(jìng)爭(zhēng)處理機(jī)。真正在處理機(jī)上執(zhí)行的是線程,線程在執(zhí)行中需要資源時(shí),系統(tǒng)從進(jìn)程的配額中扣除并分配給它。

⑤線程在執(zhí)行過程中,需要同步,在不同的進(jìn)程的線程之間的同步要用消息傳遞機(jī)制。消息傳遞要用到進(jìn)程的資源——端口(端口也是對(duì)象,端口上有消息隊(duì)列)。因此,可以這們說,通信的是線程,使用的資源卻是進(jìn)程的(服務(wù)器進(jìn)程可以創(chuàng)建多端口,以利于多線程通信。)

7. Windows NT內(nèi)核的特點(diǎn):Windows NT內(nèi)核的特點(diǎn)是采用微內(nèi)核技術(shù)。它提供了一組精心設(shè)計(jì)的操作系統(tǒng)原語和機(jī)制,通過使用這些原語和機(jī)制,執(zhí)行體可以構(gòu)造更多高級(jí)的操作系統(tǒng)功能。內(nèi)核與其它執(zhí)行體不同的是,內(nèi)核永久駐留內(nèi)存,內(nèi)核的執(zhí)行是不可搶占的,并總運(yùn)行在核心態(tài)。內(nèi)核的基本(主要)功能:①調(diào)度線程的執(zhí)行②中斷和異常的處理③完成低級(jí)的多處理機(jī)間的同步④電源故障的排除(實(shí)現(xiàn)系統(tǒng)的恢復(fù)過程)。

8. 畫圖說明線程的調(diào)度狀態(tài)及其轉(zhuǎn)換條件。(P191)

9. 線程調(diào)度采用的調(diào)度算法是什么?線程調(diào)度采用的調(diào)度算法是可搶占的動(dòng)態(tài)優(yōu)先級(jí)調(diào)度算法。線程調(diào)度程序按線程的優(yōu)先級(jí)進(jìn)行調(diào)度,高優(yōu)先級(jí)的線程先被調(diào)度。線程在執(zhí)行過程中優(yōu)先級(jí)可以變化,調(diào)度程序調(diào)度時(shí)所依據(jù)的要主數(shù)據(jù)結(jié)構(gòu)是多優(yōu)先級(jí)就緒隊(duì)列。

10. 中斷:Windows NT中,中斷是異步事件,主要由硬件如I/O設(shè)備、處理機(jī)、時(shí)鐘或定時(shí)器引起的,是隨機(jī)發(fā)生的中斷處理機(jī)的事件。異常:異常是同步事件,是某些特定指令執(zhí)行的結(jié)果,如主存存取錯(cuò)、浮點(diǎn)數(shù)被零除等,Windows NT還把系統(tǒng)服務(wù)調(diào)用看作是異常。Windows NT如何處理中斷與異常:當(dāng)中斷或異常發(fā)生被系統(tǒng)捕捉后,系統(tǒng)將執(zhí)行的線程從用戶態(tài)轉(zhuǎn)換到核心態(tài),將處理機(jī)的控制權(quán)轉(zhuǎn)交給其首地址存放在主存固定單元的陷阱處理程序。陷阱處理程序被調(diào)用后,它首先保護(hù)執(zhí)行線程被中斷的斷點(diǎn)現(xiàn)場(chǎng),在此期間屏蔽中斷,其次根據(jù)中斷/異常的原因決定將控制權(quán)交給相應(yīng)的處理程序:①如果是中斷,根據(jù)中斷源將控制權(quán)轉(zhuǎn)交給相應(yīng)的處理程序。②如果是異常,對(duì)于處理簡(jiǎn)單的異常由陷阱程序解決,其余由異常調(diào)度程序處理。根據(jù)異常的原因轉(zhuǎn)入異常處理程序。③如果是系統(tǒng)服務(wù),陷阱處理程序由系統(tǒng)服務(wù)調(diào)度程序去查找系統(tǒng)服務(wù)調(diào)度表,轉(zhuǎn)入相應(yīng)的系統(tǒng)服務(wù)程序。④如果是虛地址異常,則轉(zhuǎn)入VM管理器頁面調(diào)度程序。

11. Windows NT如何實(shí)現(xiàn)處理機(jī)之間的同步:Windows NT中對(duì)內(nèi)核全局?jǐn)?shù)據(jù)結(jié)構(gòu)的修改必須互斥地執(zhí)行。解決內(nèi)核臨界區(qū)的互斥,采用的主要方法是:①提高臨界區(qū)代碼執(zhí)行的中斷優(yōu)先級(jí)。②使用轉(zhuǎn)鎖。

12. 畫圖說明Windows NT虛擬地址空間的劃分:Windows NT為每個(gè)進(jìn)程提供了一個(gè)4GB在的虛擬地址空間。高地址的2GB保留給系統(tǒng)使用(系統(tǒng)存儲(chǔ)區(qū):①非頁交換區(qū)0.5GB;②頁交換區(qū)0.5GB;③直接映射地址1GB),低地址的2GB是用戶的存儲(chǔ)區(qū)(用戶存儲(chǔ)區(qū):頁面交換區(qū)),這個(gè)存儲(chǔ)區(qū)可被用戶態(tài)和核心態(tài)的線程訪問。P197

13. 舉例說明Windows NT虛擬地址到物理地址的變換過程:

14. Windows NT的存儲(chǔ)管理所采用的頁面淘汰算法是什么:采用先進(jìn)先出(FIFO)頁面轉(zhuǎn)換算法,即把在主存中駐留時(shí)間最長的頁面淘汰出去。

15. Windows NT的I/O系統(tǒng)組成部件:①I/O管理程序②文件系統(tǒng)③設(shè)備驅(qū)動(dòng)程序④緩沖存儲(chǔ)管理程序⑤網(wǎng)絡(luò)驅(qū)動(dòng)程序(網(wǎng)絡(luò)轉(zhuǎn)發(fā)程序和網(wǎng)絡(luò)服務(wù)程序)。Windows NT在I/O系統(tǒng)的設(shè)計(jì)方面,建立了一個(gè)統(tǒng)一、一致的高層界面——I/O設(shè)備的虛擬界面,即把所有的讀寫數(shù)據(jù)都看成是直接送往虛擬文件的字節(jié)流。P202

16. 舉例說明Windows NT中的同步I/O過程:P205 當(dāng)應(yīng)用程序調(diào)用一個(gè)I/O服務(wù),例如應(yīng)用程序WriteFile(file_handle,datd,…)調(diào)用Win32的API,Win32子系統(tǒng)調(diào)用NT的寫文件服務(wù),由用戶態(tài)進(jìn)入核心態(tài)。在核心態(tài)下,I/O管理程序檢查調(diào)用參數(shù)并建立I/O請(qǐng)求包IRP,然后調(diào)用設(shè)備驅(qū)動(dòng)程序。設(shè)備驅(qū)動(dòng)程序接收IRP,負(fù)責(zé)排隊(duì)I/O請(qǐng)求,再由設(shè)備執(zhí)行I/O數(shù)據(jù)轉(zhuǎn)換,當(dāng)I/O完成產(chǎn)生I/O中斷。由設(shè)備驅(qū)動(dòng)程序處理中斷,再交I/O管理程序完成IRP的處理并返回,由核心態(tài)回到用戶態(tài)。最后將返回的狀態(tài)傳送給應(yīng)用程序,應(yīng)用程序可以立即存取這些已轉(zhuǎn)換的數(shù)據(jù)。①按用戶要求,I/O管理程序?yàn)橹纬蒊RP,并把它傳送給設(shè)備驅(qū)動(dòng)程序,由驅(qū)動(dòng)程序完成I/O操作。②設(shè)備完成I/O操作后,發(fā)中斷請(qǐng)求,設(shè)備驅(qū)動(dòng)程序的中斷處理程序進(jìn)行相應(yīng)中斷處理。③I/O管理程序完成I/O請(qǐng)求。

17. 試說明Windows NT中異步I/O操作的特點(diǎn):異步I/O相對(duì)于同步I/O有一重要特點(diǎn):具有提高應(yīng)用程序執(zhí)行速度的潛力。當(dāng)設(shè)備在忙于讀寫的同時(shí),應(yīng)用程序可繼續(xù)其他的工作。為了使用異步I/O,應(yīng)用程序必須在其參數(shù)中指出異步I/O,在Win32中使用參數(shù)overlapped表示異步I/O.在發(fā)出異步I/O操作后,線程要小心,不要在設(shè)備驅(qū)動(dòng)程序完成數(shù)據(jù)讀寫前再去讀寫I/O操作中的數(shù)據(jù)。也就是說,線程的執(zhí)行必須通過等待一個(gè)句柄,和I/O請(qǐng)求的完成保持同步。

18. 內(nèi)裝網(wǎng)絡(luò):Windows NT網(wǎng)絡(luò)是內(nèi)裝網(wǎng)絡(luò),它把網(wǎng)絡(luò)軟件作為NT執(zhí)行體的I/O系統(tǒng)中的一個(gè)組件嵌入系統(tǒng)內(nèi)部(即網(wǎng)絡(luò)功能包含于操作系統(tǒng)中),這使得Windows NT無需安裝其他網(wǎng)絡(luò)軟件,即可為用戶提供資源共享和各種網(wǎng)絡(luò)功能。其特點(diǎn):①Windows NT的網(wǎng)絡(luò)軟件不是作為操作系統(tǒng)的一個(gè)附加層來運(yùn)行,而是作為NT執(zhí)行體的I/O系統(tǒng)中的一個(gè)組件而嵌入系統(tǒng)內(nèi)部,這使得Windows NT無需安裝其他網(wǎng)絡(luò)軟件,即可為用戶提供資源共享和各種網(wǎng)絡(luò)功能。②Windows NT中的網(wǎng)絡(luò)組件可以直接利用NT內(nèi)部的系統(tǒng)功能。

Windows NT網(wǎng)絡(luò)具有以下特點(diǎn):

①NT網(wǎng)絡(luò)是內(nèi)裝,從而Windows NT是真正的網(wǎng)絡(luò)操作系統(tǒng)。

②NT網(wǎng)絡(luò)與其它網(wǎng)絡(luò)系統(tǒng)的互操作性。

③提供方便的建立和運(yùn)行分布式應(yīng)用程序的機(jī)制。

④系統(tǒng)開放性好。

19. 畫圖說明Windows NT網(wǎng)絡(luò)的體系結(jié)構(gòu)(P207):低四層統(tǒng)稱為通信子網(wǎng),駐留在高三層的軟件稱為通信子網(wǎng)的用戶。

20. Windows NT網(wǎng)絡(luò)中作為內(nèi)裝網(wǎng)絡(luò)的兩個(gè)主要部件是:轉(zhuǎn)發(fā)程序和服務(wù)程序。轉(zhuǎn)發(fā)程序,也稱重定向程序,用于客戶方。轉(zhuǎn)發(fā)程序的主要功能是:解釋網(wǎng)絡(luò)I/O請(qǐng)求并生成對(duì)下層協(xié)議的調(diào)用,以實(shí)現(xiàn)網(wǎng)絡(luò)的I/O功能。轉(zhuǎn)發(fā)程序作為客戶方,執(zhí)行SMB(Server Message Block)協(xié)議,與服務(wù)器方的服務(wù)程序同處于會(huì)話層。轉(zhuǎn)發(fā)程序可以訪問遠(yuǎn)程節(jié)點(diǎn)上的文件,命名管道和打印機(jī),以實(shí)現(xiàn)網(wǎng)絡(luò)的資源共享。服務(wù)程序的主要功能:接收網(wǎng)絡(luò)傳輸驅(qū)動(dòng)程序來的I/O請(qǐng)求,執(zhí)行這些請(qǐng)求,然后將結(jié)果通過網(wǎng)絡(luò)送回。服務(wù)程序作為驅(qū)動(dòng)程序可以存在于NT執(zhí)行體內(nèi),并可調(diào)用高速緩沖管理程序直接優(yōu)化它所要傳送的數(shù)據(jù)。

21. 為什么說Windows NT具有開放式的結(jié)構(gòu)?

①Windows NT網(wǎng)絡(luò)是一個(gè)內(nèi)裝網(wǎng)絡(luò),而不是像其他網(wǎng)絡(luò)操作系統(tǒng)那樣,在一個(gè)多任務(wù)傳統(tǒng)的操作系統(tǒng)上附加一層網(wǎng)絡(luò)軟件。NT網(wǎng)絡(luò)操作系統(tǒng)把網(wǎng)絡(luò)功能包含在操作系統(tǒng)中,并可直接使用Windows NT內(nèi)部的系統(tǒng)功能。NT網(wǎng)絡(luò)軟件包含有將其內(nèi)部網(wǎng)絡(luò)軟件裝入和卸出的機(jī)制,同樣的機(jī)制也可將其他網(wǎng)絡(luò)軟件裝入和卸出操作系統(tǒng)。

②Windows NT考慮到應(yīng)用程序如何網(wǎng)絡(luò),Windows NT提供了多種訪問方法:Win32 I/O API、Win32 Wnet API、Windows Sockets API、NetBIOS API、RPC API、Win32命令管道與郵件槽 API

③Windows NT的供應(yīng)者接口:多供應(yīng)者路由器MPR,當(dāng)應(yīng)用程序利用Win32 Wnet瀏覽遠(yuǎn)程文件系統(tǒng)時(shí),能確定存取哪個(gè)網(wǎng)絡(luò)。多UNC供應(yīng)者M(jìn)UP,當(dāng)應(yīng)用程序利用Win32 I/O API打開遠(yuǎn)程文件時(shí),能確定存取哪個(gè)網(wǎng)絡(luò)。

④Windows NT提供了傳輸驅(qū)動(dòng)程序接口TDI,它使得轉(zhuǎn)發(fā)程序和服務(wù)程序可保持獨(dú)立于網(wǎng)絡(luò)。Windows NT網(wǎng)絡(luò)上可以使用的傳輸協(xié)議有:NetBEUI、TCP/IP、IPX/SPX、DECnet、Apple Talk、XNS.有了上述協(xié)議,Windows NT網(wǎng)絡(luò)就可以與其他廠商的網(wǎng)絡(luò)產(chǎn)呂互連。

⑤網(wǎng)絡(luò)驅(qū)動(dòng)程序的NDIS環(huán)境。使得任何協(xié)議驅(qū)動(dòng)程序可以通過調(diào)用NDIS接口將網(wǎng)絡(luò)請(qǐng)求引導(dǎo)到網(wǎng)卡。因而,用戶使用一個(gè)網(wǎng)卡或單一的網(wǎng)絡(luò)驅(qū)動(dòng)程序便可在TCP/IP網(wǎng)絡(luò)和NetBEUI上通信。

來源網(wǎng)絡(luò) 僅供參考

相關(guān)閱讀