[Archiv bulletinů ^] [< Svazek 1, číslo 3] [Svazek 1, číslo 5 >]

The Systems Internals Newsletter volume 1, Number 4

http://www.sysinternals.com
Copyright (C) 1999 Mark Russinovich


5. srpna 1999 – V tomto problému:

  1. CO JE NOVÉHO V INTERNÍCH SYSTÉMECH

    • Portmon v3.0
    • Frob v1.5
    • ListDLLs v2.1
    • Nové SPUŠTĚNÍ. Možnosti INI
    • PsList v1.0
    • Srpen "NT Internals"
    • Ne tak nové věci
  2. INTERNÍ ZPRÁVY

    • Oprava re: Ochrana systémových souborů
    • Vydáno win2K RC1 DDK
    • Rozhraní API Win2K AWE
    • WinDev (ročník '99 West)
  3. CO SE CHYSTÁ

    • Nástroj SP4 Undocumented DiskEdit

SPONZOR: WINTERNALS SOFTWARE

Bulletin Internals Systems je sponzorován společností Winternals Software na webu na adrese http://www.winternals.com. Winternals Software je přední vývojář a poskytovatel pokročilých systémů nástrojů pro systém Windows NT/2K. Produkty Winternals Software zahrnují FAT32 pro systém Windows NT 4.0, ERD Commander (funkce spouštěcího disku pro systém Windows NT) a NTRecover.

Winternals Software oznamuje vydání nejnovějšího nástroje pro obnovení systému, Remote Recover. Vzdálené obnovení umožňuje přístup k jednotkám nebootovatelného počítače prostřednictvím protokolu TCP/IP odkudkoli ve vašem podniku. Ušetřete čas a podporu dolarů tím, že vzdáleně opravíte ovladače, systém souborů a problémy s konfigurací, které udržují systémy NT nebo Win9x off-line. Stáhněte si bezplatnou zkušební verzi jen pro čtení na adrese http://www.sysinternals.com/rrecover.htma kupte si verzi pro čtení a zápis na adrese http://www.winternals.com.


Dobrý den,

Vítejte ve čtvrtém vydání bulletinu Systems Internals. Bulletin má aktuálně 7000 odběratelů.

V posledním bulletinu jsem uvedl, že bych pokrýval rozhraní API AWE systému Windows 2000 (Win2K). Ukázal jsem, že AWE je zkratka "Address Windowing Extensions" (pro nováčky do světa Windows, ROZHRANÍ API je zkratka pro "Aplikační programovací rozhraní"). Tato stránka na webu microsoftu pro vývojáře hardwaru ji popisuje takto: http://www.microsoft.com/hwdev/NTDRIVERS/AWE.htm. Čtenář Laxmikant Gunda mě však odkazoval na jinou adresu URL na webu Microsoftu, http://www.microsoft.com/windows/server/News/fromMS/intelpae.aspkde AWE je určena rozhraní API "Advanced Windowing Extensions". Jasně, "Adresa" dává větší smysl než "Upřesnit" v kontextu rozhraní API (který popíšem později v tomto bulletinu), takže je to můj odhad, že někteří marketingový spisovatel měli své oči hrát trik na ně, protože strávili suroviny technické materiály pro stránku zpráv.

V technickém pokrytí Microsoftu k tomuto zmatení došlo dříve. V poslední době instalační program pro beta 3 vydání Win2K Installable File Systems (IFS) Kit oznámil sám na úvodní obrazovce jako nastavení "Internal File Systems Kit". "I" v IFS vždy stála za "Instalovatelný" a "Interní" zde nemá smysl (pokud omylem nevyvolají neveřejnou verzi sady), takže hádám, že jeho další případ něco, co se v překladu zkazí (nebo instalační kód, který nemá člena systému souborů rukou a používá jejich nejlepší odhad).

Jaký je můj bod? Ve skutečnosti nemám jeden, jiný než dříve nebo později budeme mít zkratku přetečení, kde vývojáři a marketingoví lidé začnou neúmyslně používat stejné třípísmenné zkratky k popisu různých technologií. Někdo ve skupině IIS (Internet Information Server) microsoftu pojmenuje nové rozhraní API s názvem AIE ("Advanced ISAPI Extensions" – ISAPI zkratka pro internetové rozhraní API) a někdo ve skupině MTS (Microsoft Transaction Server) přijde s jinou skupinou AIE, Atomic Interface Exchange. A jsem si jistý, že jeden den marketingový člověk nebo technický spisovatel bude předán technický dokument od týmu SLUŽBY IIS, který odkazuje na "AIE", a nevědí rozdíl mezi databází a systémem souborů, bude hádat, že to znamená "Advanced Internet Explorer".

Taky jsem viděla nejasnosti zkratek na jiných místech. Nedávný článek časopisu systém Windows NT Magazine, který se zabývá sériovými a paralelními porty, použil termín "port COM" v jeho textu. Poté, co editor kopírování prošel posledním průchodem a článek byl publikován frázi se stal portem COM (Component Object Model).

Jako obvykle prosím předejte bulletin přátelům, které si myslíte, že by to mohlo být zajímavé.

Díky!

-Známka

CO JE NOVÉHO V INTERNÍCH SYSTÉMECH

PORTMON V3.0

Portmon byl vylepšen hlavními způsoby s vydáním verze 3.0. Portmon je sériová a paralelní aplikace pro monitorování portů pro Systém Windows 95/98/NT/2K. Verze 3.0 představuje:

  • pokročilé možnosti filtrování a zvýraznění výstupu
  • možnost monitorovat sériovou a paralelní aktivitu portů na vzdálených systémech
  • Podpora zápisu do souboru a tisku
  • integrace schránky
  • Nastavení, které umožňuje určit, kolik dat pro čtení a zápis do protokolu

Stáhnout Portmon v3.0 na adrese http://www.sysinternals.com/portmon.htm.

FROB V1.5

systém Windows NT 4.0 Server poskytuje správcům možnost řídit délky kvantových kvantových (otáček), které plánovač vláken NT poskytuje vlákenm. Na pracovní stanici s Windows 4.0 má v systému Ovládací panely kartu Výkon s posuvníkem, který umožňuje určit kvantové zvýšení pro vlákna popředí (posuvník je také k dispozici na serveru, ale nedělá nic). Kratší kvantová kvanta obecně vedou k aplikacím, které reagují na uživatelský vstup, zatímco dlouhé kvanty jsou vhodné pro systémy vyhrazené pro spouštění neinteraktivních serverových aplikací.

Program Frob z interních systémů poskytuje stejný jemně odstupňovaný stupeň kontroly nad kvantovými délkami na pracovní stanici i na serveru, což vám umožní ladit kvantové výpočty s úlohou, kterou spouštíte v systému. Vzhledem k tomu, že Frob upravuje interní nastavení pro jádro NT, musí být aktualizována tak, aby fungovala s každou novou aktualizací Service Pack. Frob v1.5 je nyní k dispozici a poskytuje kompatibilitu s aktualizací Service Pack 5.

Frob v1.5 si můžete stáhnout na adrese http://www.sysinternals.com/ntfrob.htm.

LISTDLLS V2.1

ListDLLs je nástroj příkazového řádku, který zobrazuje podrobné informace o verzi knihoven DLL, které byly načteny procesy. ListDLLs extrahuje informace o verzi ze souborů na disku, které odpovídají cestám k souborům načtených knihoven DLL, a získá názvy cest pomocí nezdokumentovaných rozhraní. Někdy je soubor knihovny DLL na disku aktualizován poté, co je aplikace již načtena, v takovém případě ListDLLs zobrazuje nesprávné informace o verzi.

ListDLLs v2.1 rozpozná, když je rozdíl mezi on-diskem a načtenými verzemi knihovny DLL, označí rozdíl ve výstupu. Pokud dojde k nesrovnalostem v listDLLs, vypíše časy propojení souboru na disku a načteného souboru. Časy propojení spustitelných souborů a souborů DLL jsou umístěny v hlavičce formátu souboru PORTABLE Spustitelný soubor (PE), který NT používá k jejich zabalení.

Stáhnout ListDLLs v2.1 na adrese http://www.sysinternals.com/listdlls.htm.

NOVÉ SPUŠTĚNÍ. MOŽNOSTI INI

Win2K Beta 3 zavádí tři nové BOOT. Přepínače INI. Všechny tři souvisí s rozšířeními fyzických adres Intel (PAE), technologií Intel zavedenou s Pentium Pro, která umožňuje systémům x86 adresovat až 64 GB fyzické paměti. Systémy x86 mohou tradičně adresovat pouze 4 GB fyzické paměti, ale s PAE a čipovou sadou 450NX je tato bariéra poškozena. Win2K je první operační systém Microsoftu, který bude využívat PAE (Sun Solaris 7 a SCO UnixWare 7 již podporují PAE). Ve skutečnosti existuje speciální sestavení jádra Win2K s názvem ntkrnlpa.exe, které má integrovanou podporu. NTLDR, spouštěcí zavaděč Win2K, zodpovídá za načtení standardního jádra, ntoskrnl.exe nebo pae povoleného, na základě toho, jestli systém dokáže adresovat více než 4 GB paměti a má tuto velikost.

Všechny tři nové BOOT. Přepínače INI jsou zaměřené na ladění ovladačů zařízení navržených pro práci s velkými paměťovými systémy (systémy s více než 4 GB). První /PAE má NTLDR načtení paE-verze jádra, i když počítač nemá více než 4 GB paměti. Druhá hodnota /NOPAE vynutí NTLDR načíst standardní jádro. A konečně, přepínač /NOLOWMEM má jádro Win2K použít pouze fyzickou paměť nad 4 GB. Tím se vynutí, aby všechny fyzické adresy používané win2K vyžadovaly k jejich reprezentaci více než 32 bitů, a tím se procvičí zpracování ovladačů zařízení s velkými fyzickými adresami.

Najděte nejúplnější seznam BOOT. Přepínače INI dostupné na adrese http://www.sysinternals.com/bootini.htm.

PSLIST V1.0

Většina variant systému UNIX se dodává pomocí nástroje příkazového řádku s názvem ps, který správci používají k výpisu statistik procesoru a paměti. NT má ekvivalentní nástroj založený na grafickém uživatelském rozhraní, Správce úloh, ale NT se dodává bez verze příkazového řádku. Sada systém Windows NT Resource Kit obsahuje dva nástroje podobné příkazovému řádku, pstat a pumon. Nástroj PsList zobrazuje kombinaci informací dostupných s pstatem a pumonem, ale má schopnost, kterou žádný nástroj Resource Kit nemá: k dotazování informací o zpracování informací ve vzdáleném systému můžete použít PsList.

Nástroj PsList má několik příznaků, které umožňují zobrazit statistiky procesoru, paměti nebo vlákna a přepínač, který umožňuje zadat jiný počítač NT, který se má dotazovat. Nástroj PsList používá integrované čítače výkonu NT k získání informací, které ukazuje, a funguje na NT 3.51, 4.0 a Win2K.

Stáhnout PsList na adrese http://www.sysinternals.com/pslist.htm.

SRPEN "NT INTERNALS"

Můj "NT Internals" sloupec v srpnu vydání systém Windows NT Magazine je "Inside Win2K Reliability Enhancements, Part 1". Toto první z třídílné série popisuje funkce Win2K zaměřené na pomoc správcům, kteří pojdou na systém, jakmile se stane nebooovatelným. Patří sem spuštění "nouzového režimu" a konzola pro zotavení.

Od začátku srpna jsou on-line verze článků systém Windows NT Magazine přístupné pouze pro předplatitele a články se publikují online s každým novým problémem. Pokud jste se ještě nepřihlásili k odběru, projděte si prosím odkaz na http://www.sysinternals.com/publ.htm předplatné a získejte slevu za předplatné Interní systémy.

NE TAK NOVÉ VĚCI

Pokud jste se toho kamaráda nebo dva už nedozvědili, podívejte se na spořič obrazovky Bluescreen Systems Internals. Verze 2.0 zobrazí verzi Win2K blue screen of Death (BSOD) a spouštěcí sekvenci Win2K při spuštění v systému Win2K. Jsem hrdý na to, že Bluescreen Screen Saver nedávno získal pět hvězdiček, nejvyšší možné hodnocení, od Ziff-Davis' Software Library.

Download Bluescreen Screen Saver v2.0 at http://www.sysinternals.com/bluescrn.htm.

INTERNÍ ZPRÁVY

OPRAVA RE: OCHRANA SYSTÉMOVÝCH SOUBORŮ

V posledním bulletinu jsem uvedl, že Systémová ochrana systému Win2K (SFP) umožňuje aplikacím, jako jsou aktualizace Service Pack (SPs) a opravy oprav aktualizací systémových souborů voláním funkce SFP exportuje s názvem SfcTerminateWatcherThread. I když SFP tuto funkci exportuje, adresy SPS a opravy za provozu tuto funkci při aktualizaci systémových souborů nepoužívají. Místo toho můžou aktualizovat systémové soubory, protože nahrazují stávající systémové soubory těmi, které jsou digitálně podepsané Společností Microsoft. SFP zjistí aktualizace, ale umožňuje je držet, protože SFP ověřuje, že nové soubory jsou digitálně podepsané. Další oprava týkající se pokrytí SFP je, že po Win2K Beta 3 Microsoft změnil název SFP na Windows File Protection (WFP).

Nezapomeňte se podívat na září problém systém Windows NT Magazine, kde najdete můj NT Internals sloupec "Inside Win2K Reliability Enhancements, Part 2", který podrobně popisuje WFP a Microsoft digital file signing.

VYDÁNO WIN2K RC1 DDK

Nyní si můžete stáhnout verzi Win2K RC1 sady Microsoft Device Driver Development Kit (DDK) http://www.microsoft.com/ddk/ddk2kRC1.htm. Sadu si můžete stáhnout zdarma nebo si projít dokumentaci online.

ROZHRANÍ API WIN2K AWE

Už jsem zmínil rozhraní API AWE v úvodu k tomuto bulletinu a odkazoval na webovou stránku v Microsoftu, kde se můžete dozvědět více: http://www.microsoft.com/hwdev/NTDRIVERS/AWE.htm. V systémech s více než 4 GB fyzické paměti je jádro podporující PAE win2K – ntkrnlpa.exe – schopné využívat výhod veškeré fyzické paměti počítače beze změny aplikací. Advanced Server Win2K bude používat až 8 GB fyzické paměti a Server Win2K Datacenter bude používat až 64 GB fyzické paměti.

Zatímco každá aplikace ve velkém paměťovém systému má k dispozici maximálně 2 GB virtuální paměti (3 GB, pokud /3 GB BOOT. Je zadán přepínač INI), součet fyzické paměti přiřazené všem spuštěným aplikacím se může rovnat množství fyzické paměti. Kromě toho v systému Win2K je mezipaměť systému souborů přiřazena maximálně 960 MB virtuální paměti, ale množství dat souboru v mezipaměti může být mnohem větší fyzická paměť přiřazená k mezipaměti může překročit 960 MB.

Rozhraní API AWE poskytuje jednotlivým aplikacím možnost přímo řídit fyzickou paměť a více než limit 2 GB nebo 3 GB vyplývající z velikosti virtuálního adresního prostoru. Základní myšlenkou rozhraní AWE API je, že aplikace označuje část svého virtuálního adresního prostoru jako "okno" do fyzické paměti. Pak přidělí blok fyzické paměti. Horní limit množství fyzické paměti, kterou může aplikace přidělit, je v podstatě množství fyzické paměti v systému minus jakékoli nestráňové paměti, které již bylo přiděleno jádrem, ovladači zařízení a dalšími aplikacemi pomocí rozhraní AWE API. Když chce aplikace získat přístup k části fyzické paměti, kterou přidělila, mapuje paměť do okna virtuální adresy. Velikost fyzické paměti, ke které má aplikace přístup s daným mapováním, je proto omezená velikostí okna, které si rezervovalo. Nakonec, když se aplikace dokončí s fyzickou pamětí, jednoduše uvolní paměť a zavře (uvolní) okno virtuální adresy, které vytvořil.

Rozhraní API, která odpovídají těmto akcím, se exportují kernel32.dll a jsou následující:

  • Aplikace volá VirtualAlloc s příznakem MEM_PHYSICAL a MEM_RESERVE k vytvoření okna virtuální adresy.
  • AllocateUserPhysicalPages přiděluje aplikaci fyzickou paměť.
  • Aplikace pomocí MapUserPhysicalPages mapuje části fyzické paměti do okna.
  • FreeUserPhysicalPages uvolní fyzickou paměť přidělenou aplikaci.

Schopnost aplikací přímo manipulovat s více GB paměti je logická hodnota pro programy náročné na paměť, jako jsou databázové servery, e-mailové servery, webové servery, finanční analýza a vědecké aplikace.

I když je možnost používat více než 4 GB fyzické paměti povolená pouze v určitých verzích Win2K, rozhraní API AWE je k dispozici ve všech verzích. To znamená, že v systému Win2K Professional s 4 GB paměti, například rozhraní API AWE stále poskytuje aplikacím náročným na paměť schopnost spravovat více než 2 nebo 3 GB dat ve fyzické paměti.

Rozhraní API AWE má ekvivalentní rozhraní režimu jádra, na kterých kernel32.dll za základ rozhraní API uživatelského režimu. Ovladač může přidělit fyzickou paměť pomocí MmAllocatePagesForMdl, což je ekvivalentem režimu jádra AllocateUserPhysicalPages. Tato funkce má svůj prototyp v souboru Win2K DDK ntddk.h, ale není v dokumentu. Jeho prototyp je:

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

LowAddress je nejnižší přijatelná fyzická adresa, kterou chce přidělit a HighAddress je nejvyšší. SkipBytes je počet bajtů, které by jádro mělo zůstat volné nad LowAddress a pod adresou, na které začne přidělovat fyzickou paměť. TotalBytes je počet bajtů, které chce řidič přidělit. Návratová hodnota funkce je MDL, která v případě, že nenulová hodnota popisuje fyzickou paměť, kterou jádro poskytlo ovladači. Aby ovladač měl přístup k částem paměti, musí z vráceného MDL vytvořit dílčí knihovny MDLS, které popisují příslušné části fyzické paměti. Pokud ovladač chce získat přístup k fyzické paměti popsané v podmnožině MDL, musí mapovat dílčí MDL pomocí MmGetSystemAddressForMdlSafe.

Ovladače používají MmFreePagesFromMdlekvivalent FreeUserPhysicalPagesrežimu jádra k uvolnění fyzické paměti, která MmAllocatePagesForMdlbyla přidělena . Tato funkce je také prototypována v ntddk.h:

NTKERNELAPI
VOID
MmFreePagesFromMdl (
    IN PMDL MemoryDescriptorList
    );

Všimněte si, že ovladač zodpovídá za uvolnění MDL vráceného voláním MmAllocatePagesForMdl ExFreePool, protože MmFreePagesFromMdl neuvolní MDL.

WINDEV (ROČNÍK '99 ZÁPAD)

Edice West Coast z roku 1999 první konference pro vývojáře windows se rychle blíží. WinDev (ročník '99 West) probíhá 13. září 13-18 na Santa Clara Marriot v Kalifornii. Řada velkých jmen ve vývoji pro Windows hovoří, včetně Jeffa Richtera, Jeffa Prosise a Don Boxu. Budu tam s Jamie Hanrahanem a Brianem Catlinem ve stopě řidiče zařízení. Moje prezentace zahrnují každodenní kurz na interních systémech NT, stejně jako jeden při psaní ovladačů systému souborů systém Windows NT/2K a jeden v pokročilých problémech s vývojem ovladačů zařízení. Pojďte se pozdravit!

Navštivte webovou stránku WinDev West na adrese http://www.butrain.bu.edu/windev/.

CO SE CHYSTÁ

NT 4.0 SP4 DISKEDIT

systém Windows NT Service Pack 4.0 byla dodávána s nifty utility na jeho CD, že mnoho lidí si možná nevšimli: DiskEdit. A není divu: nástroj se nenainstaluje na pevný disk a dodává se bez dokumentace. Je téměř jisté, že se jedná o nástroj používaný interně vývojáři systému souborů Microsoftu, kteří omylem odeslali na disk CD. DiskEdit je poklad pro ty, kteří vynechali nástroj Norton Utilities Disk Edit-type pro systém Windows NT, nebo jen chtějí prozkoumat datové struktury NTFS a FAT na disku. Až příště vám dám nějaké pokyny, jak používat DiskEdit.


Děkujeme vám za přečtení bulletinu Internals Systems.

Publikováno ve čtvrtek, 5. srpna 1999 199 13:13 od ottoh

[Archiv bulletinů ^] [< Svazek 1, číslo 3] [Svazek 1, číslo 5 >]