最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

Windows NT 和 VMS:故事的其余部分

2023-02-18 15:18 作者:CallMeZHUWIN  | 我要投稿

NT,真的是New Technology嗎???

(機(jī)翻

當(dāng) Microsoft 于 1993 年 4 月發(fā)布第一個(gè)版本的 Windows NT 時(shí),該公司的營銷和公共關(guān)系活動(dòng)在操作系統(tǒng) (OS) 的名稱中著重強(qiáng)調(diào)了 NT(即新技術(shù))。Microsoft 將 NT 提升為尖端操作系統(tǒng),其中包括用戶期望在工作站和中小型服務(wù)器操作系統(tǒng)中具有的所有功能。盡管 NT 在 1993 年是一個(gè)新的操作系統(tǒng),具有新的 API(即 Win32)和新的用戶和系統(tǒng)管理工具,但 NT 的核心體系結(jié)構(gòu)和實(shí)現(xiàn)的根源可以追溯到 20 世紀(jì) 70 年代中期。

現(xiàn)在……故事的其余部分:我將帶您簡要了解一下 NT 的血統(tǒng),這將追溯到 Digital 及其 VMS 操作系統(tǒng)。NT 的主要開發(fā)人員,包括 VMS 的首席架構(gòu)師,大部分都來自 Digital,他們的背景對 NT 的發(fā)展產(chǎn)生了重大影響。在談完 NT 的根源之后,我將討論 NT 和 VMS 之間絕非巧合的相似之處,以及 Digital 對 NT 發(fā)布的反應(yīng)。


NT 簡史?

NT 的歷史與 NT 的首席架構(gòu)師 David N. Cutler 的歷史密切相關(guān)。1965 年從密歇根大學(xué)奧利維特學(xué)院畢業(yè)后,卡特勒在杜邦公司工作。雖然計(jì)算機(jī)不是他的第一個(gè)興趣,但他在杜邦公司的工作之一是在數(shù)字機(jī)器上運(yùn)行模擬。不久之后,卡特勒對軟件有了一定的了解,并決定要開發(fā)操作系統(tǒng)而不是應(yīng)用軟件。他于 1971 年加入 Digital,在 Digital 位于馬薩諸塞州梅納德的著名“工廠”工作,為 PDP-11 系列開發(fā)操作系統(tǒng)。RSX-11M 是第一個(gè)操作系統(tǒng),卡特勒在其中融入了后來在 NT 中出現(xiàn)的主要概念和設(shè)計(jì)原則。RSX-11M 是為工業(yè)和制造控制而開發(fā)的 PDP-11 OS Digital。


1975 年,Digital 意識(shí)到其競爭對手正在開發(fā) 32 位處理器,而這項(xiàng)技術(shù)會(huì)吸引客戶放棄 PDP 的 16 位架構(gòu)。計(jì)算機(jī)歷史上的傳奇人物、時(shí)任 Digital 工程副總裁的 Gordon Bell 推動(dòng)了 32 位處理器的開發(fā),Digital 最終將其命名為 VAX。此時(shí),Cutler 已成為 Digital 的明星,是最初的 VAX 開發(fā)團(tuán)隊(duì)的一員。Digital 委托 Cutler 以及 Dick Hustvedt 和 Peter Lipman 設(shè)計(jì) VAX 的操作系統(tǒng) VMS。Digital 對 VAX 硬件的主要設(shè)計(jì)目標(biāo)包括與 PDP-11 處理器的向后兼容性和足夠的靈活性,使 VAX 可以成為低端桌面工作站和企業(yè)級(jí)服務(wù)器的基礎(chǔ)。Digital 還使 VMS 向后兼容 RSX-11M,并設(shè)計(jì)了 VMS 以在不同尺寸的機(jī)器上運(yùn)行。在這個(gè)發(fā)展時(shí)期,Digital 在其公司歷史中稱其“將業(yè)務(wù)押注”在 VAX 和 VMS 上。比爾·蓋茨最近聲稱,微軟正在 NT 5.0 上“賭上生意”,這與 Digital 的聲明有異曲同工之妙。

1977 年,Digital 發(fā)布了 VAX-11/780 和 VMS 1.0,并于 1978 年首次出貨。作為項(xiàng)目負(fù)責(zé)人和 VMS 的主要架構(gòu)師之一,Cutler 繼續(xù)致力于 VMS 的連續(xù)發(fā)布,但他在 Digital 變得焦躁不安。1981 年,卡特勒威脅要離開 Digital。為了留住明星開發(fā)人員,Digital 為 Cutler 提供了大約 200 名硬件和軟件工程師??ㄌ乩瞻阉膱F(tuán)隊(duì)搬到了西雅圖,并開始了一個(gè)開發(fā)中心。這個(gè)精英團(tuán)隊(duì)的目標(biāo)是設(shè)計(jì)一種新的 CPU 架構(gòu)和操作系統(tǒng),將 Digital 帶入 1990 年代。Digital 將 Cutler 小組的硬件項(xiàng)目稱為 Prism,并將其稱為 OS Mica。

1988 年,Digital 的高管取消了 Cutler 的項(xiàng)目并解雇了許多團(tuán)隊(duì)成員。Cutler 決定離開 Digital,但在他離開之前,Microsoft 高管了解了事態(tài)發(fā)展并意識(shí)到他們有一個(gè)理想的機(jī)會(huì)來聘用 Cutler。在 Cutler 離開 Digital 時(shí),VMS 的發(fā)布版本是 5.0(截止文章發(fā)布日期前最新版本是 7.1)。

1988 年 8 月,比爾蓋茨聘請了卡特勒。卡特勒跳槽到微軟的條件之一是他可以帶上大約 20 名前 Digital 員工,其中包括幾名 Prism 硬件工程師。微軟欣然滿足了這一要求——公司知道聘請像卡特勒這樣的操作系統(tǒng)架構(gòu)師是一個(gè)妙招,而且很少有工程師擁有卡特勒這樣的業(yè)績記錄。此外,蓋茨認(rèn)為微軟的長遠(yuǎn)未來取決于開發(fā)可與 UNIX 匹敵的新操作系統(tǒng)。

Microsoft 新操作系統(tǒng)的內(nèi)部項(xiàng)目名稱是 OS/2 NT,因?yàn)?Microsoft 的意圖是讓新操作系統(tǒng)接替 OS/2,但保留 OS/2 API 作為其主要接口。1990 年 4 月 Windows 3.0 的成功改變了微軟的想法及其與 IBM 的關(guān)系。微軟發(fā)布 Windows 3.0 六周后,微軟將 OS/2 NT 更名為 Windows NT,并指定 Win32 API(Windows 3.0 的 16 位 API 的 32 位演變)NT 的官方 API。蓋茨認(rèn)為,除了支持部分 DOS、OS/2 和 POSIX API 之外,與 16 位 Windows API 的兼容性和運(yùn)行未經(jīng)修改的 Windows 3.x 應(yīng)用程序的能力是 NT 的首要目標(biāo)。從1990年到1993年8月NT公開發(fā)布,卡特勒的團(tuán)隊(duì)瘋狂沖刺完成了NT,圖 1顯示了 NT 歷史上主要事件的時(shí)間線。

