[Archiv bulletinů ^] [< Svazek 3, číslo 2] [Svazek 4, číslo 2 >]
The Systems Internals Bulletin volume 4, Number 1
http://www.sysinternals.com
Copyright (C) 2002 Mark Russinovich
7. ledna 2002 – V tomto problému:
ÚVODNÍK
CO JE NOVÉHO VE SPOLEČNOSTI SYSINTERNALS
- Synchronizace verze 2.1
- DiskExt v1.0
- NTFSDOS v3.02
- PsSuspend v1.2
- PsLogList v2.2
- PsInfo v1.2
- PsExec v1.3
- BgInfo v2.0
- Process Explorer v5.2
- Filemon v4.34 pro Win64/Itanium
- Filemon v1.1 pro Linux
- Sysinternals ve společnosti Microsoft
INTERNÍ INFORMACE
- Interaktivní DVD ve Windows 2000
- Uvnitř Windows 2000/XP: Seminář
- Soubory manifestu systému Windows XP
- Co je v X-Boxu?
- Náhodné statistiky systému Windows XP
- Nový vylepšený windbg
CO SE CHYSTÁ
- Profilování procesu spouštění systému Windows XP pomocí BootVis
SPONZOR: WINTERNALS SOFTWARE
Bulletin Sysinternals 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émových nástrojů pro systém Windows NT/2K/XP. Jejich produkty zahrnují ocenění Administrator's Pak, ERD Commander 2000 a NTFSDOS Professional Edition.
Winternals je hrdý na oznámení Defrag Commander verze 1.32, nejrychlejší a nejdrobnější enterprise-defragmentátor k dispozici. Nyní můžete spravovat plány defragmentace v celém systému Windows z jednoduchého modulu snapin konzoly MMC , aniž byste museli instalovat jakýkoli klientský software do systémů NT nebo Windows 2000. 10 systémová licence je k dispozici pro online nákup pouze 169 USD a jsou k dispozici agresivní slevy za množství. Navštivte http://www.winternals.com/39 další informace nebo si můžete stáhnout a používat zdarma po dobu 30 dnů.
Dobrý den,
Vítejte v bulletinu Sysinternals. Bulletin má aktuálně 34 000 odběratelů. Předejte prosím bulletin přátelům, o které si myslíte, že by vás mohl zajímat jeho obsah.
Windows XP, vlajkový operační systém Microsoftu, byl na konci srpna "zlatý". Windows XP je nejnovější verze systém Windows NT linie, která začala s systém Windows NT 3.1 v roce 1993 a vychází z technologických vývoje a inovací v posledních osmi letech. Operační systém rozhodně představuje špičkovou výhodu z hlediska funkčnosti a funkcí, z nichž mnoho z nich David Solomon a já studovali a napsali v prosincovém článku MSDN Magazine "Windows XP: Vylepšení jádra Vytvořit robustnější, výkonnější a škálovatelný operační systém" ( http://www.msdn.microsoft.com/msdnmag/issues/01/12/XPKernel/XPKernel.asp ).
A s miliony nainstalovaných systémů systém Windows NT a Windows 2000 a stovky tisíc nebo milionů beta testerů byste očekávali, že Microsoft bude mít vyladěný, vyladěný a opravený systém Windows XP, aby běžel prakticky bezchybně. Koneckonců, jejich reklamy tout XP jako "virtually crash proof". Určitě jsem nikdy neočekával, že narazí na problémy - ale byl jsem špatně.
Systém Windows 2000 Professional byl zachován jako operační systém v primárním systému v průběhu beta a release candidate cyklu XP. Naučil jsem se z vývojového cyklu Systému Windows 2000, že dokonce i uvolnění kandidáti opustí ladicí cruft po upgradu na poslední bity. Když jsem obdržel build 2600, poslední vydání z beta programu jsem se rozhodl, že je čas se přesunout. Průvodce kompatibilitou XP zjistil pouze menší problémy v systému Windows 2000 (jako je verze Partition Magic I nainstalována nepochopil XP NTFS), takže jsem pokračoval v cestě upgradu.
Po spuštění v textovém režimu a instalaci instalačních souborů na pevný disk se instalační program XP restartoval do částečně upgradované instalace systému Windows XP pro dokončení upgradu v grafickém režimu. V tomto režimu zadáte nastavení národního prostředí a časového pásma, instalační program provede detekci zařízení a nakonfigurujete síť. Věci proběhly hladce, dokud se fáze Instalace zařízení nesrovná. Když indikátor průběhu dosáhl přibližně 2/3rdů a nastavení oznámilo, že zbývající čas byl 34 minut, instalační program přestal být produktivní. "XP je nejlepší věc, která se na vás kdy napadá" bannery pokračovaly střídat a malé blikající tlačítka v pravém dolním rohu pokračovaly otáčet, ale dokonce i dvě hodiny později jsem měl ještě 34 minut jít jít.
To je, když jsem se začal bát. Několik zátěsných hodin pokusu o každou věc, kterou jsem mohl dostat za problém, včetně restartování, aby instalační program zkusil znovu, aktualizace SYSTÉMU BIOS, kontrola MS Knowledge Base (nic), nepřinesl žádný výsledek. Konečně jsem dal, poškrábal polovinu Windows 2000-half Windows XP instalace a provedl novou instalaci XP, strávit lepší část dne přeinstalace pár desítek aplikací, které používám.
Věci s mou novou instalací XP byly dobré. Neříkej, že jsem nebyl zklamaný nevysvětlovanými chybové ukončení, gui flakiness a jinak podivné systémové chování, ale alespoň jsem mohl být produktivní. Věděl jsem, že beta program CD je zkušební CD, a že budu muset upgradovat na plnou verzi, když jsem ho obdržel prostřednictvím MSDN, ale očekával jsem, že to nebude problém.
Přesně 120 dní po mém přerušeném upgradu (časový limit, ne náhodou, zkušební verze) jsem zažil neuvěřitelný pocit déjà vu. Zkušební upgrade na plný upgrade ve skutečnosti funguje jako úplný upgrade a (odhadli jste to) s 34 minutami a 2/3rdy cesty do instalace zařízení přestalo pokračovat. Opět, můj systém byl uprostřed-nastavení netherworld, zcela nepoužitelný. Po vyzkoušení všech věcí, které jsem zkusil 120 dní dříve, jsem rezignoval na další plnou přeinstalaci.
Pak jsem narazil na jiný problém: MSDN XP CD není spouštěcí, protože má jak Home, tak Professional podadresáře. Vzhledem k tomu, že mám jenom jednu instalaci operačního systému (ten, který byl poškozen instalačním programem), nemůžu spustit instalační program Win32 z disku CD MSDN, a protože můj systém je jen NTFS, nemůžu spustit instalační program SYSTÉMU DOS. Ani disk CD neposkytuje způsob, jak nastavit spouštěcí diskety instalačního programu. Vzpomněl jsem si, že msdn odběratel downloads má ISO image Systému Windows XP Professional, takže jsem šel dostat to (pomocí jiného systému) vypalovat spouštěcí CD, ale ten řádek útoku byl thwart "Chyba spuštění Správce přenosu souborů. Zkuste to znovu později." chybová zpráva z webu MSDN.
Jak jsem se dostal z tohohle bordelu? Nahradil jsem podregistry registru přerušeného upgradu s těmi ze zálohy, kterou jsem udělal před několika týdny. I když jsem se nemohl přihlásit k systému po restartování, protože aktivace produktu Windows říkala, že nemohla ověřit moji licenci, mohl jsem spustit v nouzovém režimu a spustit instalační program MSDN CD odsud. Právě jsem dokončil přeinstalaci aplikací a jsem schopen být znovu produktivní.
Co najdu naprosto úžasné o tom, co se stalo se mnou (dvakrát) je, že Instalační program systému Windows XP nemá základní bezpečnostní mechanismy, které byly přítomny v instalačních programech systému Windows 9x od systému Windows 95. Jako Windows 95, 98 nebo Me Instalační program spustí zaznamenává průběh ukazuje na disk. Pokud je instalace neočekávaně přerušena, restartuje se tam, kde skončila, a pokud byla ve fázi instalace zařízení, přeskočí poslední ovladač, který se spustil před přerušením. Pokud instalační program přestane reagovat, můžete systém restartovat a instalační program bude pokračovat mimo bod zablokování.
Systém Windows 2000 a XP si půjčil řadu pěkných funkcí z řady Windows 9x, jako je nouzový režim a obnovení systému. Přál bych si, aby si zapůjčili některé věci z Instalačního programu systému Windows 9x.
Když mluvíme o upgradu na XP, humor columnista Dave Barry myslí, že dělá skok: http://www.miami.com/herald/special/features/barry/2002/docs/jan06.htm .
Díky!
-Známka
CO JE NOVÉHO VE SPOLEČNOSTI SYSINTERNALS
SYNC V2.1
"Synchronizace", aplet, který vyprázdní data uložená v mezipaměti zpět na disk, je základní systémový nástroj v systémech Unix a tak jsem napsal Sync pro systém Windows NT/2000/XP před několika lety. Aby se změny projevily na vyměnitelném médiu pro čtení a zápis před vysunutím média, je něco, co vám Synchronizace umožňuje. Je také užitečné minimalizovat poškození disku, když ho spustíte předtím, než spustíte ovladač, který vyvíjíte, který může systém chybově dojít. Někdo nedávno navrhl, že by bylo hezké, kdyby synchronizace měla možnost vysunout média po vyprázdnění, takže je zaveden v 2.1.
Stáhnout Synchronizaci verze 2.1 na adrese
http://www.sysinternals.com/ntw2k/source/misc.shtml
DISKEXT V1.0
Dalším nástrojem souvisejícím s disky, který je popsaný v tomto bulletinu, je DiskExt, aplet příkazového řádku, který vám řekne písmeno jednotky svazku, umístění oddílů, které tvoří svazek; svazky s více částmi zahrnují rozložené, zrcadlené a prokládání svazků. DiskExt také hlásí umístění, pokud jde o sektory, které zabírají, oddílů, které uvádí.
Stáhněte diskExt v1.0 s úplným zdrojovým kódem na adrese
http://www.sysinternals.com/ntw2k/source/misc.shtml#diskext
NTFSDOS V3.02
NTFSDOS, nástroj, který spustil Sysinternals (v době vydání NTFSDOS, "Ntinternals") na počítače stovek tisíc uživatelů, umožňuje SYSTÉMU DOS číst jednotky NTFS. Menší změna struktury na disku systému Windows XP NTFS vyžadovala úpravu systému souborů NTFS kvůli kompatibilitě se systémem souborů XP.
Stáhnout NTFSDOS v3.02 na
http://www.sysinternals.com/ntw2k/freeware/NTFSDOS.shtml
PSSUSPEND V1.2
Chtěli jste někdy dočasně pozastavit stahování sítě, vyhledávání na disku nebo jinou aplikaci náročnou na prostředky, abyste mohli spustit něco jiného? Suspend je jedna funkce správy procesů, která v systém Windows NT/2000/XP velmi chyběla z nástrojů pro správu. Nejnovějším doplňkem sady nástrojů PsTools je PsSuspend, nástroj, který pozastaví a obnoví procesy. Stejně jako všechny ostatní nástroje v sadě PsTools je PsSuspend nástroj příkazového řádku, který můžete směrovat v místním systému nebo vzdáleném nástroji.
Vzhledem k tomu, že v systému systém Windows NT/2000/XP není k dispozici žádná funkce pro pozastavení procesu (ve verzi XP, ale není k dispozici prostřednictvím rozhraní API win32), Nástroj PsSuspend pozastaví a obnoví vlákna spuštěná v cílovém procesu s rozhraními API pro pozastavení a obnoveníthread systému Win32.
Stáhnout PsSuspend v1.2 na adrese
http://www.sysinternals.com/ntw2k/freeware/pssuspend.shtml
Stáhněte si celý balíček PsTools na adrese .
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml
PSLOGLIST V2.2
Nástroje, které tvoří balíček PsTools, se neustále vyvíjejí na základě zpětné vazby uživatelů a PsLoglist generoval více požadavků na funkce než kterýkoli z dalších nástrojů. Tato nejnovější verze přináší řadu vylepšení, včetně možnosti výpisu záznamů v uložených souborech protokolu událostí, změna oddělovače jednořádkového formátu od čárky na něco jiného (v situacích, kdy text protokolu událostí obsahuje čárky), výpis záznamů ze zadaných rozsahů dat a filtrování typu události (chyba, upozornění nebo informace). Stejně jako dříve může PsLoglist výpis protokolů událostí místního nebo vzdáleného systému a má mnoho dalších možností pro řízení jeho operace.
Stáhnout PsLoglist v2.2 na adrese
http://www.sysinternals.com/ntw2k/freeware/psloglist.shtml
Stáhněte si celý balíček PsTools na adrese .
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml
PSINFO V1.2
Nástroj PsTools, který byl vyřazen je PsUptime, aplet, který hlásil dobu, po kterou byl místní nebo vzdálený systém v provozu. Není to tak, že informace nejsou užitečné – to je – ale je vhodnější pro zobrazení relativním nováčkem k PsTools, PsInfo. Proto PsInfo v1.2 nyní hlásí dobu provozu systému spolu s dalšími informacemi, jako je verze operačního systému, rychlost procesoru, velikost paměti, instalace oprav hotfix, zda je operační systém zkušební verze a kdy vyprší platnost, a v systému Windows XP stav aktivace produktu Windows.
Stáhnout PsInfo v1.2 na adrese
http://www.sysinternals.com/ntw2k/freeware/psinfo.shtml
Stáhněte si celý balíček PsTools na adrese .
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml
PSEXEC V1.3
PsExec je nástroj příkazového řádku, který umožňuje spouštět programy ve vzdáleném systému bez instalace jakéhokoli softwaru v daném systému. Pokud má program, který spouštíte, rozhraní příkazového řádku, pak ho PsExec pro vás proxy, takže ho můžete spustit interaktivně, jako by byl spuštěn program místně. Díky těmto funkcím je PsExec pohodlným nástrojem vzdáleného prostředí s nízkou hmotností a usnadňuje vzdálené povolení programů příkazového řádku, jako je ipconfig.
Verze 1.3 nástroje PsExec umožňuje spouštět aplikace systému Windows (na rozdíl od těch, které jsou příkazového řádku) ve vzdáleném systému, aby se zobrazily na interaktivní ploše. Nejsem si jistý, kde to může být užitečné, ale obdržel jsem několik požadavků na tuto funkci.
Stáhnout PsExec v1.3 na adrese
http://www.sysinternals.com/ntw2k/freeware/psexec.shtml
Stáhněte si celý balíček PsTools na adrese .
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml
BGINFO V2.0
Pokud spravujete více než několik systémů, víte o "systémové nejasnosti", tento stav mysli, kde přejdete na počítač (nebo na něj přepnete na KVM) a zapomenete název počítače, verzi operačního systému, nainstalovanou aktualizaci Service Pack nebo IP adresu. I když jsou všechny tyto informace přístupné prostřednictvím různých rozhraní pro správu, může to být časově náročné. Tady přichází Bryce Cogswell's BgInfo: zobrazí systémové informace, které jsou nejdůležitější přímo na pozadí plochy, takže okamžitě budete mít všechny potřebné informace.
Tato nejnovější aktualizace nástroje BgInfo usnadňuje konfiguraci než kdy dřív. Vlastní text můžete definovat v klíči registru, zadat barvu pozadí plochy nebo rastrový obrázek, najít text na pozadí a další. Nejužitečnější pro velké organizace je ale schopnost BgInfo ukládat a načítat nastavení a dokonce je exportovat do databáze. Pomocí některé z těchto možností můžete definovat nastavení jednou a pak je používat ve všech spravovaných systémech.
Stáhnout BgInfo v2.0 na adrese
http://www.sysinternals.com/ntw2k/freeware/bginfo.shtml
PROCESS EXPLORER V5.2
Průzkumník procesů je nástroj pro prohlížeč procesů a ovládací prvek, který vybere místo, kde Správce úloh odejde. V rámci rozsáhlého seznamu funkcí vám Průzkumník procesů ukáže strom vytvoření procesu, zobrazí popisovače, které procesy mají otevřené, zobrazí seznamy knihoven DLL, které se načetly, a umožňuje vyhledat proces nebo procesy, které mají otevřený konkrétní soubor.
Předchozí verze Průzkumníka procesů fungovaly na systémech Windows 9x i NT/2K/XP, ale pouze s verzí 5.2 zobrazuje Průzkumník procesů informace o využití procesoru procesu pro systémy Windows 9x. Další vylepšení pro v5.2 pomáhá sledovat úniky v systémech Windows XP a 2000 tím, že hlásí počet GDI a UŽIVATELSKÝch popisovačů (popisovačů prostředků grafického uživatelského rozhraní Win32), které proces otevřel v dialogovém okně vlastností procesu. Na rozdíl od populárního přesvědčení, i v systému Windows 2000 a XP počet takových prostředků je omezený: existuje limit pro celý systém 65 536 uživatelských úchytů a limit pro proces 16 384 úchytů GDI.
Stažení Process Exploreru v5.2 na adrese
http://www.sysinternals.com/ntw2k/freeware/procexp.shtml
FILEMON V4.34 PRO WIN64/ITANIUM
Microsoft mi laskavě půjčil ranou itanium box z Intel, abych mohl začít portovat nejoblíbenější aplikace Sysinternals do Win64/Itanium. Box je působivý: má 2 733 MHz procesory a 8 GB paměti. Rozhodl jsem se Filemon jako první aplikace pro port. Filemon se skládá z grafického uživatelského rozhraní Win32 (nyní Win32/64) a ovladače zařízení, takže byly vyžadovány dva různé úsilí o portování. Co je poněkud neočekávané, je, že vytváříte aplikace Win64 i 64bitové ovladače v 32bitovém systému se systémem systém Windows NT, 2000 nebo XP pomocí křížového kompilátoru.
Nejnovější verze sady SDK platformy (dostupné zdarma ke stažení od Microsoftu: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/) zahrnují podadresáře obsahující 64bitový kompilátor Itanium a linker, soubory hlaviček Win64 a knihovny Win64. Udělal(a) jsem tento jednoduchý dávkový soubor pro nastavení prostředí pro sestavení spustitelných souborů Win64:
@echo off
set PATH=D:\Mssdk\Bin\win64;%PATH%
set INCLUDE=D:\Mssdk\include\win64;D:\Mssdk\include\win64\crt
set LIB=D:\Mssdk\lib\ia64
echo 64-bit environment set.
Všimněte si, že aplikace Win64 nelze sestavit ze sady Visual Studio, ale musíte to udělat z příkazového řádku.
Několik menších problémů s přetypování bylo jedinými problémy, na které jsem narazil během kompilace. V dalším kroku jsem postavil řidiče. Nejnovější verze sady DDK (již nejsou k dispozici jako bezplatné stahování) zahrnují klávesové zkratky pro příkazové řádky, které mají nakonfigurované prostředí sestavení ovladače IA64. Ovladač jednoduše sestavíte v 64bitovém cílovém prostředí stejně jako 32bitový ovladač.
Kompilátor mě informoval, že jsem potřeboval explicitnější informace o některých přetypování. Například pořadová čísla, která Filemon přiřazuje operacím, jsou ULONG
, které kompilátor nedovolil přetypovat na PVOID
předaný jako kontextový parametr do funkce IoSetCompletionRoutine
I/O Manager . Místo toho jsem to musel nejprve přetypovat a ULONG_PTR
pak PVOID
. V každém případě během několika minut ovladač zkompiloval bez chyb.
Dále jsem zkopíroval 64bitovou aplikaci a ovladač do systému Itanium a právě jsem ho spustil. Grafické uživatelské rozhraní Filemon se objevilo a pak zmizelo. To znamenalo, že jsem musel použít ladicí program Win64 k zjištění, co bylo špatně. Ladicí program Win64 se dodává také v sadě SDK platformy a můžete ho spustit z 32bitového nebo 64bitového počítače. Vypadá to jako odříznutý ladicí program sady Visual Studio a funguje jenom ve vzdáleném režimu, kde na cílový počítač, na kterém spouštíte aplikaci, nainstalujete část klienta ladění.
Po procházení Filemon kódu na půl hodiny nebo tak jsem konečně přišel k realizaci, že moje windows procedury potřebovaly deklarovat jejich lparam parametry jako LPARAM
– byly dlouhé kvůli nějakému kódu zkopírovaného ze sady SDK, když jsme napsali první verzi Filemon v roce 1996. Zajímavé je, že kompilátor si na to nestěžoval, ale znamenalo to, že jakýkoli ukazatel předaný jako lparam byl zkrácen. To se objevilo v obslužné rutině Filemon WM_MEASUREITEM, která interpretuje parametr lparam jako ukazatel na strukturu. Filemon v daném kódu chyboval.
Úžasně, když jsem tento problém Filemon běžel bezchybně na Itanium. Celkový čas portu: 1 hodina.
Teď pracujem na portování Regmon a pak port DebugView. Oba by měly být náročné, zejména DebugView, který má poměrně unorthodox ovladač.
Stáhnout Filemon s úplným zdrojem na adrese http://www.sysinternals.com/ntw2k/source/filemon.shtml
FILEMON V1.1 PRO LINUX
Pokud jste v posledních pár měsících navštívili Sysinternals, pravděpodobně jste byli šokováni, abyste viděli novou položku na řádku nabídek: Linux Utilities. To je v pořádku, rozhodl jsem se, že by bylo docela elegantní mít Filemon spuštěný v Linuxu. Už jsem používal prostředí Borland's Rapid Application Development (RAD) ve Windows, takže když byl Kylix vydán (v podstatě, Linux), uvědomil jsem si, že grafické uživatelské rozhraní by bylo docela jednoduché.
Otázka, která zůstala, byla způsob zachycení aktivity systému souborů.
Většina verzí Unixu, včetně Linuxu, implementuje systémové volání, ptrace()
které umožňuje proces zachytit všechna systémová volání provedená cílovým procesem. Zvažuji použití ptrace()
ke sledování aktivity systému souborů a může změnit Filemon v budoucnu, aby ho používal z důvodů, které budou jasné, ale rozhodli se proti němu.
Nevýhodou použití ptrace()
je, že Filemon by musel vytvořit výčet všech spuštěných procesů a provést ptrace()
na každém z nich všechny spuštěné procesy. Kromě toho by se také musel připojit k nově vytvořeným procesům a ptrace()
funkce neposkytuje způsob, jak zajistit, aby se nezmeškaly první systémová volání spuštěná novým procesem. Když proces, který je trasován, spustí systém volání operačního systému, zablokuje ho, odešle signál procesu trasování a čeká na proces trasování, aby proces pokračoval. Pokud chcete zobrazit všechny aktivity systému souborů, může to způsobit závažné snížení výkonu. Největší nevýhodou je, že ptrace()
mění chování trasovaných procesů. Zatímco jsou trasovány, tracer je nadřazený proces, což znamená, že skutečný nadřazený proces trasovaného procesu neuvidí oznámení, která by normálně viděl, když je jejich podřízené procesy způsobí.
Bylo by hezké, kdybych mohl napsat ovladač filtru systému souborů (stackable ovladač v terminologii Linuxu), jako je V/V Manager v systém Windows NT/2000/XP podporuje, ale aktuální architektura systému souborů Linux nepodporuje stackable ovladače systému souborů. Existuje oprava s názvem FiST, kterou můžete použít pro podporu (http://www.cs.columbia.edu/~ezk/research/fist/)a existuje také sada trasovacích nástrojů (http://www.opersys.com/LTT/index.html) pro Linux, ale obě vyžadují, aby koncoví uživatelé znovu zkompilovali svá jádra, něco, čemu se chci vyhnout. Takže jsem se rozhodl implementovat monitorování pomocí systémového ovladače volání hooking, podobně jako Regmon funguje ve Windows.
Existují dvě obavy, které ztěžují projekt, než když ve Windows dělá totéž. První je, že Linus Torvalds, otec Linuxu a ředitel vývoje jádra Linuxu, nevěří v použití ladicích programů jádra. Důvody jsou docela směšné (viz http://www.lib.uaa.alaska.edu/linux-kernel/archive/2000-Week-36/0575.htm l přečíst si vlastní vysvětlení Linus) a je to jeden z několika důvodů, proč jádro Linuxu bude mít potíže udržet krok s Windows. Existuje několik nestandardních ladicích programů jádra, ale vyžadují opravu jádra a vyžadují určité úsilí k použití. Druhým problémem je, že Linus nevěří v zajištění zpětné kompatibility s ovladači zařízení jako nové verze jader. Následkem toho je, že jakékoli exportované rozhraní API jádra se může náhle změnit, rozbít stávající ovladače, které rozhraní API používají, a vyžadovat, aby se znovu zkompilovaly pro nová jádra.
Nedostatek integrovaného ladicího programu jádra znamená, že jsem ladil prostřednictvím ladicího tiskového příkazu (zjistil jsem, že bych strávil tolik času laděním prostřednictvím printk
"s – tisky v režimu jádra – jak bych nainstaloval a naučil ladicí program jádra) a změna rozhraní API jádra a datových struktur znamená, že Filemon pro Linux je závislý na jádru. Funguje na zmenšovaných red hatech 7.1 a 7.2 a SuSE Linux 7.1 a 7.2 a možná i v jiných komerčních distribucích, ale ještě musím navrhnout způsob, jak izolovat ovladač před libovolnými změnami jádra (ten, který porušil časnou verzi ovladače, byla změna volající konvence funkce jádra ze standardního na rychlé volání).
Filemon pro Linux má úplně stejné rozhraní jako jeho protějšek windows a vypadá výrazně podobně (viz snímek obrazovky na stránce Filemon pro Linux). Moje závěry o snadném vývoji obecného filtru systému souborů, který není závislý na jádru pro Linux, by měl být jasný: je obtížné, pokud není nemožné. Naproti tomu ovladače skládaného (filtru) v každé doméně ovladačů (sítě, systémy souborů, úložiště, vstup atd.) byly podporovány architekturou systém Windows NT vstupně-výstupních operací od začátku.
Stáhnout Filemon pro Linux na adrese http://www.sysinternals.com/linux/utilities/filemon.shtml
SYSINTERNALS AT WWW.MICROSOFT.COM
Zde je opět nejnovější instalace odkazů Sysinternals v článcích znalostní báze Microsoft Knowledge Base (KB) vydaných od posledního bulletinu. Všimněte si toho, který má i Filemon v názvu. To přináší 31 celkový počet odkazů KB na Sysinternals. Úplný výpis najdete na adrese http://www.sysinternals.com/ntw2k/info/mssysinternals.shtml
Během instalace dojde k chybové zprávě o závažné výjimce http://support.microsoft.com/support/kb/articles/Q273/9/18.ASP
FP2000: Soubory seznamu typů pro ovladače databáze jsou prázdné http://support.microsoft.com/default.aspx?scid=kb; EN-US; Q308935
POSTUPY: Řešení chyby 1928 "Chyba při registraci aplikace MODELU COM+" http://support.microsoft.com/default.aspx?scid=kb; EN-US; Q308940
PRB: Konflikt s EOF při použití #import s ADO http://support.microsoft.com/support/kb/articles/Q166/1/12.ASP
PrB: Knihovny DLL se po volání CoFreeUnusedLibraries nevyvolají http://support.microsoft.com/support/kb/articles/Q301/3/57.ASP
PrB: Chyba 80004005 "Databázový stroj Microsoft Jet nemůže otevřít soubor (neznámý)" http://support.microsoft.com/support/kb/articles/Q306/2/69.ASP
PRB: FileMon ukazuje, že DAO360.dll se nedaří načíst MSJet49.dll, MSJet48.dll a další soubory MSJetxx.dll http://support.microsoft.com/support/kb/articles/Q306/3/86.ASP
SMS: Agent inventáře softwaru generuje chybovou zprávu o neplatné stránce http://support.microsoft.com/support/kb/articles/Q302/6/51.ASP
INTERNÍ INFORMACE
INTERAKTIVNÍ DVD VE WINDOWS 2000
Pokud jste zmeškali speciální předběžné ceny INSIDE Windows 2000, interaktivní dvd kurz v interních systémech Windows 2000, máme dobré zprávy! ÚVODNÍ CENA 950 KČ, což je více než 25% oproti běžné ceně jednoho uživatele, je stále k dispozici. Chcete-li OBJEDNAT NYNÍ, nebo další informace o tomto vzrušujícím novém produktu David Solomon a Mark Russinovich, přejděte na http://www.solsem.com/dvd.html. K dispozici je také ve formátu distribuce sítě pro streamování intranetu!
OZNAČTE DATA: RUSSINOVICH & SOLOMON UČIT ZNOVU V SEATTLU A BOSTONU
Naše 3denní interní třídy Windows 2000/XP v Austinu minulý měsíc byla prodejní úspěch, takže jsme si naplánovali dvě další nabídky: duben 17-19 poblíž Seattlu a červen 12-14 v Bostonu (registrace bude brzy otevřena). Třída je založená na "Inside Windows 2000, 3rd Edition" a zahrnuje subsystémy prostředí, odesílání systémových volání, systémových vláken, spouštění a vypnutí, interní registry, procesy a plánování vláken, správu paměti, zabezpečení, vstupně-výstupní systém, úložiště, NTFS a správce mezipaměti. Díky pochopení vnitřních fungování systému Windows XP & 2000 můžete využít výhod platformy efektivněji a efektivněji ladit a řešit problémy. Podrobnosti najdete tady: http://www.sysinternals.com/seminar.shtml.
SOUBORY MANIFESTU SYSTÉMU WINDOWS XP
Jedním z nejviditelnějších změn v systému Windows XP je nový vzhled a chování poskytované plochou Luna. Luna je ve skutečnosti "motiv", a pokud spustíte aplikaci, která není s podporou motivu (žádná aplikace není napsaná speciálně pro použití motivů systému Windows XP), aplikace má starší vzhled a chování systému Windows 2000. I když ale nemáte zdrojový kód, můžete vytvořit i starší aplikace, aby vypadaly velmi snadno. Jednoduše vytvořte soubor manifestu XML pro aplikaci, který říká zavaděče systému Windows XP, že aplikace chce použít knihovnu DLL common Control verze 6 (comctl32.dll v %SystemRoot%\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1 df_6.0.0.0_x-ww_1382d70a
) namísto verze, která %SystemRoot%\System32
není v souboru . Tady je soubor manifestu, který zpřístupňuje Motiv Process Exploreru verze 5.2:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly
xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
name="Process Explorer"
processorArchitecture="x86"
version="5.1.0.0"
type="win32"/>
<description>Process handle and DLL viewer</description> <dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
Změňte název aplikace, verzi a popis aplikace, kterou chcete nastavit jako motiv, a pak soubor uložte tak, aby byl stejný jako spustitelný soubor aplikace s výjimkou souboru .manifest, který je k ní připojený, například procexp.exe.manifest. Pokud jste vývojář aplikace, můžete soubor manifestu vložit do prostředků aplikace, jako jsem to udělal s Průzkumníkem procesů. Příklad postupu najdete ve zdrojovém kódu souboru Filemon.
CO JE V X-BOXU?
Pokud jste nedávno sledovali herní svět konzoly, téměř jistě víte, že nová konzola X-Box společnosti Microsoft používá upravenou verzi systému Windows 2000. Zatímco v Microsoftu na nedávné cestě windows XP-výzkum pro 4. vydání naší knihy, Dave Solomon a já se naučili od vývojového týmu Systému Windows 2000/XP, že skupina X-Box rozhodla o systému Windows 2000 pro podporu ovladačů. Po rozhodnutí dostali vývojáři X-Box kopii zdrojového stromu Systému Windows 2000 a odešel, sotva se odslouchal od týmu systému Windows 2000/XP.
X-Box má vysoce modifikovanou, striptovanou verzi systému Windows 2000, která se vejde do pouhých 512 kB paměti. Všechny nerelevantní subsystémy se odebraly (původně odstranily subsystém technologie Plug and Play, aby ho přidaly zpět až po zjištění, že načtení ovladače závisí na něm), spustí pouze jeden proces a nemá žádný subsystém Win32 (pouze rozhraní X-Box API). X-Box má pouze 64 MB fyzické paměti a nepodporuje virtuální paměť, takže Správci paměti a mezipaměti systému Windows 2000 jsou dva subsystémy, které byly odebrány. S těmito drastickými úpravami musíte zvážit nový operační systém, nikoli Systém Windows 2000.
Další informace o X-Box, GameCube a PS2 internals najdete na adrese http://www.e-insite.net/ednmag/index.asp?layout=article& articleid=CA185947&pubdate=12-20-01
NÁHODNÉ STATISTIKY SYSTÉMU WINDOWS XP
Následující statistiky publikoval Microsoft na svých webových stránkách OEM System Builderu (na http://oem.microsoft.com - můžete se zdarma zaregistrovat) a myslel jsem, že některé z nich najdete zajímavé a/nebo zábavné.
Mimochodem, číslo buildu konečné verze systému Windows XP neshodilo náhodou na 2600 – bylo trochu shodné (číslo buildu se zvýší pokaždé, když se operační systém zkompiluje v testovacím prostředí sestavení, obvykle jednou denně pracovní den). Uvnitř zdrojů říkají, že číslo bylo cílem 2600-community, volně pletená skupina hackerů (http://www.2600.com/)jako zpráva demonstrující důvěru týmu XP v zabezpečení XP.
- Počet dní, které trvalo vývoj Systému Windows XP: 600 (12.20.99- 8.24.01)
- Počet členů týmu s fokusem: 5 736
- Počet testerů na vývojáře: 1,4
- Počet dětí, které se narodily během projektu: 452
- Počet internů použitých: 504
- Množství macaroni spotřebované během 40 "Windows Info Meetings": 6,000 lbs
- Počet obsluhovaných frappuccino®: 86 400
- Dolary uvolněné pro Seattle Cristian McDonald House (místní charitativní organizace): 2 miliony DOLARŮ
- Počet testovacích případů pro funkci obnovení systému: 1,6 milionu
- Počet testovacích případů grafiky Direct3D od verze Windows XP RC1: 43 114 143
- Počet testovaných aplikací pro kompatibilitu: 5 500
- Počet zařízení podporovaných mimo toto políčko: 12 000
- Procento nejoblíbenějších počítačových aplikací distribuovaných za poslední tři roky, které budou kompatibilní se systémem Windows XP: 90 %
- Počet stop v největším testovacím případu digitální knihovny médií: 31 000
- Délka v hodinách nejdelšího jednoho souboru zachyceného programem Windows Movie Maker: 114
- Počet jazyků, na které lokalizujeme: 24 plně & 9 částečně
- Počet zemí, které se účastní startu 10/25: Více než 50
- Počet lidí, kteří se účastní startu akce po celém světě: více než 580 000 v licencích ... plus online cílové skupiny 5 120 systémových tvůrců po celém světě
NOVÉ VYLEPŠENÉ WINDBG
Windbg je grafický front-end podpory ladění jádra, která je integrovaná v jádru systém Windows NT/2000/XP. Až do posledních pár let Windbg správně získal reputaci za to, že je flakey a těžkopádný, ale to se změnilo, protože se Microsoft zaměřil na zlepšení. Nejnovější verze Windbg, která je k dispozici jako zdarma ke stažení z http://www.microsoft.com/ddk/Debugging/, je výrazně vylepšena oproti starým verzím a snadněji se používá. K dispozici jsou některé nové funkce, o kterých se i zkušení uživatelé Windbg nemusí znát, a dva příkazy, které jsou užitečné pro správce systémů, kteří se snaží diagnostikovat chybové ukončení systému.
Funkce, díky které je nejnovější Windbg velmi snadno použitelná, je její podpora pro server symbolů Microsoftu. Při pohledu na výpisy stavu systému nebo ladění aplikací s aplikací Windbg bylo potřeba nainstalovat správné soubory symbolů ladění pro vaši instalaci. Aktualizace Service Pack, opravy hotfix a případně chybové ukončení z různých operačních systémů (např. systém Windows NT a Windows XP), může to být jedno. S podporou serveru symbolů jednoduše zadáte adresu URL serveru symbolů Microsoftu do dialogového okna cesty symbolů Windbg a Windbg stáhne symboly ze serveru na vyžádání a uloží je do zadaného adresáře. Server symbolů obsahuje symboly pro kandidáty verze Windows .NET Server Beta 3, Windows XP a XP, Windows 2000 a jeho aktualizace Service Pack a horké opravy, systém Windows NT 4, MDAC 2.1-2.7, IIS a ISA.
Dva příkazy, které jsou užitečné pro ladění výpisů stavu systému, jsou !analyze a .dump. Spuštěním !analyze (určení -v
přepínače) získáte automatickou analýzu na základě heuristiky chybového ukončení. Tento příkaz je již poměrně výkonný a vzhledem k tomu, že Microsoft začlení historická data z reálných chybových ukončení, bude ještě přesnější.
Tento .dump
příkaz je užitečný pro ladění uživatelského režimu i analýzu výpisu stavu systému v režimu jádra. V některých serverových prostředích, zejména webových serverů, můžete identifikovat nevracení paměti nebo jiný problém, ale nejste ochotni zastavit a restartovat server, dokud nebude příčina izolovaná. V systému Windows XP a .NET Server můžete připojit k procesu serveru pomocí nástroje Windbg, spuštěním příkazu .dump vygenerujte soubor výpisu stavu systému v paměti uživatele a pak odpojte server (pomocí .detach
příkazu) a pozastavte server pouze krátce. Vývojář pak může vygenerovaný soubor s výpisem paměti převzít a analyzovat ho offline.
Ve výchozím nastavení vygenerují serverové systémy Windows výpis paměti, který je tak velký jako množství fyzické paměti, které jsou přítomné v systému, a proto mohou být velmi velké. Výpis paměti však můžete načíst do aplikace Windbg a pomocí .dump
příkazu vygenerovat menší paměť jádra nebo minidump z úplného výpisu paměti. Menší soubory se snadněji vyměňují a často jsou všechny potřebné k izolaci příčiny chybového ukončení.
Stáhněte si nejnovější verzi Aplikace Windbg z http://www.microsoft.com/ddk/Debugging/aplikace Windbg a vyhledejte pokyny ke konfiguraci Aplikace Windbg, abyste získali symboly ze serveru symbolů Microsoftu na adrese . http://www.microsoft.com/ddk/debugging/symbols.asp
CO SE CHYSTÁ
PROFILOVÁNÍ PROCESU SPOUŠTĚNÍ SYSTÉMU WINDOWS XP POMOCÍ BOOTVIS
Aby jim pomohl při ladění procesu spouštění systému Windows XP, tým výkonu systému Windows XP instrumentoval klíčové body v operačním systému a vyvinul nástroj s názvem BootVis pro zobrazení trasování spouštění. V překvapivých přesunech udělali nástroj volně dostupný. Je velmi snadné a zobrazuje úžasné množství podrobností, včetně informací o inicializaci ovladačů, kdy a kde dochází k vstupně-výstupním operacím disku a ke spuštění služeb a aplikací. Příště vám ukážu, kde ji můžete získat a jak ji používat.
Děkujeme vám za přečtení bulletinu Sysinternals.
Publikováno v pondělí, 7. ledna 2002 17:01 od ottoh
[Archiv bulletinů ^] [< Svazek 3, číslo 2] [Svazek 4, číslo 2 >]