計(jì)算機(jī)操作系統(tǒng)教程_第四版_第7章 Windows的進(jìn)程與內(nèi)存管理_第1頁(yè)
計(jì)算機(jī)操作系統(tǒng)教程_第四版_第7章 Windows的進(jìn)程與內(nèi)存管理_第2頁(yè)
計(jì)算機(jī)操作系統(tǒng)教程_第四版_第7章 Windows的進(jìn)程與內(nèi)存管理_第3頁(yè)
計(jì)算機(jī)操作系統(tǒng)教程_第四版_第7章 Windows的進(jìn)程與內(nèi)存管理_第4頁(yè)
計(jì)算機(jī)操作系統(tǒng)教程_第四版_第7章 Windows的進(jìn)程與內(nèi)存管理_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第7章Windows的進(jìn)程與內(nèi)存管理 7.1Windows NT的特點(diǎn)及相關(guān)的概念7.1.1Windows NT體系結(jié)構(gòu)的特點(diǎn)7.1.2Windows的管理機(jī)制1. 核心態(tài)(kernel mode)和用戶態(tài)(user mode)2. Windows操作系統(tǒng)的體系結(jié)構(gòu)3. 系統(tǒng)調(diào)用、中斷和陷阱陷阱是由程序造成的,并且與程序同步。如果程序一而再的被運(yùn)行,陷阱將總在指令流中相同位置的精確發(fā)生。而中斷則是由外部事件和其時(shí)鐘造成的,不具有重復(fù)性 中斷、異常、陷阱 1、三者的關(guān)系 陷阱這個(gè)說法其實(shí)不確切,應(yīng)該說是陷阱門。中斷包含中斷門和陷阱門,當(dāng)然還有其他。2、中斷和異常的區(qū)別 中斷和異常,都是程序執(zhí)行過

2、程中的強(qiáng)制性轉(zhuǎn)移。異常,是處理器執(zhí)行指令過程中監(jiān)測(cè)到錯(cuò)誤時(shí)發(fā)生;中斷,通常在程序執(zhí)行時(shí)因硬件而隨機(jī)發(fā)生(如外圍設(shè)備的請(qǐng)求),軟件通過int指令也可以產(chǎn)生中斷。3、中斷門和陷阱門的區(qū)別 他們的區(qū)別很微小,即執(zhí)行時(shí)是否影響中斷允許標(biāo)志IF。中斷門會(huì)在執(zhí)行前前將IF設(shè)為0,完事后iret指令會(huì)從堆棧上恢復(fù)IF的原值,這樣可以避免其他中斷干擾當(dāng)前中斷的處理;而陷阱門不會(huì)。因此,中斷門最適宜于處理中斷,而陷阱門適宜于處理異常。 4、中斷的分類 中斷分內(nèi)部和外部中斷兩種。 內(nèi)部中斷,即軟件調(diào)用int n產(chǎn)生。 外部中斷,由硬件產(chǎn)生,其又分不可屏蔽和可屏蔽兩種,分別有CPU的引腳NMI和INTR接收。NMI

3、中斷對(duì)應(yīng)中斷向量號(hào)2;INTR中斷可通過控制器8259A設(shè)置其運(yùn)行。此兩者的區(qū)別是,是否收到IF位的影響,顯然,NMI中斷他老人家不會(huì)理會(huì)IF位的值。4. 利用對(duì)象來共享系統(tǒng)資源5. 本地過程調(diào)用7.2Windows進(jìn)程和線程7.2.1Windows的進(jìn)程和線程的定義7.2.2進(jìn)程和線程的關(guān)聯(lián)圖7.1Windows進(jìn)程和線程的關(guān)聯(lián) 7.2.3Windows進(jìn)程的結(jié)構(gòu) Windows將表示進(jìn)程的數(shù)據(jù)結(jié)構(gòu)統(tǒng)稱為執(zhí)行進(jìn)程塊,它提供了操作系統(tǒng)管理進(jìn)程所需要的基本信息。7.2.4Windows線程的結(jié)構(gòu) 7.2.5Windows進(jìn)程和線程的創(chuàng)建1. 進(jìn)程的創(chuàng)建過程2. Windows線程的創(chuàng)建過程 (1

4、)在進(jìn)程的地址空間中為線程創(chuàng)建用戶棧,并初始化運(yùn)行上下文環(huán)境。(2)初始化線程的線程環(huán)境塊(3)創(chuàng)建執(zhí)行線程對(duì)象(4)通知Windows子系統(tǒng)新線程已被創(chuàng)建,子系統(tǒng)將新線程的線程插入到相應(yīng)進(jìn)程的線程列表中。(5)新線程的句柄和標(biāo)志被返回給調(diào)用的線程(6)線程進(jìn)入調(diào)度隊(duì)列等待執(zhí)行7.3Windows處理器調(diào)度機(jī)制7.3.1調(diào)度優(yōu)先級(jí)圖7.3應(yīng)用優(yōu)先級(jí)別和系統(tǒng)的優(yōu)先級(jí)別的對(duì)應(yīng)關(guān)系 在Windows中,每個(gè)線程都被賦予了優(yōu)先級(jí)的概念,線程總共有32個(gè)優(yōu)先級(jí)數(shù)從0(最低)到31(最高)。從前面的章節(jié)我們知道,線程是從屬于某個(gè)進(jìn)程的,那么對(duì)于某個(gè)具體進(jìn)程的某個(gè)線程的優(yōu)先級(jí)是怎么確定的呢?這得從幾個(gè)優(yōu)先級(jí)