表 1:VMS 和 NT 術(shù)語翻譯

左:VMS 右:Windows NT

中斷優(yōu)先級(jí) (IPL) | 中斷請求級(jí)別 (IRQL)

異步系統(tǒng)陷阱 (AST) | 異步過程調(diào)用 (APC)

分叉程序 | 延遲過程調(diào)用 (DPC)

I/O 請求包 (IRP) | I/O 請求包 (IRP)

錯(cuò)誤檢查 | 錯(cuò)誤檢查

系統(tǒng)服務(wù) | 系統(tǒng)服務(wù)

sys.exe ntoskrnl.exe

分頁池 | 分頁池

非分頁池 | 非分頁池

Look aside List Section | Look aside List Section


NT 和 VMS

NT 的大多數(shù)核心設(shè)計(jì)師都曾在 Digital 從事過 VMS 的工作;有些人直接與卡特勒合作。這些開發(fā)人員如何防止他們的 VMS 設(shè)計(jì)決策影響他們的 NT 設(shè)計(jì)和實(shí)現(xiàn)?許多用戶認(rèn)為 NT 的開發(fā)人員將 VMS 的概念帶到了 NT,但大多數(shù)人并不知道 NT 和 VMS 在內(nèi)核級(jí)別上有多么相似(盡管 Usenet 開玩笑說如果你遞增 VMS 中的每個(gè)字母,你最終會(huì)得到 WNT(Windows NT)) .


