![[計算機]深入解析windows操作系統(tǒng)第五版中文翻譯_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/6/4167db80-72b8-4f13-ac59-fa9ebe4e37b7/4167db80-72b8-4f13-ac59-fa9ebe4e37b71.gif)
![[計算機]深入解析windows操作系統(tǒng)第五版中文翻譯_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/6/4167db80-72b8-4f13-ac59-fa9ebe4e37b7/4167db80-72b8-4f13-ac59-fa9ebe4e37b72.gif)
![[計算機]深入解析windows操作系統(tǒng)第五版中文翻譯_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/6/4167db80-72b8-4f13-ac59-fa9ebe4e37b7/4167db80-72b8-4f13-ac59-fa9ebe4e37b73.gif)
![[計算機]深入解析windows操作系統(tǒng)第五版中文翻譯_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/6/4167db80-72b8-4f13-ac59-fa9ebe4e37b7/4167db80-72b8-4f13-ac59-fa9ebe4e37b74.gif)
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1. 概念和工具在這一章中,我們會介紹全書將會用到的關鍵的windows操作系統(tǒng)概念和術語,例如windows api、進程、線程、虛擬內存、內核模式和用戶模式、對象、句柄、安全和注冊表。我們也會介紹你用來探索windows 內部機制的工具,例如內核調試器、可靠性和性能監(jiān)視器、來自windows sysinternals ( driver kit(wdk)和windows software development kits(sdk)作為資源來發(fā)現(xiàn)windows系統(tǒng)內部更多的信息。確保你理解本章的所有東西-本書的剩余部分假定你已經理解了一切。1.1. windows操作系統(tǒng)版本本書覆蓋基于win
2、dows nt內核的最近兩個版本:windows vista(32位和64位版本)和windows server 2008(32位和64位版本)。除非特殊說明,本文適用所有的版本。作為背景信息,表1-1列出了windows nt內核的發(fā)布版本,它們的內部版本號和外部產品名稱。1.2. 基本概念和術語在本書的課程當中,我們將會引用一些對一些讀者來說比較陌生的結構和概念。在這個部分,我們將會定義這些貫穿于全書的這些術語。你將在進入到余下章節(jié)之前熟悉這些術語。1.2.1. windows apiwindows應用程序編程接口(windows application programming inter
3、face)是對windows操作系統(tǒng)家族的系統(tǒng)編程接口。前面介紹的windows xp 和windows server 2003的64位版本,windows操作系統(tǒng)的32位版本的編程接口稱作win32 api,以用來區(qū)別于原始的16位windows api,16位windows api是原始的windows16位版本的編程接口。在本書中,術語windows api指的是windows vista和windows server 2008的32位和64位編程接口。注意在sdk文檔中描述了windows api(參見本章后面的windows sdk)。這個文檔可以在.在線免費瀏覽。它也包含了微軟開發(fā)
4、網(wǎng)絡(msdn,微軟對開發(fā)者的編程支持)的所有訂閱級別(subscription levels)。需要更多的信息,可以看。對基于windows api編程描述的最精彩的是windows via c/c+(第五版,作者jeffrey richter和christophe nasarre,微軟出版社2007)。windows api包數(shù)千個可調用的函數(shù),可以分成下面主要的類別:基礎服務(base services)組件服務(component services) 用戶接口服務(user interface services) 圖形和多媒體服務(graphics and multimedia ser
5、vices) 消息和協(xié)作(messaging and collaboration) 網(wǎng)絡networking web服務(web services)本書重點關注內部的關鍵基礎服務,例如進程和線程、內存管理、io和安全。.net是什么?.net框架包含了一個稱作fcl(framework class library)類庫和一個公共語言運行時(common language runtime)(clr),clr提供了一個托管代碼的執(zhí)行環(huán)境,具有實時編譯、類型校驗、垃圾回收、代碼訪問安全等特性。clr也提供了一個開發(fā)環(huán)境,可以提高程序員的生產率、減少通常的編程錯誤。對于.net framework出色
6、的描述和它的內核架構,可以參考clr via c#, second edition by jeffrey richter (microsoft press,2006)。clr被實現(xiàn)成一個經典的代碼運行在用戶模式的dll com服務器。實際上,.net framework的所有組件都是在windows api基礎上使用非托管代碼實現(xiàn)成標準的用戶模式windows dll(沒有任何一個.net framework組件運行在內核模式。圖1-1說明這些組件之間的關系。.win32 api的歷史有趣的是,win32 并不是最初就作為微軟windows nt的編程接口的候選名單。因為windows nt項
7、目開始是用來替代os/2 version 2的,主要的編程接口是32位os/2 外觀管理(presentation manager)api。然而,項目做了一年以后,微軟windows 3.0 上市并取代了它。因此微軟改變了方向并把windows nt作為將來取代windows家族的產品而不是用來取代os/2。就是在這個時候,需要定義windows api在此之前,windows api僅以16位接口的形式存在。雖然windows api引入許多windows 3.1中沒有提供的新函數(shù),微軟還是決定新的api要兼容16位api的函數(shù)名稱、語義和數(shù)據(jù)類型,目的是為了降低移植現(xiàn)存的16位window
8、s程序到windows nt上的負擔。因此對于那些第一次看到windows api,感覺許多函數(shù)名稱和接口看起來不一致的人,應該記住這種不一致是為了確保windows api對16位windows api的兼容。1.2.2. 服務、函數(shù)和例程一些windows用戶和編程文檔中的術語在不同的上下文有不同的意思。例如服務可以指操作系統(tǒng)中可調用的例程、設備驅動,或者一個服務器進程。下面列出本書中的常用術語的意思。l 文檔化的windows api函數(shù)、windows api中可調用的子例程,例如createprocess、createfile和getmessagel 未文檔化的本地系統(tǒng)服務(或者執(zhí)行
9、體系統(tǒng)服務),操作系統(tǒng)底層用戶模式不能調用的服務。例如ntcreateprocessex是用來創(chuàng)建一個新進程的內部系統(tǒng)服務。(了解本地函數(shù),參考第三章“系統(tǒng)服務分發(fā)”)。l 在操作系統(tǒng)內部的內核支持函數(shù)(或者例程),只可以在內核模式調用(后面的章節(jié)會定義),例如exallocatepoolwithtag是設備驅動調用從windows 系統(tǒng)堆中分配內存的函數(shù)。l 由windows服務控制管理器啟動的windows服務進程。(雖然注冊變中定義設備驅動為服務,但是我們在本書中不把設備驅動作為服務)。例如任務調度服務運行在用戶模式進程,來支持at commands(類似于commands at or
10、cron)。l dll(動態(tài)鏈接庫):一組可調用的例程鏈接在一起形成一個庫文件,可以被應用程序動態(tài)加載使用這些例程。例子包括msvcrt.dll(c運行時庫)和kernel32.dll(windows api子系統(tǒng)庫之一)。windows用戶模式組件和應用程序廣泛的使用這些庫。動態(tài)鏈接庫提供的好處在于所有引用它的應用程序共享內存中的一份拷貝。1.2.3. 進程、線程和作業(yè)windows用戶和編程文檔中有幾個術語在不同的上下文有不同的含義,例如“服務”可以指:雖然程序和進程表面上看起來是相似的,但是他們從根本上是不同的。程序是一個靜態(tài)的指令序列,而進程是一個容器,包含了一些當執(zhí)行程序的一個實例后
11、會用到的資源。在最高抽象層面上,windows進程包含下面這些:l 一個私有的虛擬地址空間,是進程可以使用的一些虛擬內存地址l 一個可執(zhí)行程序,定義了初始的代碼和數(shù)據(jù)并且被映射到進程虛擬地址空間中l(wèi) 一些指向不同的系統(tǒng)資源的打開的句柄,例如進程中的所有線程可以訪問的信號量、通信端口。l 稱作訪問令牌的安全上下文,用來標識用戶、安全組、特權、用戶訪問控制(uac)、虛擬化狀態(tài)、會話、和進程關聯(lián)的受限的用戶賬戶狀態(tài)。l 一個稱作進程id的唯一標識符(內部叫做客戶id(client id)的標識符)。l 最后一個執(zhí)行的線程(雖然一個空進程是可能的,但是是沒有用的)每個進程也都會執(zhí)行它的父親或者創(chuàng)建者
12、金正,然而,如果父進程退出的話,這個信息是不會更新的。因此對一個進程來說,指向一個不存在的父進程是可能的。這并不是一個問題,因為沒有任何東西依賴于這個信息。下面的這個實驗說明了這個情況。實驗:瀏覽進程樹大多數(shù)工具都不會顯示進程的父進程或者創(chuàng)建者,你可以通過性能監(jiān)視器檢索創(chuàng)建進程id或者采用編程的方式也可以。tlist.exe(在windows調試工具箱)使用/t 開關可以顯示進程樹,這是一個從 tlist/t的輸出例子: 1. c:tlist /t 2. system process (0) 3. system (4) 4. smss.exe (480) 5. csrss.exe (548)
13、6. wininit.exe (612) 7. services.exe (656) 8. svchost.exe (848) 9. svchost.exe (880) 10. svchost.exe (924) 11. svchost.exe (980) 12. audiodg.exe (1040) 13. svchost.exe (1108) 14. dwm.exe (123) 15. svchost.exe (96) 16. taskeng.exe (604) 17. tasking.exe (1532) 18. slsvc.exe (1814) 19. svchost.exe (2988) 20. lsass.exe (672) 21. lsm.exe (680) 22. csrss.exe (624) 23. winlogon.exe (824) 24. expl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中介租憑合同范本
- 水泥采購合同簡易合同范本
- 幼兒園端午節(jié)活動策劃方案2021范文
- 機場茶館轉讓合同范本
- 讀后續(xù)寫+Lily的藝術之路+講義 高三上學期入學考試英語試題
- 疾病預防策略的現(xiàn)代化發(fā)展
- 收垃圾合同范本
- 2025-2030年中國甲基叔丁基醚(MTBE)市場前景趨勢及發(fā)展策略分析報告
- 2025-2030年中國生活用紙市場運行狀況及發(fā)展趨勢預測報告
- 2025-2030年中國環(huán)衛(wèi)車市場運行動態(tài)與營銷策略研究報告
- 張岱年:《中國文化概論》
- 繪本成語故事:四面楚歌
- HCIE-Transmission H12-931認證培訓考試題庫匯總(含答案)
- 造血細胞與基本檢驗方法-細胞化學染色(血液學檢驗課件)
- 領子的分類詳解課件
- 產品質量保證書
- 工廠員工消防安全培訓內容
- 調節(jié)與集合的相關性 相對調節(jié)和相對集合的關系
- 《金融工程》課程教案
- 水輪機結構總體介紹
- 十八項護理核心制度培訓課件
評論
0/150
提交評論