1999年8月5日-在此問題中:

  1. 系統內部的新功能

    • Portmon v3。0
    • Frob v 1。5
    • ListDLLs v 2。1
    • 新的 BOOT.INI 選項
    • PsList v1。0
    • 八月 "NT 內部"
    • 不是-新的東西
  2. 內部新聞

    • 更正 Re:系統檔案保護
    • 已發行的 Win2K RC1 DDK
    • Win2K AWE API
    • WinDev ' 99 西部
  3. 即將推出的內容

    • SP4's 未記載的 DiskEdit 工具

贊助商: WINTERNALS SOFTWARE

系統內部電子報是由 Winternals Software 贊助,網址為: http://www.winternals.com. Winternals Software 是 advanced systems tools for Windows NT 的領導開發人員和提供者/2K。 Winternals Software 產品包含 Windows NT 4.0 的 FAT32、ERD Commander (Windows NT) 的開機磁片功能,以及 NTRecover。

Winternals Software 宣佈推出最新的系統復原公用程式,也就是遠端復原。 遠端復原可讓您從企業中的任何地方透過 TCP/IP 存取無法開機電腦的磁片磁碟機。 從遠端修正驅動程式、檔案系統,以及將 NT 或 Win9x 系統離線的設定問題,以節省時間和支援費用。 請下載免費的唯讀試用版 http://www.sysinternals.com/rrecover.htm ,並購買 http://www.winternals.com.


大家好,

歡迎使用系統內部電子報的第四個版本。 這份電子報目前有7000的訂閱者。

在最後一個電子報中,我指出 Windows 2000 的 (Win2K) AWE API。 我指出 AWE 代表「位址範圍延伸」 (新手至 Windows 的世界,API 代表「應用程式開發介面」 ) 。 Microsoft 的硬體開發人員網站的本頁將其描述為: http://www.microsoft.com/hwdev/NTDRIVERS/AWE.htm. 不過,讀取器 Laxmikant Gunda 將我指向 Microsoft 網站上的另一個 URL, http://www.microsoft.com/windows/server/News/fromMS/intelpae.asp 其中 AWE 是指定為「Advanced 視窗擴充功能」 API。 很明顯地,「位址」在 API 的內容中比「Advanced」更有意義 (我稍後會在本電子報中說明) ,所以我猜到有些行銷作者在子集新聞頁面的原始技術資料時,會對他們帶來訣竅。

我在 Microsoft 的技術涵蓋範圍之前,已經看到這種混淆。 最近,適用于 Win2K 可安裝檔案系統 (IFS) 套件 Beta 3 版本的安裝程式,在其啟動顯示畫面上宣告為「內部檔案系統套件」的設定。 在 IFS 中的 ' I ' 一直都是勇敢面對考驗「可安裝」,而「內部」在這裡並沒有太大的意義 (除非它們不小心釋出套件的非公用版本) ,所以我猜到另一種情況下,在翻譯 (的情況下,或安裝編碼員沒有檔案系統-團隊成員很方便,並使用其最佳猜測) 。

我的重點是什麼? 我其實還沒這麼做,我們要將縮寫溢位,讓開發人員和行銷人員不小心使用相同的三個字母的縮寫來描述不同的技術。 Microsoft 的 IIS (Internet Information Server) 群組中的某人會將名為 ( AIE 的新 API 命名為「Advanced ISAPI Extensions」-ISAPI 代表網際網路伺服器 API) ,而 MTS (Microsoft 交易伺服器) 群組中的某人會出現另一個 AIE 「不可部分完成的介面 Exchange」。 我相信,行銷人員或技術作者將會從 IIS 團隊取得「AIE」的技術白皮書,而不知道資料庫和檔案系統之間的差異,所以會猜測它是指「Advanced Internet Explorer」的意思。

我已在其他地方看到縮寫混淆。 最近的 Windows NT 雜誌文章討論串列和平行埠,其文字中使用「COM 埠」一詞。 在「複製編輯器」通過最後通過後,且發行項已發行之後,該片語就會變成「COM (元件物件模型) 埠」。

如往常一樣,請將電子報傳遞給您認為可能會覺得有興趣的朋友。

謝謝!

-Mark

系統內部的新功能

PORTMON V3。0

Portmon 已利用其3.0 版本的主要方式來增強。 Portmon 是適用于 Windows 95/98/NT/2k 的序列和平行埠監視應用程式。 3.0 版引進:

  • 先進的篩選和輸出反白顯示功能
  • 在遠端系統上監視串列和平行埠活動的能力
  • 記錄檔和列印支援
  • 剪貼簿整合
  • 可讓您指定要記錄多少讀取/寫入資料的設定。

