1. 程式人生 > >Windows作業系統原理筆記

Windows作業系統原理筆記

2.2 Windows 2000/xp 作業系統模型

這個系統融合了分層作業系統和客戶/伺服器(微核心)作業系統的特點.通過硬體機制實現了 核心態 Kernel mode 和 使用者態 user mode

2個特權級別.

記憶體管理器,告訴快取管理器,物件及安全管理器,網路協議,檔案系統(包括伺服器和重定位程式)和所有執行緒和程序管理. 都執行在核心態

核心態下組建可與硬體互動,組建之間也能互動,能執行任何CPU指令.

使用者層:有四種基本型別:

1. 系統支援程序 system support process , 例如 登陸管理器  WINLOGON 和 會話管理器 SMSS

2.服務程序 service process , 如事件日誌服務

3. 環境子系統 enviroment subsystem ,作業系統功能介面, Windows2000/xp下有3個環境子系統, Win32 , POSIX 和 OX/2 1.2

4.應用程式 user application , 他們是 Win32 , windows 3.1 MS-DOS POSIX 或 Os/2.1 五種型別之一

服務程序和應用程式時不能直接呼叫作業系統服務的,他們必須通過子系統動態連結庫和系統互動,動態連結庫的作用就是將文件話的函式

轉換為適當的 windows 2000/xp 內部系統呼叫

核心層都執行在統一的核心地址空間中:

1.核心 kernel 包含最低階的作業系統功能, 例如執行緒跳讀,中斷和異常排程,多處理器同步等,同時也提供執行提Executive 實現高階結構

的一組例程和基本物件

 2.執行提包含了基本的作業系統服務,例如記憶體管理器,程序和執行緒管理,安全控制,I/O以及程序間通訊

3.硬體抽象層 hardware Avstraction Layer ,HAL 將核心,裝置驅動程式以及執行提同硬體分開來,使其適應多平臺

4.裝置驅動程式 Device Drivers 包括檔案系統和硬體裝置驅動程式等,其中硬體裝置驅動將使用者的 I/O函式呼叫轉換特定的I/O請求

5.圖形引擎包含了實現圖形使用者介面 GUI的基本函式

 2.23 Windows2000/xp 對稱多處理器支援

Windows2000/xp支援 "多對稱處理器" SMP ,不存在主處理器,作業系統和使用者執行緒都能被安排在任一處理器上,所有處理器

共享一個記憶體空間。 非對稱處理器 ASMP 智慧在某個特定處理器上執行系統程式碼,其他處理器執行使用者程式碼

當一個較高優先權的執行緒需要獲得處理器時間時,利用系統陷阱跳讀 trap dispatching 機制 ,所有作業系統程式碼都可以被搶先

(強制釋放一個處理器),在不同處理器中,每一個執行緒基本上都可以同時執行。核心以及裝置驅動程式和服務程序內部的

精準同步允許更多組建在多處理器上同時執行,在程序間共享物件的機制及靈活的程序間的通訊能力包括共享記憶體和優化訊息傳遞

2.3 Windos2000/xp 體系結構

2.3.1 核心

核心執行最基本的操作,主要提供下列功能: 1.執行緒安排和排程 2.陷阱處理和異常排程 3.中斷處理和排程 4.多處理器同步 5.供執行提使用的基本核心物件 (某些情況下可以匯出到使用者態 ) Windows2000/xp 的核心始終執行在核心態,程式碼短小緊湊,可移植性也很好.一般來說除了中斷服務例程 ISR,正在執行的執行緒是不能搶佔核心

 

2.3.2 硬體抽象層

windows2000/xp設計最至關重要的就是多種硬體平臺上的可移植性,HAL 就是讓這成為可能的關鍵部分, HAL 是一個可加在的核心態 模組 HAL.dll ,它為執行在 windows2000/xp上硬體平臺提供低階介面。 HAL隱藏各種與硬體有關的細節,例如 I/O介面,中斷控制器 以及多處理器通訊機制等和依賴於計算機平臺的函式 2.3.3 執行體 windows2000/xp 的執行體是 NTOSKRNL.EXE 的上層 (核心是其下層)  執行體包括五種型別函式: 1.從使用者態匯出並可以呼叫的函式,這些函式的介面在NTDLL.DLL 中,通過位win32API 訪問 2.使用者態匯出並且可以呼叫的函式,但當前通過任何文件化的子系統函式都不能使用 3.windows2000 DDK 中已經匯出並且文件化的核心態呼叫函式 4.核心態組建呼叫但沒有文件化的函式 5.組建內部的函式 執行體包含下列重要組建: 1.執行緒和程序管理器建立及中止程序和執行緒。 2.虛擬記憶體管理器實現 虛擬記憶體 3.安全引用監視器在本地計算機上執行安全策略 4.I/O系統執行獨立於裝置的輸入輸出,併為進一步處理呼叫適當裝置驅動程式 5.告訴快取管理器 通過將最近引用的磁碟資料駐留在主記憶體中來提高I/O的效能, 另外執行體還包含四組支援函式,大約3/1在DDK中已經文件化 1.物件管理,建立,管理以及刪除執行提物件和用於代表作業系統的抽象資料型別,iru程序,執行緒和各種同步物件 2.本地過程呼叫 Lpc 機制,在同一臺計算機上的客戶程序和服務之間的傳遞訊息 3.一組廣泛的功用執行時函式,例如字串處理,算數運算,資料型別轉換和完全結構處理 4.執行提支援例程,如系統記憶體分配,頁交換區,互鎖記憶體訪問和兩種特殊型別的同步物件

2.3.4 裝置驅動程式

裝置驅動程式是可加在的核心態模組, 通常以.SYS為副檔名,安裝裝置驅動程式是吧使用者些的核心態程式碼新增到系統的唯一方法 他們是I/O系統和硬體之間的介面,裝置驅動程式不直接操作硬體,而是呼叫HAL功能作為介面