Windows NT 3.1

Windows NT 3.1

Windows NT 3.1是微軟的Windows NT核心系列作業系統產品線的第一代產品,用於伺服器和商業桌面作業系統,發布於1993年7月27日。版本號的選擇是為了匹配Windows 3.1,微軟當時最新版的圖形用戶界面,以表明它們擁有非常類似的用戶界面方面的視覺效果。有兩個版本的Windows NT 3.1可供選擇:Windows NT 3.1 Workstation和Windows NT Advanced Server。它可以運行在Intel x86、DEC Alpha和MIPS R4000的CPU上。

基本介紹

  • 中文名:視窗NT 3.1
  • 外文名:windows nt 3.1
  • 名稱:Windows NT 3.1
  • 開發發行:微軟(Microsoft)
  • 發布日期:1993年7月27日
  • 最新版本:3.10.528(1994年11月10日)
  • 結束支持:2000年12月31日
  • 下一代:Windows NT 3.5
開發歷史,Windows NT體系結構,得名由來,類似性,

開發歷史

Windows NT的開發工作始於1988年11月,當時微軟雇用了一組開發人員,他們來自DEC公司,由Dave Cutler領導。許多設計元素反映了DEC在VMSRSX-11上的前期經驗。這一作業系統設計以運行於多種指令集結構和每種結構里的多種硬體平台之上。這種平台無關性通過一個叫做HAL的核心模式模組最大程度隱藏在系統其餘部分之外。
Windows NT最開始計畫用於OS/23.0,由微軟和IBM聯合開發的作業系統的第三版。但當Windows 3.0於1990年5月發表後,取得了異常的成功,於是微軟決定修改當時尚未發表的NT OS/2(它當時叫這個名字)的主要應用程式接口,由對OS/2 API的擴展改為對Windows API的擴展。這一決定導致了微軟和IBM之間關係的緊張,他們的合作最終破裂。IBM獨自繼續對OS/2的開發,而微軟則繼續在新命名的Windows NT上的開發工作。
Windows NT的首次公開演示,當時它叫作“Windows Advanced Server for LAN Manager”,是在1991年8月的一個開發人員大會上,並於1993年在喬治亞州亞特蘭大市召開的Comdex春季展會上正式宣布。

Windows NT體系結構