與在 UNIX 和大多數(shù)商業(yè)操作系統(tǒng)中一樣,NT 有兩種執(zhí)行模式,如圖2所示。

在用戶模式下,應(yīng)用程序執(zhí)行,OS/2、DOS 和 POSIX 執(zhí)行并導(dǎo)出 API 供應(yīng)用程序使用。這些組件沒有特權(quán),因?yàn)?NT 控制著它們和它們運(yùn)行的硬件。沒有 NT 的許可,這些組件不能直接訪問硬件。此外,組件和硬件不能訪問彼此的內(nèi)存空間,也不能訪問與 NT 內(nèi)核關(guān)聯(lián)的內(nèi)存。如果用戶模式下的組件想要訪問硬件或分配物理或邏輯資源,則它們必須調(diào)用內(nèi)核。

內(nèi)核以特權(quán)模式執(zhí)行:它可以直接訪問內(nèi)存和硬件。內(nèi)核由幾個(gè)負(fù)責(zé)管理資源的執(zhí)行子系統(tǒng)組成,包括進(jìn)程管理器、I/O 管理器、虛擬內(nèi)存管理器、安全引用監(jiān)視器以及處理調(diào)度和中斷的微內(nèi)核。系統(tǒng)動(dòng)態(tài)加載設(shè)備驅(qū)動(dòng)程序,這些驅(qū)動(dòng)程序是將 NT 連接到不同外圍設(shè)備的內(nèi)核組件。硬件抽象層 (HAL) 向 NT 隱藏了底層 CPU 和主板的特定復(fù)雜性。NT 的本機(jī) API 是用戶模式應(yīng)用程序用來與內(nèi)核對話的 API。這個(gè)本機(jī) API 大部分沒有記錄,因?yàn)閼?yīng)用程序應(yīng)該使用 Win32、DOS、OS/2、POSIX 或 Win16,

VMS 不像 NT 那樣具有不同的操作系統(tǒng)特性,但它的內(nèi)核和執(zhí)行子系統(tǒng)顯然是 NT 的前身。數(shù)字開發(fā)人員幾乎完全用 VAX 匯編語言編寫了 VMS 內(nèi)核。為了跨不同的 CPU 架構(gòu)可移植,Microsoft 開發(fā)人員幾乎完全用 C 編寫了 NT 的內(nèi)核。在開發(fā) NT 的過程中,這些設(shè)計(jì)人員用 C 重寫了 VMS,清理、調(diào)整、微調(diào),并添加了一些新的功能和能力。這種說法有貶低他們努力的危險(xiǎn);畢竟,設(shè)計(jì)者構(gòu)建了新的 API(即 Win32)、新的文件系統(tǒng)(即 NTFS)以及新的圖形界面子系統(tǒng)和管理環(huán)境,同時(shí)保持與 DOS、OS/2、POSIX 和 Win16 的向后兼容性。盡管如此,

這些相似之處可以寫滿一本書。事實(shí)上,您只需將 VMS 術(shù)語翻譯成 NT 術(shù)語,就可以閱讀VAX/VMS Internals and Data Structures?(Digital Press) 的部分,作為對 NT 內(nèi)部結(jié)構(gòu)的準(zhǔn)確描述。表 1 列出了一些 VMS 術(shù)語及其 NT 翻譯。雖然我不會(huì)詳細(xì)介紹,但我將討論 Windows NT 3.1 和 VMS 5.0 之間的一些主要相似點(diǎn)和不同點(diǎn),VMS 的最后一個(gè)版本 Dave Cutler 和他的團(tuán)隊(duì)可能會(huì)受到影響。本討論假設(shè)您對操作系統(tǒng)概念有一定的了解(有關(guān) NT 體系結(jié)構(gòu)的背景信息,請參閱 1998 年 3 月的“Windows NT 體系結(jié)構(gòu),第 1 部分”和 1998 年 4 月的“Windows NT 體系結(jié)構(gòu),第 2 部分”)。