下載 Portmon v3.0,網址為 http://www.sysinternals.com/portmon.htm.

FROB V 1。5

Windows NT 4.0 伺服器可讓系統管理員無法控制的配量長度 (關閉 NT 執行緒排程器提供給執行緒的) 。 在 Windows 4.0 工作站上,主控台中的系統小程式具有 [效能] 索引標籤,可讓您指定前景執行緒的量子提升 (滑杆也存在於伺服器上,但不會執行任何) 。 較短的量程通常會導致應用程式對使用者輸入更具回應性,而長段則適用于專用於執行非互動式伺服器應用程式的系統。

系統內部的 Frob 程式,可讓您在工作站和伺服器上對量子長度進行相同的更精細的控制,讓您能夠將量子調整至您在系統上執行的工作負載。 不過,因為 Frob 會修改 NT 核心的內部設定,所以必須更新,才能使用每個新的 Service Pack。 Frob 1.5 版現已推出,並提供與 Service Pack 5 的相容性。

您可以下載 Frob v 1.5,網址為 http://www.sysinternals.com/ntfrob.htm.

LISTDLLS V 2。1

ListDLLs 是命令列公用程式,會顯示有關處理常式已載入之 Dll 的詳細版本資訊。 ListDLLs 會從對應至已載入 Dll 之檔案路徑的磁片檔案解壓縮版本資訊,並使用未記載的介面取得路徑。 有時,在應用程式載入時,磁片上的 DLL 檔案會更新,在這種情況下,ListDLLs 會顯示不正確的版本資訊。

ListDLLs 2.1 可辨識 DLL 的磁片和載入版本之間有何差異,並將其輸出中的差異加上旗標。 當發生差異 ListDLLs 時,會印出磁片上檔案和載入之檔案的連結時間。 可執行檔和 DLL 檔案的連結時間位於可攜式可執行檔的標頭中,也就是 NT 用來封裝它們的 (PE) 檔案格式。

下載 ListDLLs v 2.1,網址為 http://www.sysinternals.com/listdlls.htm.

新的 BOOT.INI 選項

Win2K Beta 3 引進三項新的 BOOT.INI 參數。 上述三項都與 intel 實體位址延伸模組相關 (PAE) ,這是 intel 在 Pentium Pro 引進的一項技術,可讓 x86 系統處理高達64gb 的實體記憶體。 傳統上,x86 系統只能處理4GB 的實體記憶體,但使用 PAE 和450NX 晶片組時,此屏障會中斷。 Win2K 是第一個 Microsoft 作業系統,將利用 PAE (Sun Solaris 7 和 SCO UnixWare 7 已支援 PAE) 。 其實有一個特別的 Win2K 核心組建,名為 ntkrnlpa.exe,其中包含內建的支援。 根據系統是否能夠定址超過 4 GB 的記憶體,以及是否有該數量,NTLDR (Win2K 開機載入器)負責載入標準核心、ntoskrnl.exe 或已啟用 PAE 的核心。