Windows NT體系結構是分為用戶態與核心態兩層的搶先式,可重入的作業系統。可工作在單處理器或對稱多處理器(SMP)上。輸入輸出基於I/O請求包(I/O Request Packet, IRP)與異步I/O.
用戶態下的程式與子系統僅能訪問有訪問許可權的資源,核心態程式可以訪問所有資源與外設。Windows NT的核心是一種混合核心。其體系結構包括簡單核心, 硬體抽象層(HAL)驅動程式,一些服務(總稱為執行體),這些均屬於核心態,
Windows NT的用戶態包括能夠傳遞I/O請求給適當核心態下的的軟體驅動程式的子系統。Windows NT的用戶態包括了兩個子系統:環境子系統(在不同作業系統類型下執行應用程式);集成子系統(Integral subsystem)執行一些系統相關的函式。
執行體提供了大部分的系統服務功能。位於硬體抽象層與執行體之間的Windows NT的核心態部分提供了多處理器同步,執行緒與中斷調度與分派,自陷(trap)處理,異常分派。核心態還負責在啟動時初始化驅動程式。核心態驅動程式分為三層:高層驅動程式,中層驅動程式,低層驅動程式。Windows驅動程式模型(WDM)存在於中層驅動程式,主要用於二進制與原始碼兼容於Windows 98與Windows 2000的驅動程式。低層驅動程式或者是Windows NT的老的設備驅動程式,或者是PnP硬體匯流排。
用戶態
Windows NT作業系統的用戶態部分包括兩個子系統:環境子系統與集成子系統.
環境子系統運行依據不同作業系統API而寫的程式。有3個環境子系統:Win32子系統,OS/2子系統,POSIX子系統,
Win32環境子系統運行32位Windows應用程式。還支持其他環境子系統的控制台或文本視窗,以及Virtual DOS Machine(VDMs)上執行MS-DOS與16位Windows程式。這通過模擬在Intel 80486上運行MS-DOS 5.0實現. Win32環境子系統進程(csrss.exe)還包含了視窗管理器以處理輸入的鍵盤滑鼠事件,應用程式根據Windows訊息來繪製或刷新其視窗。
OS/2環境子系統模擬了OS/2 1.x,支持16位基於字元的OS/2應用程式。但不支持32位字元或圖形的OS/2應用程式。運行OS/2 1.x的圖形程式,需要安裝Windows NT Add-On Subsystem for Presentation Manager。最後一個具有OS/2子系統的是Windows 2000;Windows XP不再有OS/2子系統,
POSIX環境子系統支持嚴格遵照POSIX.1標準及相關ISO/IEC標準寫的程式,這一子系統已經被Interix替代,它是Windows Services for UNIX的一部分
集成子系統包括了安全子系統, 工作站服務與伺服器服務. 安全子系統處理安全令牌,基於資源許可授予或拒絕用戶帳戶訪問,處理登錄請求與初始化登錄鑑別,以及管理Active Directory工作站服務子系統提供了計算機訪問網路的功能。伺服器子系統提供了網路服務功能。
核心態
Windows NT的核心態能訪問所有硬體資源,在保護記憶體區上執行代碼控制了調度、執行緒優先權、記憶體管理、硬體互動;禁止了用戶態的程式與服務訪問關鍵資源,用戶態進程必須請求核心態執行這類操作。
x86硬體體系結構支持四種CPU優先權:0到3。僅有0與3這兩種優先權被Windows作業系統使用。用戶態程式運行在優先權3,核心態運行在優先權0(特權級別)也分別稱作"ring 3"與"ring 0"。這使得具有了只有2個優先權的RISC平台的可移植性。但是打破了OS/2應用程式包含的I/O特權段的兼容性
核心態的作業系統包含了由許多功能模組組成的執行體服務, 核心驅動程式, 一個(微)核心,一個硬體抽象層HAL,
執行體
Windows執行體服務建立於低層核心態程式之上,包含在檔案NTOSKRNL.EXE中[3]負責處理I/O,對象管理, 安全,進程管理. 劃分為幾個子系統,包括快取管理,配置管理,I/O管理, 本地過程調用(LPC),記憶體管理,對象管理,進程結構與安全引用監視(SRM).這些子系統一起構成了執行體服務.系統服務,即系統調用也是在這一級別上實現,除了極少特例為了高性能而直接調用了核心層。
上下文中的術語"service"是指可調用的例程,或一整套可調用的例程。這不同於"服務進程(service process)"。服務進程是用戶態下的程式,類似於類Unix系統的守護進程。
Object Manager
Object Manager
對象管理器是一個執行體的子系統,所有其他的執行體子系統,特別是系統調用必須通過它來獲得對Windows NT資源的訪問,這使得對象管理器成為資源管理的基礎設施。對象管理器用來避免在其他子系統中管理資源帶來的冗餘與不安全。在對象管理器視角,每個資源都是一個對象,不論是物理資源(如檔案系統或外設),還是邏輯資源(如一個互斥鎖)。
快取控制器
Windows Cache Manager與記憶體控制器、I/O控制器、I/O驅動一起為正常的檔案I/O提供快取,這種檔案快取是針對檔案塊,對本地檔案與遠程檔案提供了一致的服務。實際上這是特殊的檔案記憶體映射。
配置管理器
實現了Windows註冊表
i/o(輸入/輸出)管理器
允許用戶態程式與設備的通信。I/O管理器把用戶態程式的讀寫請求翻譯給硬體。例如,I/O管理器接收檔案系統I/O請求,翻譯為對相關設備的調用,與低層設備驅動程式合作執行硬體讀寫操作。還包括了I/O操作的cache管理。
本地過程調用(lpc)
提供了一種進程間通信連線埠機制。是Microsoft RPC的基礎.
記憶體管理
管理虛擬記憶體,控制記憶體保護,以及物理記憶體與二級存儲之間的分頁調度,以及物理記憶體的分配.還能分析PE格式可執行程式,以便映射入或卸載這些程式。
進程結構
處理進程與執行緒的創建與終止,實現了作業概念(從Windows 2000開始).
即插即用管理器
處理即插即用,支持在啟動時的設備檢測與安裝,按需停止或啟動一個設備。它的大部分實際上是在用戶態的Plug and Play Service中實現。
電源管理
處理電源事件(關機,睡眠stand-by,休眠等),通知受影響的驅動程式。
安全引用監視(srm)
強制實行安全規則的子系統[8]通過訪問控制表(ACLs)確定一個對象或資源可以被訪問。訪問控制表由訪問控制條目(ACEs)組成.ACE包含了安全標識符(SID)與授予的操作列表,使得用戶帳戶、用戶組賬號、登錄會話具有對資源的允許、不允許、審核(audit)等許可權
gdi
圖形設備接口是負責畫線、字型繪製、處理調色板等。在Windows NT 3.x系列作業系統,GDI屬於用戶態。從Windows NT 4.0,GDI移入了核心態,以提高圖形性能。
kernel(核心)
核心(kernel)在HAL與執行體之間,實際上是“微核心”的理念下設計實現出來的。負責多處理器同步,執行緒與中斷的調度與分派,自陷處理,異常分派,在啟動時初始化設備驅動程式等。
核心態驅動
Windows NT使用核心態的設備驅動程式與硬體互動。用戶態下的程式看到的設備都是I/O管理器下的檔案對象;而I/O管理器自身看到的設備是設備對象。核心態驅動程式分為3個層次:最高層驅動程式,中層驅動程式,低層驅動程式。最高層驅動程式,如FAT或NTFS的檔案系統驅動程式,依賴於中層驅動程式。中層驅動程式由功能驅動(function driver)組成。功能驅動依賴於匯流排驅動,即服務於匯流排控制器、適配器(adapter)、橋(bridge)的驅動。Windows Driver Model(WDM)存在於中層。低層驅動直接控制硬體,不依賴於任何其他驅動程式。
硬體抽象層(hal)
硬體抽象是一套軟體子程式(routine),模擬了特定平台有關細節,使得程式不必直接訪問硬體資源。因而可以寫獨立於設備的、高性能代碼,通過作業系統訪問硬體。例如,編譯器禁止了CPU指令集的細節,應用程式作者無需考慮與CPU相關的指令。作業系統的硬體抽象使得程式只需調用作業系統級的操作,而禁止了硬體具體細節,使得程式具有了可移植性。
作業系統的硬體抽象層位於硬體與軟體之間。對作業系統核心隱藏了硬體的大部分差異,使得核心態代碼基本不需要改變即可運行於不同硬體配置的計算機上。硬體抽象大都是硬體驅動程式。被禁止的硬體信息包括I/O界面、中斷設定、多處理器通信機制等。

得名由來

為了提高可移植性,避免製造一個以x86為中心的設計方案,起初這一作業系統的定位是Intel i860CPU,代號為N10(英文讀作“N-Ten"),NT作業系統家族便由此得名。但i860“嚴重落後於計畫”,於是NT小組在i860原型硬體(代號為Dazzle)交付之前使用了一個模擬器,對其它平台的支持將隨後提供。

類似性

Windows NT 3.1的用戶界面與Windows 3.1的非常相似,以至於人們有時候會把它與Windows 3.1相混淆,這也使那些以前在Windows 3.x上有使用經驗的人們用起該作業系統來非常容易。

相關詞條

熱門詞條

聯絡我們