VMS 和 NT 的重要相似之處


NT 的進(jìn)程實(shí)際上與 VMS 的進(jìn)程相同(表 2,第 118 頁,顯示了 VMS 和 NT 進(jìn)程的比較)。在 NT 中,與在 VMS 中一樣,進(jìn)程調(diào)度程序?qū)崿F(xiàn)了 32 個(gè)優(yōu)先級(jí)。具有最高優(yōu)先級(jí)的進(jìn)程始終運(yùn)行,具有相同優(yōu)先級(jí)的進(jìn)程以循環(huán)模式進(jìn)行調(diào)度。系統(tǒng)會(huì)考慮 16 個(gè)高優(yōu)先級(jí)實(shí)時(shí)或固定優(yōu)先級(jí),因?yàn)檫M(jìn)程調(diào)度程序不會(huì)操縱系統(tǒng)分配給該范圍的進(jìn)程中的優(yōu)先級(jí)。16 個(gè)低優(yōu)先級(jí)(0 除外,系統(tǒng)為空閑線程保留它,當(dāng)沒有其他線程可以執(zhí)行時(shí))是動(dòng)態(tài)的,因?yàn)檎{(diào)度程序通常根據(jù)設(shè)備驅(qū)動(dòng)程序的輸入,提高優(yōu)先級(jí)以響應(yīng)各種條件,例如當(dāng)進(jìn)程接收到來自設(shè)備的輸入時(shí)。這種碰撞過程稱為提升。NT 和 VMS 調(diào)度程序的一個(gè)定義方面是它們永遠(yuǎn)不會(huì)將進(jìn)程的優(yōu)先級(jí)降低到應(yīng)用程序編程的優(yōu)先級(jí)以下。為了處理 CPU 占用,即一個(gè)進(jìn)程在不考慮系統(tǒng)中的其他進(jìn)程的情況下消耗 CPU 周期,調(diào)度程序提高了在定義的時(shí)間段內(nèi)未執(zhí)行的饑餓進(jìn)程的優(yōu)先級(jí)。VMS 5.0 和 NT 3.1 調(diào)度程序都支持對稱多處理 (SMP),這讓它們可以在不同的 CPU 上同時(shí)執(zhí)行進(jìn)程,以提高應(yīng)用程序的性能。在一個(gè)進(jìn)程消耗 CPU 周期而不考慮系統(tǒng)中的其他進(jìn)程的情況下,調(diào)度程序提高了在定義的時(shí)間段內(nèi)未執(zhí)行的饑餓進(jìn)程的優(yōu)先級(jí)。VMS 5.0 和 NT 3.1 調(diào)度程序都支持對稱多處理 (SMP),這讓它們可以在不同的 CPU 上同時(shí)執(zhí)行進(jìn)程,以提高應(yīng)用程序的性能。在一個(gè)進(jìn)程消耗 CPU 周期而不考慮系統(tǒng)中的其他進(jìn)程的情況下,調(diào)度程序提高了在定義的時(shí)間段內(nèi)未執(zhí)行的饑餓進(jìn)程的優(yōu)先級(jí)。VMS 5.0 和 NT 3.1 調(diào)度程序都支持對稱多處理 (SMP),這讓它們可以在不同的 CPU 上同時(shí)執(zhí)行進(jìn)程,以提高應(yīng)用程序的性能。

NT 進(jìn)程管理和 VMS 進(jìn)程管理之間的一個(gè)主要區(qū)別是 NT 進(jìn)程包含一個(gè)或多個(gè)執(zhí)行線程,并且 NT 的調(diào)度程序?qū)?CPU 時(shí)間分配給線程,而不是進(jìn)程。直到 1995 年的 7.0 版,Digital 才將內(nèi)核線程引入 VMS。這一添加是自 NT 發(fā)布以來 Digital 對 VMS 進(jìn)行的多項(xiàng)增強(qiáng)之一,似乎是為了響應(yīng) NT 功能。反過來,Microsoft 在 1996 年向 NT 4.0 添加了輕量級(jí)用戶模式線程支持,它是從線程的 VMS 實(shí)現(xiàn)中復(fù)制的。

