![Windows內(nèi)核_概述_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/28/58dfd63e-3361-438f-9f7f-63ca1fe27c62/58dfd63e-3361-438f-9f7f-63ca1fe27c621.gif)
![Windows內(nèi)核_概述_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/28/58dfd63e-3361-438f-9f7f-63ca1fe27c62/58dfd63e-3361-438f-9f7f-63ca1fe27c622.gif)
![Windows內(nèi)核_概述_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/28/58dfd63e-3361-438f-9f7f-63ca1fe27c62/58dfd63e-3361-438f-9f7f-63ca1fe27c623.gif)
![Windows內(nèi)核_概述_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/28/58dfd63e-3361-438f-9f7f-63ca1fe27c62/58dfd63e-3361-438f-9f7f-63ca1fe27c624.gif)
![Windows內(nèi)核_概述_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/28/58dfd63e-3361-438f-9f7f-63ca1fe27c62/58dfd63e-3361-438f-9f7f-63ca1fe27c625.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、WindowsWindows內(nèi)核原理與實(shí)現(xiàn)內(nèi)核原理與實(shí)現(xiàn)曹飛操作系統(tǒng)概述Windows概述進(jìn)程和線程內(nèi)存管理I/O系統(tǒng)管理文件系統(tǒng)管理系統(tǒng)服務(wù)操作系統(tǒng)是一種特殊的軟件管理硬件資源的軟件,建立抽象層為上層應(yīng)用提供服務(wù)計(jì)算機(jī)系統(tǒng)的資源管理 計(jì)算資源 存儲(chǔ)資源 其他資源(I/O)為應(yīng)用程序提供執(zhí)行環(huán)境 首先,對(duì)應(yīng)用程序的任務(wù)抽象(進(jìn)程和線程) 其次,每個(gè)應(yīng)用程序有相對(duì)獨(dú)立的執(zhí)行空間 最后,多任務(wù)的情況下公平執(zhí)行(同步)Windows系統(tǒng)結(jié)構(gòu)內(nèi)核結(jié)構(gòu)、關(guān)鍵組件、子系統(tǒng)、系統(tǒng)進(jìn)程和系統(tǒng)線程Windows內(nèi)核的基本概念處理器模式、中斷和異常、同步Windows引導(dǎo)過程計(jì)算機(jī)的啟動(dòng)、內(nèi)核加載、內(nèi)核初始化、用
2、戶登錄會(huì)話把所有與硬件相關(guān)聯(lián)的代碼邏輯隔離到一個(gè)專門的模塊中,從而使上面的層次盡可能做到獨(dú)立于硬件平臺(tái)在Windows 中,HAL 是一個(gè)獨(dú)立的動(dòng)態(tài)鏈接庫提供了一些例程供其他內(nèi)核模塊或設(shè)備驅(qū)動(dòng)程序調(diào)用,這使得一個(gè)驅(qū)動(dòng)程序可以運(yùn)行在支持同樣的設(shè)備在各種硬件平臺(tái)上HAL服務(wù)包括對(duì)設(shè)備寄存器的訪問、總線獨(dú)立的設(shè)備尋址、中斷處理和復(fù)位、DMA傳輸、定時(shí)器和實(shí)時(shí)時(shí)鐘的控制、底層的自旋鎖(Spin Lock)和多處理機(jī)同步、BIOS接口以及CMOS配置內(nèi)存。HAL沒有提供對(duì)特殊I/O設(shè)備(如鍵盤、鼠標(biāo)、硬盤和內(nèi)存管理單元)的抽象或服務(wù)內(nèi)核模塊ntoskrnl.exe 中的下層部分(上層部分為執(zhí)行體),最接
3、近于HAL 層,負(fù)責(zé)線程調(diào)度和中斷、異常的處理每個(gè)處理器上的線程切換也是由內(nèi)核來完成,它按照調(diào)度規(guī)則讓處理器放棄當(dāng)前線程,選擇下一個(gè)要執(zhí)行的線程Windows 的內(nèi)核按照面向?qū)ο蟮乃枷雭碓O(shè)計(jì),它管理兩種類型的對(duì)象:分發(fā)器對(duì)象(dispatcher object)和控制對(duì)象。分發(fā)器對(duì)象實(shí)現(xiàn)了各種同步功能,這些對(duì)象的狀態(tài)會(huì)影響線程的調(diào)度;控制對(duì)象被用于控制內(nèi)核的操作,但是不影響線程的調(diào)度,它包括異步過程調(diào)用(APC)、延遲過程調(diào)用(DPC),以及中斷對(duì)象等。執(zhí)行體是內(nèi)核模塊ntoskrnl.exe 的上層部分,包含5種函數(shù):可在用戶模式下調(diào)用(通過API);無法通過API調(diào)用的用戶模式函數(shù);內(nèi)核模
4、式下調(diào)用;執(zhí)行體之間相互調(diào)用;一個(gè)組建的內(nèi)部函數(shù);內(nèi)核層和執(zhí)行體層的分工是,內(nèi)核層實(shí)現(xiàn)操作系統(tǒng)的基本機(jī)制,而所有的策略決定則留給執(zhí)行體;執(zhí)行體中的對(duì)象絕大多數(shù)封裝了一個(gè)或者多個(gè)內(nèi)核對(duì)象,并且通過某種方式(比如對(duì)象句柄)暴露給應(yīng)用程序執(zhí)行體API 函數(shù)接收的參數(shù)來自于各種應(yīng)用程序,因此,為了確保系統(tǒng)的健壯性,以及抵抗來自用戶模式的惡意攻擊,所有的執(zhí)行體API 函數(shù)必須保證參數(shù)的有效性;必須在恰當(dāng)?shù)臅r(shí)刻檢查參數(shù)的值,若是指針的話,還必須保證調(diào)用者可以訪問指針?biāo)傅膬?nèi)存在內(nèi)核中除了內(nèi)核模塊ntoskrnl.exe 和HAL 以外,其他的模塊幾乎都以設(shè)備驅(qū)動(dòng)程序的形式存在Windows 操作系統(tǒng)中的設(shè)
5、備驅(qū)動(dòng)程序,并不一定對(duì)應(yīng)于物理設(shè)備;驅(qū)動(dòng)程序既可以創(chuàng)建虛擬設(shè)備,也可以完全與設(shè)備無關(guān),而僅僅是內(nèi)核的擴(kuò)展模塊(內(nèi)核擴(kuò)展驅(qū)動(dòng)程序、文件系統(tǒng)驅(qū)動(dòng)程序)設(shè)備驅(qū)動(dòng)程序是可以動(dòng)態(tài)加載到系統(tǒng)中的模塊,其文件擴(kuò)展名為.sys,其格式是標(biāo)準(zhǔn)的PE 文件格式。驅(qū)動(dòng)程序中的代碼運(yùn)行在內(nèi)核模式下,盡管它們可以直接操縱硬件,但理想的情況是,調(diào)用HAL 中的函數(shù)與硬件打交道Windows 為 應(yīng) 用 程序 提 供 了多 種 網(wǎng) 絡(luò)API,允許應(yīng) 用 軟 件設(shè) 計(jì) 人 員根 據(jù) 他 們的 需 求 適當(dāng)選擇Windows 套接字,簡(jiǎn)稱Winsock,它實(shí)現(xiàn)并擴(kuò)展了BSD 套接字標(biāo)準(zhǔn)WinInet,這是一個(gè)高層網(wǎng)絡(luò)API,它
6、支持多個(gè)協(xié)議,包括Gopher、FTP 和HTTP;Microsoft Internet Explorer 使用WinInet 來完成數(shù)據(jù)傳輸命名管道(named pipe)和郵件槽(mailslot),用于不同進(jìn)程之間進(jìn)行通信RPC,這是網(wǎng)絡(luò)編程的一個(gè)標(biāo)準(zhǔn),往往是分布式系統(tǒng)基礎(chǔ)設(shè)施的重要組件;RPC 建立在其他的網(wǎng)絡(luò)API 基礎(chǔ)之上,比如命名管道和Winsock按照Windows NT 最初的設(shè)計(jì),它支持三個(gè)環(huán)境子系統(tǒng):OS/2、POSIX 和Windows(或稱Win32 );Windows 子系統(tǒng)是必須要運(yùn)行的,沒有Windows 系統(tǒng)無法運(yùn)行,而其他兩個(gè)子系統(tǒng)則被配置成按需啟動(dòng);Win
7、dows 子系統(tǒng)中既有用戶模式部分,也有內(nèi)核模式部分。內(nèi)核模式部分的核心是win32k.sys,雖然它的形式是一個(gè)驅(qū)動(dòng)程序,但實(shí)際上它并不處理I/O 請(qǐng)求;用戶模式部分包括Windows 子系統(tǒng)進(jìn)(csrss.exe)以及一組動(dòng)態(tài)鏈接庫(DLL);kernel32.dll、user32.dll、gdi32.dll 和advapi.dll(通過ntdll.dll來調(diào)用)Windows 子系統(tǒng)的用戶界面管理有一個(gè)層次結(jié)構(gòu),通常應(yīng)用程序只是在一個(gè)默認(rèn)的桌面上運(yùn)行;交互式窗口站中通常有三個(gè)桌面:登錄桌面、默認(rèn)桌面和屏幕保護(hù)桌面;在每個(gè)桌面中,都有一個(gè)頂級(jí)窗口列表,這些窗口往往可以相互重疊,有系統(tǒng)菜單、
8、最大化/最小化按鈕和滾動(dòng)條等;Windows 子系統(tǒng)會(huì)話有一個(gè)RIT(Raw Input Thread)線程,負(fù)責(zé)從輸入設(shè)備讀取原始的輸入事件,然后生成消息,寄送到正確的線程消息隊(duì)列中;Windows 的圖形引擎也是在Windows 子系統(tǒng)中提供的;提供了一套與設(shè)備無關(guān)的編程接口,即GDI,這使得應(yīng)用程序可以適應(yīng)各種底層顯示設(shè)備的差異;應(yīng)用程序與圖形設(shè)備驅(qū)動(dòng)程序之間的通信足夠高效,從而即使在頻繁輸出和刷新圖形元素的情況下,Windows 也能夠?yàn)橛脩籼峁┝己玫囊曈X效果;Windows 子系統(tǒng)定義了一個(gè)穩(wěn)定的圖形體系結(jié)構(gòu),以便于第三方的圖形設(shè)備硬件廠商可以方便地將他們的視頻顯示器和打印設(shè)備集成到
9、Windows中;Windows 子系統(tǒng)的圖形系統(tǒng),除了支持GDI,還提供了對(duì)DirectX 的顯示支持,包括DirectDraw 和Direct3D,因而允許像游戲、多媒體播放器等應(yīng)用軟件繞過GDI 圖形引擎,直接操縱顯示器硬件,從而獲得更快的顯示速度,并且避免屏幕抖動(dòng)Windows內(nèi)核除了接受來自應(yīng)用程序的系統(tǒng)服務(wù)調(diào)用,它自己也有一些線程用于各種用途,這些線程運(yùn)行在一個(gè)特殊的進(jìn)程環(huán)境中,稱為System 進(jìn)程;System 進(jìn)程的線程被稱為系統(tǒng)線程,其中有一組系統(tǒng)輔助線程(system worker thread),它們代表操作系統(tǒng)或者其他的應(yīng)用進(jìn)程來完成一些特殊的工作;系統(tǒng)輔助線程實(shí)際上
10、是一個(gè)線程池,Windows 在系統(tǒng)初始化時(shí)創(chuàng)建了一定數(shù)量的輔助線程,而且,隨著輔助線程的負(fù)載的變化,執(zhí)行體也會(huì)動(dòng)態(tài)地創(chuàng)建一些輔助線程,以滿足系統(tǒng)負(fù)載的變化需求;Windows 有一組系統(tǒng)進(jìn)程對(duì)于整個(gè)系統(tǒng)的運(yùn)行來說是必不可少的系統(tǒng)空閑進(jìn)程(Idle),該進(jìn)程的ID 為0,其中每個(gè)處理器或核對(duì)應(yīng)有一個(gè)線程System 進(jìn)程,該進(jìn)程的ID 為4,包含了內(nèi)核模式系統(tǒng)線程,系統(tǒng)輔助線程,以及執(zhí)行體和驅(qū)動(dòng)程序通過PsCreateSystemThread 創(chuàng)建的線程,都在System 進(jìn)程中Windows 子系統(tǒng)進(jìn)程(csrss.exe), Windows 子系統(tǒng)進(jìn)程負(fù)責(zé)為用戶提供一個(gè)子系統(tǒng)環(huán)境,包括提供
11、控制臺(tái)窗口的功能,以及創(chuàng)建或刪除進(jìn)程和線程在Intel x86 處理器上,段描述符有一個(gè)2 位長(zhǎng)度的特權(quán)級(jí):0 表示最高特權(quán)級(jí),3 表示最低特權(quán)級(jí);Windows 只使用0 和3 兩種特權(quán)級(jí),通常特權(quán)級(jí)0 表示CPU 處于內(nèi)核模式(kernel mode),3 表示用戶模式(user mode),在任何時(shí)刻,處理器總是位于這兩種模式之一;處理器有許多指令只有在特權(quán)級(jí)0 的模式下才可以使用;處理器位于用戶模式時(shí),它處于一種相對(duì)隔離的狀態(tài):能夠執(zhí)行的指令是受限制的,能夠訪問的內(nèi)存也是受限制的;戶模式代碼觸發(fā)了異常,則控制流進(jìn)入到內(nèi)核模式,內(nèi)核中的異常處理函數(shù)可以決定該控制流是否繼續(xù)執(zhí)行;用戶模式代
12、碼在執(zhí)行時(shí),被一個(gè)中斷打斷(軟中斷或硬中斷),則控制流進(jìn)入特權(quán)模式,等中斷處理例程完成以后,控制流恢復(fù)到用戶模式下;執(zhí)行特殊的模式切換指令,例如Intel x86 的sysenter 指令,從用戶模式切換到內(nèi)核模式中斷(interrupt)是處理器與外部設(shè)備打交道的重要途徑,指當(dāng)出現(xiàn)需要時(shí),CPU暫時(shí)停止當(dāng)前程序的執(zhí)行轉(zhuǎn)而執(zhí)行處理新情況的程序和執(zhí)行過程異常(exception)則是處理器的正常指令流在執(zhí)行過程中產(chǎn)生的一些特殊事件,需要緊急處理才能繼續(xù)原來的指令流都會(huì)打斷一個(gè)正常的指令流,但區(qū)別在于,中斷的發(fā)生與當(dāng)前指令流并無實(shí)質(zhì)聯(lián)系,而異常則是當(dāng)前指令流執(zhí)行的直接結(jié)果中斷是異步的,而異常是同步
13、的Intel x86 處理器內(nèi)部使用同一套陷阱機(jī)制來處理中斷和異常,它利用IDT(Interrupt Descriptor Table,中斷描述符表),將每個(gè)中斷或異常與一個(gè)處理該中斷或異常的服務(wù)例程聯(lián)系起來Windows 在此硬件機(jī)制的基礎(chǔ)上,又提供了一種更為靈活的軟件機(jī)制,允許設(shè)備驅(qū)動(dòng)程序?yàn)樘囟ǖ闹袛嘞蛄刻砑铀闹袛喾?wù)例程(ISR,Interrupt ServiceRoutine)中斷控制器(如APIC)允許設(shè)定每一個(gè)硬件中斷的優(yōu)先級(jí)Windows定了一套軟件中斷優(yōu)先級(jí),稱為中斷請(qǐng)求級(jí)別(IRQL,Interrupt Request Level)IRQL為0 表示普通線程,稱為PASSI
14、VE_LEVEL ; IRQL為1 表示異步過程調(diào)用(APC,Asynchronous Procedure Call),稱為APC_LEVEL; IRQL 為2 也被稱為DISPATCH/DPC級(jí)別;326 是設(shè)備IRQL,2731 是一些特殊的硬件中斷,包括時(shí)鐘中斷、電源中斷、處理器間中斷等,它們都是硬件中斷異常是程序指令流執(zhí)行過程中的同步處理過程,既可以由處理器硬件產(chǎn)生,也可以由指令流軟件產(chǎn)生Windows 為所有需要處理的異常都提供了異常處理器(exception handler,即異常處理例程)內(nèi)核模式和用戶模式的代碼都有可能發(fā)生異常,根據(jù)發(fā)生異常時(shí)處理器模式的不同,Windows 的
15、異常分發(fā)(exception dispatch)過程也有所不同由于多處理器、多核或者中斷等各種并發(fā)性因素的存在,同樣的代碼有可能被并發(fā)執(zhí)行,而數(shù)據(jù)也可能被并發(fā)訪問對(duì) 于 可 能 被 并 發(fā) 訪 問 的 數(shù) 據(jù) 進(jìn) 行 必 要 的 同 步(synchronization)根據(jù)執(zhí)行環(huán)境中的IRQL 值大于APC_LEVEL 或者等于PASSIVE_LEVEL,可以將同步機(jī)制分為“不依賴于線程調(diào)度的同步機(jī)制”和“基于線程調(diào)度的同步機(jī)制”兩大類當(dāng)IRQL 大于APC_LEVEL 時(shí),Windows 提供了一些方便的同步保護(hù)機(jī)制,供內(nèi)核自身或設(shè)備驅(qū)動(dòng)程序使用提升IRQL,當(dāng)處理器在某個(gè)IRQL 上運(yùn)行時(shí)
16、,它只能被更高IRQL的中斷打斷互鎖操作,可以實(shí)現(xiàn)基本的對(duì)整數(shù)操作的保護(hù),確保一個(gè)操作以原子方式進(jìn)行,指令級(jí)保護(hù)無鎖的單鏈表, Windows 利用64位互鎖指令來實(shí)現(xiàn)無鎖的單鏈表數(shù)據(jù)結(jié)構(gòu),并且可支持多核、多處理器環(huán)境自旋鎖(spin lock),本質(zhì)上是一種忙等待當(dāng)一個(gè)線程的執(zhí)行條件不滿足時(shí),該線程進(jìn)入等待狀態(tài),系統(tǒng)將控制權(quán)交給其他滿足執(zhí)行條件但沒有得到處理器資源的線程;以后,當(dāng)該線程的執(zhí)行條件滿足時(shí),它又有機(jī)會(huì)繼續(xù)執(zhí)行Windows 使用等待塊(wait block)來描述“一個(gè)線程正在等待一個(gè)分發(fā)器對(duì)象變成有信號(hào)狀態(tài)”當(dāng)一個(gè)分發(fā)器對(duì)象變成有信號(hào)狀態(tài)時(shí),系統(tǒng)循著此對(duì)象的等待塊鏈表,就知道該
17、解除哪個(gè)或哪些線程,即喚醒它們預(yù) 引 導(dǎo) 階 段內(nèi)核加載內(nèi)核初始化用戶登錄BIOS,包括自診斷程序、CMOS設(shè)置程序(BIOS設(shè)置信息)、系統(tǒng)自動(dòng)裝載程序和主要I/O驅(qū)動(dòng)程序和中斷服務(wù);啟 動(dòng) 順 序 , 按 照CMOS設(shè)置的啟動(dòng)順序,讀取第一個(gè)設(shè)備的第一個(gè)扇區(qū),如果最后兩個(gè)字節(jié)是0 x55和0 xAA表示該設(shè)備可以啟動(dòng);如果不是,則依次讀取下一個(gè)設(shè)備,直到找到啟動(dòng)設(shè)備;否則報(bào)錯(cuò);MBR,主引導(dǎo)記錄,包括引導(dǎo)代碼(引導(dǎo)程序啟動(dòng),操作系統(tǒng)的選擇)和引導(dǎo)數(shù)據(jù)(磁盤分區(qū)表,記錄每個(gè)分區(qū)的位置、大小、類型);讀入引導(dǎo)扇區(qū)后,把控制權(quán)交給引導(dǎo)扇區(qū)的代碼;主引導(dǎo)記錄主引導(dǎo)記錄由三個(gè)部分組成: 1 第1-4
18、46字節(jié):調(diào)用操作系統(tǒng)的機(jī)器碼;2第447-510字節(jié):分區(qū)表(Partition table),分區(qū)表的長(zhǎng)度只有64個(gè)字節(jié),里面又分成四項(xiàng),每項(xiàng)16個(gè)字節(jié)(主分區(qū)最多只有4個(gè))。所以,一個(gè)硬盤最多只能分四個(gè)一級(jí)分區(qū),又叫做”主分區(qū)”;3第511-512字節(jié):主引導(dǎo)記錄簽名(0 x55和0 xA)引導(dǎo)扇區(qū),引導(dǎo)分區(qū)的第一個(gè)扇區(qū);Windows操作系統(tǒng)的真正入口點(diǎn);大小可能不夠,讀入其他扇區(qū)的代碼,并跳轉(zhuǎn)到下個(gè)扇區(qū)的代碼區(qū)Ntldr,windows加載程序由兩個(gè)部分組成:實(shí)模式代碼,首先獲得控制權(quán)的代碼區(qū);標(biāo)準(zhǔn)的PE文件,os loader;實(shí)模式代碼,完成須在16位實(shí)模式下的工作(清除鍵盤緩沖
19、區(qū)),為切換到32位保護(hù)模式做好工作;之后將處理器切換到保護(hù)模式;Os loader,首先將物理內(nèi)存管理起來;構(gòu)造頁目錄和頁表(開啟虛擬地址轉(zhuǎn)譯功能,頁面映射機(jī)制);執(zhí)行其他的初始化工作(包括I/O設(shè)備初始化,小文件系統(tǒng)驅(qū)動(dòng)等);讀取boot.ini文件;檢查是否有有效的hiberfil.sys,如果沒有則選擇加載選擇的操作系統(tǒng)加載并執(zhí)行 NTDETECT.COM程序,利用系統(tǒng)的BIOS來查詢系統(tǒng)的基本設(shè)備和配置信息(系統(tǒng)的時(shí)間和日期、總線的類型、磁盤信息,并寫入到HKLMHARDWAREDESCRIPTION鍵下面)加載內(nèi)核模塊映像文件,默認(rèn)為ntoskrnl.exe,hal文件,默認(rèn)為ha
20、l.dll加載注冊(cè)表的SYSTEM儲(chǔ)巢,WINDOWS system32 configsystem文件;通過該儲(chǔ)巢的設(shè)置信息,加載被標(biāo)記為“引導(dǎo)-啟動(dòng)”的設(shè)備驅(qū)動(dòng)程序,以及必要的文件系統(tǒng)驅(qū)動(dòng)程序系統(tǒng)所需的模塊都已經(jīng)加載到內(nèi)存中系統(tǒng)所需的模塊都已經(jīng)加載到內(nèi)存中( (內(nèi)核、內(nèi)核、halhal、必要的驅(qū)動(dòng)、必要的驅(qū)動(dòng)) )內(nèi)核加載完成后,控制權(quán)轉(zhuǎn)交給ntoskrnl的入口函數(shù),KiSystemStartup為了解決在初始化過程中的相互依賴性問題,內(nèi)核的初始化分兩個(gè)階段進(jìn)行,稱為階段0 和階段1大多數(shù)內(nèi)核組件的初始化函數(shù)相應(yīng)地帶有一個(gè)整數(shù)參數(shù),以指明一次調(diào)用是階段0 初始化還是階段1 初始化,而有些組
21、件的初始化函數(shù)通過檢查一個(gè)全局變量InitializationPhase 的值來判斷當(dāng)前處于哪個(gè)階段階段0 初始化的目的是,將階段1 初始化所要用到的基本數(shù)據(jù)結(jié)構(gòu)建立起來中斷被禁止,因此處理器可以順序地執(zhí)行自己的初始化邏輯初始化處理器的狀態(tài)-為當(dāng)前處理器初始化其HAL 中的PCR 和處理器間中斷向量-執(zhí)行內(nèi)核初始化-蛻變?yōu)榭臻e線程階段0 初始化完成以后,系統(tǒng)的線程調(diào)度器開始工作進(jìn)程管理器在階段0 初始化過程(PspInitPhase0)中,除了初始化其內(nèi)部的狀態(tài)變量,它也為初始進(jìn)程創(chuàng)建一個(gè)進(jìn)程對(duì)象,并將其命名為“Idle”。另外,它還創(chuàng)建了“System”進(jìn)程,以及一個(gè)系統(tǒng)線程,此系統(tǒng)線程的開
22、始例程為Phase1Initialization 函數(shù);KiInitializeKernel 函數(shù)返回以后,KiSystemStartup 啟動(dòng)中斷,將當(dāng)前的中斷請(qǐng)求級(jí)別(IRQL,Interrupt Request Level)降低到DISPATCH_LEVEL,從而允許線程調(diào)度器選擇新的線程;階段1 初始化是在System 進(jìn)程的一個(gè)系統(tǒng)線程中運(yùn)行的;階段1初始化是內(nèi)核的完全初始化,它占據(jù)了系統(tǒng)初始化過程中相當(dāng)一部分時(shí)間Windows 內(nèi)核在階段1 初始化的最后,啟動(dòng)了一個(gè)用戶模式進(jìn)程會(huì)話管理器子系統(tǒng)(smss)它是可信的,這意味著它可以做一些其他用戶進(jìn)程無法做的事情,比如創(chuàng)建安全令牌它直接建立在Windows 內(nèi)核的基礎(chǔ)上,只使用Windows內(nèi)核提供的系統(tǒng)服務(wù),而不依賴于任何一個(gè)環(huán)境子系統(tǒng)(啟動(dòng)Windows 子系統(tǒng)本身正是smss 的任務(wù)之一)調(diào)用系統(tǒng)服務(wù)NtInitializeRegistry 來初始化注冊(cè)表啟動(dòng)登錄進(jìn)程(winlogon.exe),創(chuàng)建初始的窗口站(WinSta0),并且為該窗口站創(chuàng)建一個(gè)桌面
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年北京事業(yè)單位勞動(dòng)合同模板
- 2025年住宅空間策劃設(shè)計(jì)合同樣本
- 2025年亞太地區(qū)物流協(xié)作協(xié)議
- 2025年冷庫租賃合同示例
- 2025年完善配送服務(wù)合同模板
- 2025年官方標(biāo)準(zhǔn)延期借款合同協(xié)議書
- 法律顧問2025年合同范本
- 2025年深圳市二手住宅交易合同
- 2025年勞動(dòng)合同續(xù)簽協(xié)議標(biāo)準(zhǔn)
- 2025年全日制大學(xué)生就業(yè)延后協(xié)議
- 攝影入門課程-攝影基礎(chǔ)與技巧全面解析
- 司法考試2024年知識(shí)點(diǎn)背誦版-民法
- 冀少版小學(xué)二年級(jí)下冊(cè)音樂教案
- 【龍集鎮(zhèn)稻蝦綜合種養(yǎng)面臨的問題及優(yōu)化建議探析(論文)13000字】
- 25 黃帝的傳說 公開課一等獎(jiǎng)創(chuàng)新教案
- 人教版音樂三年級(jí)下冊(cè)第一單元 朝景 教案
- 《師范硬筆書法教程(第2版)》全套教學(xué)課件
- 中國聯(lián)通H248技術(shù)規(guī)范
- 孫權(quán)勸學(xué)省公共課一等獎(jiǎng)全國賽課獲獎(jiǎng)?wù)n件
- DL-T-692-2018電力行業(yè)緊急救護(hù)技術(shù)規(guī)范
- 精索靜脈曲張臨床路徑表單
評(píng)論
0/150
提交評(píng)論