5、概念說起。一個(gè)線程的優(yōu)先級(jí)是由進(jìn)程的基本優(yōu)先級(jí)(或者叫優(yōu)先級(jí)類)和線程的相對(duì)優(yōu)先級(jí)決定的。因?yàn)槲覀儫o法直接設(shè)置一個(gè)線程的優(yōu)先級(jí)數(shù),比如2或29。 進(jìn)程的基本優(yōu)先級(jí):他是通過調(diào)用系統(tǒng)API-SetPriorityClass來設(shè)置,運(yùn)行中的進(jìn)程的優(yōu)先級(jí)可以通過任務(wù)管理器查看?;緝?yōu)先級(jí)是針對(duì)進(jìn)程來講的,基本優(yōu)先級(jí)有8個(gè)類別,分別是: ABOVE_NORMAL_PRIORITY_CLASS,高于一般BELOW_NORMAL_PRIORITY_CLASS,低于一般HIGH_PRIORITY_CLASS, 高 IDLE_PRIORITY_CLASS, 空閑 NORMAL_PRIORITY_CLASS,

6、一般PROCESS_MODE_BACKGROUND_BEGIN,PROCESS_MODE_BACKGROUND_END,REALTIME_PRIORITY_CLASS. 實(shí)時(shí) 如果程序沒有進(jìn)行特別設(shè)置,那么進(jìn)程的基本優(yōu)先級(jí)將會(huì)設(shè)置為NORMAL_PRIORITY_CLASS這個(gè)級(jí)別。先對(duì)來說,使用高于正常的優(yōu)先級(jí)需要特別小心,特別是REALTIME_PRIORITY_CLASS.他表示進(jìn)程中線程必須立即對(duì)事件作出響應(yīng),以便執(zhí)行關(guān)鍵時(shí)間的任務(wù).該進(jìn)程中的線程還會(huì)搶先于操作系統(tǒng)組件之前運(yùn)行.使用本優(yōu)先級(jí)類時(shí)必須極端小心.線程相對(duì)優(yōu)先級(jí):相對(duì)優(yōu)先級(jí)是針對(duì)線程的,他是通過調(diào)用SetThreadPrio

7、rity函數(shù)設(shè)置的。具體參數(shù)可以參考MSDN.那么線程的優(yōu)先級(jí)到底是怎么確定的呢?基本優(yōu)先級(jí)和相對(duì)優(yōu)先級(jí)如何結(jié)合的呢?下表就是他們的對(duì)應(yīng)關(guān)系 7.3.2線程狀態(tài) 圖7.4Windows線程狀態(tài)轉(zhuǎn)換圖 7.3.3線程調(diào)度機(jī)制1. 調(diào)度數(shù)據(jù)庫(kù) 圖7.5調(diào)度數(shù)據(jù)庫(kù)的不同優(yōu)先級(jí)就緒線程隊(duì)列 2. 時(shí)間配額3. 調(diào)度算法 采用基于優(yōu)先級(jí)的搶占式調(diào)度算法。4. 上下文切換 線程的核心棧用來完成上下文切換7.4Windows的內(nèi)存管理7.4.1內(nèi)存管理器進(jìn)程一般只有一部分虛擬地址空間中的數(shù)據(jù)是駐留在物理內(nèi)存中,這一部分虛擬地址空間被稱為工作集。7.4.2內(nèi)存管理的機(jī)制1. 頁(yè)2. 共享內(nèi)存3. 堆管理4. 系統(tǒng)內(nèi)存池7.5虛擬地址空間7.5.1虛擬地址空間布局圖7.8 32位Windows的虛擬地址空間布局 7.5.2虛擬地址轉(zhuǎn)換圖7.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論