NT 和 VMS 中的內(nèi)存管理器也很相似。兩個(gè)操作系統(tǒng)都實(shí)現(xiàn)了系統(tǒng)在當(dāng)前執(zhí)行的應(yīng)用程序和內(nèi)核之間劃分的虛擬內(nèi)存地址映射。NT 和 VMS 都嚴(yán)重依賴內(nèi)存映射文件,尤其是映射用于執(zhí)行應(yīng)用程序和實(shí)現(xiàn)寫時(shí)復(fù)制功能的代碼(由于 VAX 硬件限制,VMS 提供的按需復(fù)制功能效率較低)。NT 和 VMS 中的物理內(nèi)存管理依賴于按需分頁的虛擬內(nèi)存。VMS 的內(nèi)存管理器為每個(gè)進(jìn)程分配系統(tǒng)可以分配給它們的物理內(nèi)存量的上限和下限(稱為工作集)。此功能將應(yīng)用程序劃分開來,以便具有大量內(nèi)存需求的應(yīng)用程序?qū)ζ渌M(jìn)程的影響最小。NT 的內(nèi)存管理器包含工作集,

與進(jìn)程管理器一樣,NT 和 VMS 的內(nèi)存管理器之間存在顯著差異。VMS 的平衡集管理器將整個(gè)進(jìn)程的內(nèi)存足跡從內(nèi)存中移出到分頁文件中,然后返回到內(nèi)存中,以響應(yīng)系統(tǒng)的整體內(nèi)存需求。Microsoft 沒有將這種稱為交換的機(jī)制帶入 NT 的 Balance Set Manager,盡管 NT 的 Balance Set Manager 的一些次要職責(zé)與 VMS 的 Balance Set Manager 的次要職責(zé)相同。

NT 的 I/O 管理器緊密地基于 VMS 的 I/O 管理器。兩種操作系統(tǒng)的 I/O 管理器都支持遍及不同設(shè)備類型的設(shè)備驅(qū)動(dòng)程序堆棧的分層驅(qū)動(dòng)程序模型,并實(shí)現(xiàn)基于異步數(shù)據(jù)包的 I/O 命令,其設(shè)備驅(qū)動(dòng)程序動(dòng)態(tài)加載和卸載??啥询B和可加載的驅(qū)動(dòng)程序使 NT 和 VMS 具有很強(qiáng)的可擴(kuò)展性。任一操作系統(tǒng)都可以在多個(gè)設(shè)備驅(qū)動(dòng)程序之間劃分功能,每個(gè)驅(qū)動(dòng)程序?qū)崿F(xiàn)不同的抽象級(jí)別。例如,系統(tǒng)可以在文件系統(tǒng)驅(qū)動(dòng)程序和磁盤驅(qū)動(dòng)程序之間插入一個(gè)容錯(cuò)磁盤驅(qū)動(dòng)程序。這種配置讓容錯(cuò)磁盤驅(qū)動(dòng)程序接收系統(tǒng)發(fā)送到一個(gè)邏輯驅(qū)動(dòng)器(例如C盤)的請求,然后將請求發(fā)送到多個(gè)物理驅(qū)動(dòng)器以實(shí)現(xiàn)鏡像或條帶化。異步 I/O 使應(yīng)用程序和內(nèi)核子系統(tǒng)能夠發(fā)起設(shè)備請求并在請求進(jìn)行時(shí)工作,而不是空閑地等待請求完成。NT 的設(shè)備驅(qū)動(dòng)程序體系結(jié)構(gòu)和中斷請求優(yōu)先級(jí)方案基于 VMS。I/O 管理器這些方面的描述適用于這兩種操作系統(tǒng),幾乎沒有變化。

圖三

通過比較第 117 頁的圖 2 和圖 3可以看出,執(zhí)行子系統(tǒng)在 VMS 和 NT 之間表現(xiàn)出最顯著的相似性。但是存在許多細(xì)微的相似之處,很明顯 Microsoft 從 VMS 派生了 NT 的功能。例如,NT 和 VMS 都將資源表示為系統(tǒng)通過對象管理器管理的對象,對象管理器實(shí)現(xiàn)了統(tǒng)一的引用計(jì)數(shù)和記帳。對象管理器調(diào)節(jié)資源分配并調(diào)用請求某些對象操作通知的執(zhí)行子系統(tǒng)功能。VMS 對象管理沒有像在 NT 中那樣形式化,VMS 對象管理器只是功能的松散連接。Microsoft 擴(kuò)展了 NT 的對象管理器,以便它為所有內(nèi)核資源提供統(tǒng)一的命名模型。