這三個新的 BOOT.INI 交換器的目標是要將設備磁碟機的處理常式,這些驅動程式是設計用來處理具有超過 4GB) 的大型記憶體系統 (系統。 第一個(/PAE)讓 NTLDR 載入 PAE 版本的核心,即使電腦目前沒有超過4GB 的記憶體也一樣。 第二個/NOPAE 會強制 NTLDR 載入標準核心。 最後,/NOLOWMEM 參數的 Win2K 核心僅使用4GB 以上的實體記憶體。 這會強制由 Win2K 使用的所有實體位址要求超過32個位來代表它們,進而執行大型實體位址的設備磁碟機處理。

Find the most complete list of BOOT.INI switches available at http://www.sysinternals.com/bootini.htm.

PSLIST V1。0

大部分的 UNIX 類別都會隨附一個稱為 ' ps ' 的命令列工具,供系統管理員用來列出處理常式 CPU 和記憶體統計資料。 NT 具有對等的 GUI 工具工作管理員,但 NT 沒有任何命令列版本。 Windows NT 資源套件包含兩個命令列的 ps' 工具,pstat 和 pumon。 PsList 會顯示 pstat 和 pumon 所提供的資訊組合,但其功能不是資源套件工具的功能:您可以使用 PsList 來查詢遠端系統上的進程資訊。

PsList 採用數個旗標,可讓您查看進程 CPU、記憶體或執行緒統計資料,以及可讓您指定不同的 NT 電腦以進行查詢的參數。 PsList 使用 NT 的內建效能計數器來取得它所顯示的資訊,並且可在 NT 3.51、4.0 和 Win2K 上運作。

下載 PsList,網址為 http://www.sysinternals.com/pslist.htm.

八月 "NT 內部"

在8月的「NT 內部」專欄中,Windows NT 雜誌的「內部」是「在 Win2K 可靠性增強功能中 這一系列的第一篇將說明可協助系統管理員在系統變成無法開機之後讓系統順利進行的 Win2K 功能。 這些包括「安全模式」開機和修復主控台。

自8月起,Windows NT 雜誌文章的線上版本只可供訂閱者存取,而文章則張貼在每個新問題的線上。 如果您尚未訂閱,請前往的訂用帳戶連結 http://www.sysinternals.com/publ.htm 取得系統內部訂用帳戶折扣。

不是-新的東西

如果您還沒有害怕朋友或兩個,請查看系統內部的藍屏螢幕保護裝置。 2.0 版會在 Win2K 系統上執行時,顯示 (BSOD) 和 Win2K 啟動順序的 Win2K 的 Win2K 版本。 我很榮幸地說,在 Ziff Davis 的軟體程式庫中,最高評等的五顆星是最高評等。

下載藍屏螢幕保護裝置2.0 版,網址為 http://www.sysinternals.com/bluescrn.htm.

內部新聞

更正 RE:系統檔案保護

我在前一封電子報中說過,Win2K's 系統檔案保護 (SFP) 可讓應用程式(例如 Service Pack) (SPs) 和熱修復,藉由呼叫名為 SfcTerminateWatcherThread 的函式 SFP 匯出來更新系統檔案。 雖然 SFP 會匯出該函式,但 SPs 和熱修正在更新系統檔案時不會使用該函式。 相反地,它們可以更新系統檔案,因為它們會將現有的系統檔案取代為 Microsoft 數位簽署的檔案。 SFP 會偵測更新,但可讓它們繼續進行,因為 SFP 會驗證新的檔案是否經過數位簽署。 關於 sfp 涵蓋範圍的另一項更正是在 Win2K Beta 3 之後,Microsoft 將 SFP 的名稱變更為 Windows 檔案保護 (WFP) 。

請務必查看 Windows NT 雜誌的九月問題,您可以在其中找到我的 NT 內部資料行「內部的 Win2K 可靠性增強功能,第2部分」,其中詳細說明 WFP 和 Microsoft 數位檔案的簽章。

已發行的 WIN2K RC1 DDK

您可以 (DDK) 立即下載 Microsoft 的設備磁碟機開發工具組的 Win2K RC1 版 http://www.microsoft.com/ddk/ddk2kRC1.htm. 您可以免費下載套件,也可以流覽線上檔。

WIN2K AWE API

我已在本電子報的簡介中提及 AWE API,並參考 Microsoft 的網頁,您可以在這裡深入瞭解: http://www.microsoft.com/hwdev/NTDRIVERS/AWE.htm. 在具有超過 4 GB 實體記憶體的系統上,Win2K's 具備 PAE 能力的核心 ntkrnlpa.exe 能夠利用所有電腦的實體記憶體,而不需要修改應用程式。 Win2K Advanced Server 最多可使用8GB 的實體記憶體,而 Win2K Datacenter Server 最多會使用64GB 的實體記憶體。

雖然大型記憶體系統上的每個應用程式都有最多2GB 的虛擬記憶體可供處置 (3GB 如果) 指定/3GB BOOT.INI 參數,則指派給所有執行中應用程式的實體記憶體總和可以等於實體記憶體的數量。 此外,在 Win2K 上,檔案系統快取被指派最多960MB 的虛擬記憶體,但是快取的檔案資料量可能會是指派給快取的較大實體記憶體可能超過960MB。

AWE API 提供個別應用程式直接控制實體記憶體的能力,以及其虛擬位址空間大小所隱含的2GB 或3GB 限制。 AWE API 背後的基本概念是,應用程式會將其虛擬位址空間的一部分指定為實體記憶體中的「視窗」。 然後,它會配置實體記憶體的區塊。 應用程式可以配置的實體記憶體數量上限,基本上是系統上的實體記憶體數量減去核心、設備磁碟機和其他應用程式使用 AWE API 所配置的非分頁式記憶體。 當應用程式想要存取它所配置的部分實體記憶體時,它會將記憶體對應至其虛擬位址視窗。 因此,應用程式可以使用指定的對應來存取的實體記憶體數量,會受限於它所保留的視窗大小。 最後,當應用程式使用實體記憶體完成時,只會釋出記憶體並關閉 (解除配置) 它所建立的虛擬位址視窗。

與這些動作對應的 Api 會由 kernel32.dll 匯出,如下所示:

  • 應用程式會使用 MEM_PHYSICAL 和 MEM_RESERVE 旗標來呼叫 VirtualAlloc,以建立虛擬位址視窗
  • AllocateUserPhysicalPages 配置應用程式的實體記憶體
  • 應用程式會使用 MapUserPhysicalPages 將部分的實體記憶體對應至其視窗
  • FreeUserPhysicalPages 釋出應用程式所配置的實體記憶體

應用程式直接操控多 GB 記憶體的能力,是 boon 到記憶體密集的程式,例如資料庫伺服器、電子郵件伺服器、網頁伺服器、財務分析和科學應用程式。

雖然只有特定版本的 Win2K 才允許使用超過4GB 的實體記憶體,但所有版本都有 AWE API。 這表示,在具有 4 gb 記憶體的 Win2K Professional 系統上,AWE API 仍可提供大量記憶體的應用程式,讓您能夠在實體記憶體中管理2或3gb 以上的資料。

AWE API 具有對等的核心模式介面,kernel32.dll 以使用者模式 Api 作為基礎。 驅動程式可以使用 MmAllocatePagesForMdl (這是與 AllocateUserPhysicalPages 相同的核心模式)來配置實體記憶體。 此函式在 Win2K DDK ntddk .h 檔案中有其原型,但未記載。 其原型為:

NTKERNELAPI
PMDL
MmAllocatePagesForMdl (
    IN PHYSICAL_ADDRESS LowAddress,
    IN PHYSICAL_ADDRESS HighAddress,
    IN PHYSICAL_ADDRESS SkipBytes,
    IN ULONG TotalBytes
    );

LowAddress 是要配置且最高 HighAddress 的可接受實體位址。 SkipBytes 是核心應維持在其上方的可用位元組數 LowAddress ,以及其開始配置實體記憶體的位址。 TotalBytes 這是驅動程式想要配置的位元組數目。 如果非零描述核心已提供驅動程式的實體記憶體,則函式的傳回值是一種 MDL。 若要存取記憶體的部分,驅動程式必須從傳回的 MDL 建立子 MDLs,以描述實體記憶體的適當部分。 當驅動程式想要存取子 MDL 所描述的實體記憶體時,它必須使用來對應子 MDL MmGetSystemAddressForMdlSafe

驅動程式會使用對 MmFreePagesFromMdl 等的核心模式 FreeUserPhysicalPages ,來釋放已配置的實體記憶體 MmAllocatePagesForMdl 。 這個函式也是 ntddk 中的原型:

NTKERNELAPI
VOID
MmFreePagesFromMdl (
    IN PMDL MemoryDescriptorList
    );

請注意,驅動程式會負責解除配置透過呼叫 ExFreePool 所傳回的 MDL MmAllocatePagesForMdl ,因為 MmFreePagesFromMdl 並不會釋放 mdl。

WINDEV ' 99 西部

適用于 Windows 開發人員之頂級會議的 1999 West Coast 版很快就會達到。 WinDev ' 99 西部將于4月13-18 日于加州聖克拉拉 Marriot。 在 Windows 開發中有許多龐大的名稱,包括 jeff Richter、jeff Prosise 和 Don Box。 在設備磁碟機的曲目中,我將會有曉明的 Hanrahan 和 Brian Catlin。我的簡報包含 NT 內部的一長時間教學課程,以及撰寫 Windows NT/2K 檔案系統驅動程式,以及一種先進的設備磁碟機開發問題。 說好!

造訪 WinDev 西部網頁,網址為 http://www.butrain.bu.edu/windev/.

即將推出的內容

NT 4.0 SP4 DISKEDIT

Windows NT 4.0 Service Pack 4 隨附在 CD 上的好用公用程式,許多人可能還沒注意到: DiskEdit。 而且這是不知道的:此工具不會安裝在硬碟上,也不會提供任何檔。 基本上,它是 Microsoft 檔案系統開發人員在內部使用的工具,不小心寄送到 CD 上。 DiskEdit 是一種寶藏,適用于已錯過 Windows NT 的諾頓公用程式磁片編輯類型工具,或只想要探索 NTFS 和 FAT 磁片資料結構的人。 下一次我將提供有關如何使用 DiskEdit 的一些指示。


感謝您閱讀系統內部電子報。

依 ottoh 在1999年8月5日星期四的 7:13 PM 發行

[電子報封存 ^][ 磁片區1,數位 3][磁片區1,第5號 ]

[電子報封存 ^][ 磁片區1,數位 3][磁片區1,第5號 ]

系統內部電子報第1個,第4篇

http://www.sysinternals.com
著作權 (C) 1999 Mark Russinovich