NT 的安全子系統(tǒng)基于具有任意訪問控制列表的對象。DACL 確定哪些用戶可以對這些對象執(zhí)行各種操作。Digital 在 1984 年的 4.0 版中為 VMS 的安全模型添加了 DACL 增強(qiáng)功能。因此,VMS 的安全實(shí)現(xiàn)是 NT 的前身。Microsoft 甚至包括類似于 NT 中的 VMS 的系統(tǒng)工具,包括基于 MONITOR 的性能監(jiān)視器,即可擴(kuò)展的 VMS 性能監(jiān)視器。早在 Microsoft 開發(fā) NT 的備份實(shí)用程序之前,VMS 就包含了一個(gè)名為 BACKUP 的實(shí)用程序。

“為什么最快的芯片沒有獲勝”(商業(yè)周刊,?1997 年 4 月 28 日)指出,當(dāng) Digital 工程師注意到 VMS 和 NT 之間的相似之處時(shí),他們將他們的觀察報(bào)告給了高級(jí)管理層。Digital 沒有起訴,而是與微軟達(dá)成了協(xié)議。1995 年夏天,Digital 宣布了 Affinity for OpenVMS,該計(jì)劃要求 Microsoft 幫助培訓(xùn) Digital NT 技術(shù)人員,幫助將 NT 和 Open-VMS 作為三層客戶端/服務(wù)器網(wǎng)絡(luò)解決方案的兩個(gè)部分進(jìn)行推廣,并承諾維護(hù) NT支持 Alpha 處理器。微軟還向 Digital 支付了 6500 萬至 1 億美元。

NT和VMS的演變
盡管 Microsoft 將 NT 描述為自主開發(fā)的操作系統(tǒng),但 NT 實(shí)際上比其 1993 年的官方誕生日期要早得多。NT 包含來自另一家公司的旗艦操作系統(tǒng)的架構(gòu)和設(shè)計(jì)影響。有趣的是,在整個(gè) 20世紀(jì) 90 年代,Digital 向 VMS 引入了許多 NT 功能,Microsoft 也將 VMS 開發(fā)添加到 NT。例如,VMS 在 1984 年提供了本地集群支持,在 1996 年提供了 64 位內(nèi)存和系統(tǒng) API。微軟直到去年年底才將集群支持引入 NT,并且只是在有限的范圍內(nèi),并且在微軟發(fā)布 64 位 NT 之前可能要過幾年.?相應(yīng)地,Microsoft 發(fā)布了 NT 的第一個(gè)版本,支持內(nèi)核模式線程、系統(tǒng)范圍的事件日志記錄和稱為注冊表的配置數(shù)據(jù)庫。VMS 在 1995 年的 VMS 7.0 和 VMS 7 中引入了內(nèi)核模式線程。

傳奇還在繼續(xù)。現(xiàn)在 Compaq 已經(jīng)收購了 DEC,VMS 會(huì)繼續(xù)發(fā)展,還是 NT 會(huì)終結(jié)其前身的命運(yùn)?有一件事是肯定的:NT 將繼續(xù)發(fā)展,將它的起源拋得越來越遠(yuǎn)。

原文章發(fā)布于1998年12月

http://www.win2000mag.com/Articles/Print.cfm?ArticleID=4494

Windows NT 和 VMS:故事的其余部分的評論 (共 條)

分享到微博請遵守國家法律
衡阳县| 华蓥市| 大港区| 江门市| 平远县| 中江县| 龙里县| 耒阳市| 花莲市| 油尖旺区| 资中县| 溆浦县| 桐乡市| 新田县| 永嘉县| 北京市| 水富县| 南城县| 宣化县| 大足县| 乐清市| 改则县| 安溪县| 西城区| 马山县| 张家川| 台山市| 石家庄市| 临桂县| 大兴区| 迁西县| 阳山县| 阜南县| 达孜县| 南皮县| 襄城县| 六盘水市| 康保县| 惠水县| 新闻| 镇赉县|