20 augusti 2001 – I det här problemet:

  1. REDAKTIONELLA

  2. VAD ÄR NYTT PÅ SYSINTERNALS

    • Process Explorer v5.1
    • Hantera v2.0
    • PsInfo v1.1
    • PsExec v1.24
    • PsLogList v2.07
    • Windows XP-källlayout
    • DebugView v4.13
    • PageDefrag v2.1, Contig v1.41
    • Sysinternals på Microsoft
  3. INFORMATION OM INTERNT

    • Inuti Windows 2000, den interaktiva DVD:n
    • Markera datumet: Russinovich och Bob lär ut tillsammans i Bob
    • Kommandoradsdiskhantering
    • WINHEC 2001 bilder online
    • Nya gränssnitt för filterdrivrutiner för filsystem i XP
    • Krasch Windows med en tangenttryckning
    • Windows XP Prefetching
    • Windows .NET-anslutningar
  4. DET HÄR ÄR VAD SOM HÄNDER

    • Mina Itanium-upplevelser

SPONSRING: UNDERSPONSOR: UNDERSENTLIG PROGRAMVARA

Nyhetsbrevet Sysinternals är sponsrat av Winternals Software, på webben på http://www.winternals.com. Undertidsprogramvaran är den ledande utvecklaren och leverantören av avancerade systemverktyg för Windows NT/2K/XP. I software-produkterna finns FAT32 för Windows NT 4.0, NTFSDOS Professional Edition (en NTFS-drivrutin för läsning/skrivning för DOS) och Remote Recover.

Under de senaste 20 minuterna har defragmenteringschefen version 1.31, som är den snabbaste och mest omfattande tillgängliga företagsdefragmentern. Nu kan du hantera defragmenteringsscheman i hela Windows-företaget från en enkel MMC-snapin - utan att ens behöva installera någon klientprogramvara på nt- eller Windows 2000-system. En licens på 10 system är tillgänglig för onlineköp för endast 169 USD, och det finns aggressivt antalsrabatter. Besök http://www.winternals.com/39 om du vill ha mer information eller ladda ned och använda kostnadsfritt i 30 dagar.

Hej!

Välkommen till Sysinternals nyhetsbrev. Nyhetsbrevet har för närvarande 33 000 prenumeranter.

Jag använder datorer i flera olika kapaciteter: som programutvecklare; som en användare; och som systemadministratör (för mitt eget nätverk av utvecklings- och testsystem). Eftersom jag vill nå den bredaste målgruppen för sysinternals freeware-verktyg och commercial-produkter för Springnals har de flesta verktyg som mål minst Windows NT 4 till och med Windows XP, och många körs även på Windows 95 via Windows Me. De flesta av de verktyg jag skriver är på systemnivå, vilket innebär att de ofta innehåller specialfallskod för en eller flera av de Windows varianterna. Tyvärr finns det betydande skillnader mellan användargränssnitt och kernel mellan Windows NT-linjen och Windows 9x-linjen och till och med skillnader mellan versioner från samma rad.

Jag använde för att utföra testning genom att ha flera felsökningssystem, alla konfigurerade för att starta om de Windows-varianter som jag har räknar upp och starta i en version, testa och sedan starta om till nästa. Förutom att vara långsam skulle testningen ibland vara skeva genom att störa släppningar av mellanliggande testbyggen av verktyg som jag inte hade rensat på rätt sätt. Även om jag fortfarande har en samling system med flerstartsstart för felsökningsproblem, har en innovativ produkt som heter VMWare(www.vmware.com)gjort mina testcykler snabbare och enklare.

VMWare är en virtuell datormiljö som du använder för att skapa virtuella datorer (gäster) som körs ovanpå Windows NT-, Windows 2000- eller Linux-installationer (värdar). En gäst kan köra de flesta varianter av Windows, DOS och Linux. Det är svårt att se en version av ett operativsystem som körs ovanpå ett annat, särskilt när du gör en virtuell dator i helskärmsläge – det finns praktiskt taget inget sätt att identifiera att du inte sitter på skärmen på en Linux-dator i stället för en virtuell Linux-dators virtuella skärm som körs ovanpå Windows 2000, till exempel . En virtuell dator är en programvaruindelad ruta som kapslar in operativsystemet och programmen som körs på den virtuella datorn så att den virtuella datorn fångar upp åtkomsten när de försöker interagera med den maskinvara som de tror finns. Programvaran för virtuella datorer skapar virtuella enheter som fungerar som noggrant kontrollerade surrogat till verklig maskinvara eller virtuell maskinvara. När till exempel ett program som körs på en virtuell dator som visas i ett fönster skriver till den virtuella datorns visningsminne uppdaterar den virtuella datorns programvara innehållet i fönstret som representerar den virtuella datorns skärm i stället för att låta åtkomsten röra det verkliga videominnet. Om den virtuella datorn kördes i helskärmsläge skulle den virtuella datorns programvara låta sådan åtkomst ändra videominnet direkt.

Den virtuella datorkapaciteten gör bara VMWare användbart, eftersom du kan ha valigt antal "testsystem" som finns runt hårddisken. Det som gör VMWare ännu mer kraftfullt är att du kan "pausa" en virtuell dator, spara dess tillstånd på disk och sedan återuppta den inom några sekunder och återställa det tillstånd som den hade när du pausade den. Men det är inte allt. Jag använder en funktion som kallas "icke-beständiga diskar", där VMWare startar en virtuell dator med dess virtuella diskar som innehåller det innehåll som du har definierat (till exempel med bara en grundläggande installation av operativsystemet) och spårar sedan ändringar så att du kan ångra dem och återgå till starttillståndet. Om jag installerar testversioner av ett verktyg och sedan behöver se till att jag är tillbaka i ett rent tillstånd som inte återspeglar någon av ändringarna i verktyget, så ångrar jag bara ändringarna. Jag tycker också att VMWare är användbart i mina administratörsroller för användare och system. När jag laddar ned ett program som jag inte är säker på att jag vill behålla, i stället för att eventuellt kompromettera mitt utvecklingssystem eller fylla det med det som finns kvar när jag avinstallerar ett program, provar jag det bara på en virtuell dator med en icke-beständig disk först.

Det finns några relativt små nackdelar med den aktuella versionen som har hindrat mig från att använda mina riktiga felsökningsdatorer lika mycket som jag gör. Det första är att eftersom de virtuella datorerna inte stöder DirectX kan du inte köra Numega SoftICE-felsökaren förutom med den virtuella datorn med en skärmupplösning på 640 x 480. Den andra är att VMWares virtualisering av seriella portar är begränsad på ett sätt som förhindrar kernelfelsökning med hjälp av Windbg eller Kd, antingen mellan värden och en gäst eller mellan gäster. Det senare problemet bör dock åtgärdas i nästa större VMWare-version.

Det som är särskilt intressant med VMWare är att datorforskare fram tills VMWare demonstrerade något annat, främst trodde att det var omöjligt att virtualisera x86-arkitekturen i programvara tillräckligt bra för att köra ett oförändrad operativsystem utan för hög prestandaförsämring. Utmaningarna är betydande, särskilt när det gäller virtualisering av maskinvaruenheter, och VMWares framgång ses som ett banbrytande – så mycket att VMWare nyligen publicerade en "best of conference"-artikel om hur de implementerade enhetsvirtualisering på den årliga USENIX Technical Conference. Du kan läsa dokumentet på http://vmware1.m0.net/m/s.asp?HB4162878203X1075673X73339X.

På tal om USENIX Technical Conference har jag även gjort en artikel publicerad där, High-Performance Memory-Based Web Servers: Kernel and User-Space Performance (http://www.sysinternals.com/files/webserver.pdf). I artikeln beskrivs en del av den innovativa forskning som jag har deltagit i när jag arbetade på IBM Research. Arbetets bidrag ligger inom kernel-läge webbserveracceleration, och förutom att bidra till arkitekturen var jag ansvarig för en stor del av implementeringen på Windows NT och Windows 2000. Projektet lyckades så att vi konsekvent hade SPECWeb-världsposter för webbprestanda. Det släpptes som en fortfarande växande IBM-produkt som heter IBM Netfinity Web Server Accelerator och både Microsoft och Linux-communityn har införlivat flera av de viktigaste idéerna i sina egna produkter (till exempel IIS för Windows 2000 och Tux på Linux).

Skicka nyhetsbrevet till vänner som du tror kan vara intresserade av innehållet.

Tack!

-Mark

VAD ÄR NYTT PÅ SYSINTERNALS

PROCESS EXPLORER V5.1

Processutforskaren är det nya namnet för HandleEx, ett verktyg för flera syfte som visar detaljerad information om processer, dll-filer som har lästs in och referenser till operativsystemresurser som de har öppna. Tillsammans med det nya namnet introducerar de senaste versionerna av Process Explorer en mängd nya funktioner, inklusive effektiv automatisk uppdatering, en kolumn för CPU-användning, möjligheten att ändra processprioriteter och rapportering av processsessions-ID:n om systemet är en terminalserver. Dessutom visas mycket mer information om processer. Du kan till exempel visa listan över tjänster som körs i en process (om tillämpligt), granska en process miljövariabler och visa processer kommandorader. Med hjälp av ett nytt sorteringsalternativ som kallas "processträd" kan du grafiskt se de överordnade-underordnade relationerna för processer, något som kan hjälpa dig att identifiera en process syfte. Process Explorer körs på alla Windows 9x-versioner samt Windows NT 4 via Windows XP.

Något som kanske inte är omedelbart uppenbart från Process Explorer-gränssnittet är dess förmåga att visa vilka processer som har en viss fil eller katalog öppen. Växla visningen för att hantera läget och ange namnet på filen eller katalogen i fråga i sökdialogrutan. Sökfunktionen används oftast för att spåra den process som hindrar dig från att ta bort eller byta namn på en fil eller katalog, men du kan använda den för att lista processer som har specifika DLL:er inlästa.

Ladda ned Process Explorer v5.1 på http://www.sysinternals.com/ntw2k/freeware/procexp.shtml.

HANTERA V2.0

Handle är kommandoradsversionen av Process Explorers hanteringsfunktioner som gör att du kan se handtagen till operativsystemresurser, till exempel filer, som processer har öppna. I vissa fall är handle ett snabbare sätt att identifiera en process som har en fil eller katalog öppen än att använda processutforskarens sökfunktion, eftersom du bara anger en del av filens eller katalogens namn på kommandoraden Hantera. Förutom en effektivare sökning av referensnamn fungerar Handle 2.0 nu på Windows 95/98/Me.

Ladda ned Handle v2.0 på http://www.sysinternals.com/ntw2k/freeware/handle.shtml.

PSINFO V1.1

Det senaste tillägget i PsTools-sviten med administrativa verktyg är PsInfo. PsInfo är ett kommandoradsverktyg som rapporterar en dators maskinvaru- och operativsystemegenskaper. Den visar till exempel vilket operativsystem som körs, inklusive service pack-nummer, installationsdatum och förfallodatum (om tillämpligt) och konfiguration (t.ex. domänkontrollant, medlemsserver). Den visar även typ, hastighet och antal processorer på datorn samt mängden fysiskt minne som installerats. Den här informationen gör PsInfo praktiskt för systemidentifiering eller inventering. Precis som alla verktyg i PsTools-paketet körs PsInfo på den lokala datorn eller en fjärrdator Windows NT, 2000 eller XP.

Ladda ned PsInfo v1.1 på http://www.sysinternals.com/ntw2k/freeware/psinfo.shtml.

PSEXEC V1.24

Med PsExec kan du starta processer på fjärrsystem utan att behöva installera någon programvara manuellt på fjärrsystemet, så länge systemet finns i ditt nätverk. PsExecs styrka ligger i stödet för omdirigerad konsolprogram-I/O, där det hanterar ett fjärrkonsolprograms tangentbordsinmatning och textutdata som om det kördes på ditt lokala system.

Den senaste versionen av PsExec stöder flera processer som körs på samma fjärrsystem, vilket gör att du till exempel kan öppna flera kommandotolkar på ett annat system. Den har också ett nytt "tvingad kopia"-alternativ där du kan ange att du vill att PsExec ska kopiera en fil till en fjärrdator för körning, vilket ersätter en befintlig version.

Hämta PsExec v1.24 på http://www.sysinternals.com/ntw2k/freeware/psexec.shtml.

PSLOGLIST V2.07

PsLogList, ett annat PsTools-verktyg, dumpar händelseloggar från det lokala systemet eller ett fjärrsystem. Till skillnad från eloglist visar verktyget Windows 2000 Resource Kit med samma syfte, PsLogList en postens fullständiga händelsesträng och när fjärrloggar dumpas används händelseloggens strängresursfiler från fjärrsystemet i stället för från den lokala.

Version 2.07 av PsLogList innehåller en kommandoradsväxel så att du kan dirigera den till att dumpa utökad händelseloggpostinformation (ytterligare information som kan associeras med en post) och en ny växel så att du kan visa posterna från endast de senaste angivna dagarna.

Ladda ned PsLogList v2.07 på http://www.sysinternals.com/ntw2k/freeware/psloglist.shtml.

KÄLLLAYOUT FÖR WINDOWS XP

Har du någonsin funderat över hur Microsoft organiserar källkoden som utgör Windows NT/2000/XP-kernel? Det gjorde jag också och insåg att informationen är offentligt tillgänglig. När Microsoft släpper en ny version av Windows 2000/XP släpps flera versioner:

  • en "kostnadsfri" uniprocessor-version
  • en "kostnadsfri" uiniprocessor-version som stöder mer än 4 GB fysiskt minne
  • en "kostnadsfri" version med flera processorer
  • en "kostnadsfri" version med flera processorer som stöder mer än 4 GB fysiskt minne
  • en "markerad" version med flera processorer
  • en "markerad" version med flera processorer som stöder mer än 4 GB fysiskt minne

För totalt 6 versioner. Det som skiljer "kostnadsfri" från "markerad" är inte det faktum att den "kostnadsfria" versionen är kostnadsfri (inte den), men att den "markerade" versionen, som ingår i MSDN CD-uppsättningen, innehåller kod och data som hjälper till med felsökning av operativsystem och enhetsdrivrutiner. Den "kostnadsfria" versionen kompileras helt enkelt utan den extra kod som ingår i villkorsstyrda kompileringsutdrag.

Exempel på extrakontrollerad kod är felsökningsutskrifter som rapporterar vad operativsystemet gör, mer rigorös konsekvenskontroll av de parametrar som skickas till kernellägesfunktioner från enhetsdrivrutiner och "försäkrans"-instruktioner. En assert-instruktion verifierar utvecklarens antagande om villkor som gäller för ett kodområde. Om en pekare till exempel ska peka på en datastruktur med en identifierande signatur kan en utvecklare infoga en försäkran om detta. Vad händer när försäkrans antagande överträds? Det beror på försäkran, men när det gäller de som ingår i det markerade bygget skrivs ett felsökningsutdatameddelande ut och sedan utlöses en brytpunkt för felsökningsprogrammet så att kernelfelsökaren aktiveras (eller, om inget felsökare är aktivt, så inträffar en krasch som förhoppningsvis genererar en dumpfil som kan undersökas senare).

För att göra det enkelt att identifiera de problem som fångas av försäkran skriver de försäkran som används i den kontrollerade versionen ut filen, funktionen och radnumret för försäkrans plats. Jag kan visa källträdets layout genom att extrahera de här strängarna med mitt stränghämtningsverktyg och ordna dem i en Java-trädvy.

Visa källlayouten Windows XP och läs mer om försäkran på (observera att IE visar en varning http://www.sysinternals.com/ntw2k/info/xpsrctree.shtml om sidinläsningen långsamt. Stäng den så ser du trädet).

DEBUGVIEW V4.13

DebugView är ett utvecklarverktyg som gör att du kan samla in felsökningsutdata från program eller drivrutiner på det lokala systemet eller en fjärrdator – även från flera system samtidigt. Den senaste versionen lägger till kompatibilitet med Windows XP RC 1. DebugView fungerar på Windows 9x, Windows Me, Windows NT, Windows 2000 och Windows XP.

Hämta DebugView v4.13 på http://www.sysinternals.com/ntw2k/freeware/debugview.shtml.

PAGEDEFRAG V2.1, CONTIG V1.41

Rangordning upp överst i de mest populära sysinternals-nedladdningarna är PageDefrag och Contig. PageDefragmentering av kärnsystemdatafiler vid start och Contig är ett verktyg för defragmentering av kommandoradsfiler. De senaste versionerna av dessa verktyg har en förbättrad defragmenteringsmotor för Windows 2000 och var och en har några av sina egna förbättringar.

Förutom defragmentering av register- och växlingsfiler defragmentering av den senaste versionen av PageDefragment defragmentering även händelseloggfiler. Och precis som Chkdsk i Windows 2000 har PageDefrag nu en nedräkning på 3 sekunder under startprocessen där du kan trycka på valfri tangent för att hoppa över defragmenteringen.

Det som gör Contig unikt är att du kan använda det för att defragmentering av enskilda filer, hela kataloger eller en hel disk. Contig är avsett att optimera vissa filer som är viktiga för programprestanda eftersom det, till skillnad från kommersiella defragmenterare, inte konsoliderar ledigt utrymme för att förhindra framtida fragmentering på en disk. Förutom den förbättrade defragmenteringsmotorn har den nya Contig bättre utdataformatering både i icke-utförliga och utförliga lägen.

Ladda ned PageDefrag v2.1 på http://www.sysinternals.com/ntw2k/freeware/pagedefrag.shtml.
Hämta Contig v1.4 på http://www.sysinternals.com/ntw2k/freeware/contig.shtml.

SYSINTERNALS AT WWW.MICROSOFT.COM

Här är återigen den senaste installationen av Sysinternals-referenser i Microsoft Knowledge Base (KB) som släppts sedan det senaste nyhetsbrevet. Detta ger 27 det totala antalet KB-referenser till Sysinternals.

  • 0x8000FFFF "Oåterkalleligt fel" med ODBC-SQL Server drivrutinen
    http://support.microsoft.com/support/kb/articles/Q243/3/49.ASP

  • ACC: Felmeddelande: ActiveX-komponenten kan inte skapa objekt
    http://support.microsoft.com/support/kb/articles/Q296/2/05.ASP

  • HOWTO: Fastställ vilken version MSXML används av Internet Explorer
    http://support.microsoft.com/support/kb/articles/Q296/6/47.ASP

  • HOWTO: Troubleshoot "ADODB. Connection" Error 800a0bb9 from Recordset DTC
    http://support.microsoft.com/support/kb/articles/Q197/3/23.ASP

  • INFO: Felsökningsguide för 80004005 och andra felmeddelanden
    http://support.microsoft.com/support/kb/articles/Q183/0/60.ASP

  • XADM: Händelse-ID 3036- och 3026-meddelanden uppstår när du fyller i postlådearkivet
    http://support.microsoft.com/support/kb/articles/Q296/1/36.ASP

INFORMATION OM INTERNT

I WINDOWS 2000, DEN INTERAKTIVA DVD:N

Dave Tutorials och jag skrev "Inside Windows 2000, 3rd Edition", den officiella guiden till internt och arkitekturen i Windows 2000 och vi är glada över att kunna presentera den kommande versionen av DVD-självstudien "Inside Windows 2000". Självstudien består i själva verket av 5 DVD-skivor med över 9 timmars innehåll som består av Dave och jag som lär dig de inre arbetet med Windows 2000 i en informell miljö.

Ämnena som omfattas omfattar minneshantering, processer och tråd, lagring, filsystem, nätverk med mera och var och en är uppdelad i moduler på 10–20 minuter för praktisk visning. Presentationen innehåller dussintals diagram, demonstrationer, skärmbilder och sammanfattningslistor, och varje modul avslutas med granskningsfrågor för att testa och stärka din förståelse.

Slutlig prissättning och lanseringsdatum har ännu inte genomförts, men om du vill bli meddelad om lanseringen skickar du ett e-postmeddelande till med mailto:video@... ordet "intresse" i ämnet. Eller titta efter http://www.sysinternals.com/video/ mer information.

MARKERA DATUMET: RUSSINOVICH & RUSSINITCH RUSS TEACH TOGETHER I BOB

Om du är intresserad av DVD-uppsättningen är du definitivt intresserad av en möjlighet att se Dave och jag lära NT internals live. Kom till Architecture, TX 11–13 december för att höra oss presentera vår 3-dagars Windows XP/2000/NT Internal Architecture-klass. Klassen baseras på "Inside Windows 2000, 3rd Edition" och omfattar miljöundersystem, systemanropssändning, systemtrådar, startavstängning, interna register, processer och trådschemaläggning, & minneshantering, säkerhet, I/O-system, lagring, NTFS och cachehanteraren. Genom att förstå det inre arbetet med Windows XP 2000 kan du använda plattformen mer effektivt och mer effektivt för att felsöka & problem.

När det finns information kan vi berätta för dig i nyhetsbrevet och på webbplatsen, så håll ögonen öppna!

KOMMANDORADSDISKHANTERAMNT

Microsoft är beroende av systemadministratörer och har slutligen lanserat ett skriptbart kommandoradsverktyg för att hantera diskar Windows 2000. Med DiskPart kan du skapa volymer eller partitioner, skapa och bryta speglingar, utöka volymer och undersöka information om diskar, volymer och partitioner. Det som är bra är att DiskPart är en kostnadsfri nedladdning från http://www.microsoft.com/downloads/release.asp?ReleaseID=31167.

WINHEC 2001 BILDER ONLINE

Om du missade Microsofts årliga WINDOWS Hardware Engineering Conference (WINHEC) kan du fortfarande se bilder från många av presentationerna. Besök http://www.microsoft.com/winhec/sessions/driver.htm för en lista över sessioner, beskrivningar och tillhörande länkar till Power Point-kort. Presentationer av allmänt intresse är sådana som gäller tekniker för drivrutinsfelsökning, filterdrivrutiner och NDIS-miniport och mellanliggande drivrutiner.

NYA GRÄNSSNITT FÖR SYTEM-FILTERDRIVRUTINER I XP

Om du har en filspegling i realtid, viruskontroll vid åtkomst eller en hierarkisk lagringshanteringsprodukt som baseras på en filterdrivrutin för filsystem bör du se till att din breast av de ändringar som Microsoft har infört i Windows XP som påverkar dig.

Den största ändringen gäller snabba I/O-rutiner, de specialfunktioner som en filsystemdrivrutin registrerar så att Memory Manager, Cache Manager och I/O-systemet kan köra filsystemets I/O och interagera med filsystemdrivrutiner utan att behöva generera IRPs. Det kan komma som en överraskning för några av er att det finns sex snabba I/O-rutiner där filterdrivrutiner för filsystem alltid kringgås. De är:

FastIoAcquireFileExclusive
FastIoReleaseFile
FastIoAcquireFileForCcFlush
FastIoReleaseFileForCcFlush
FastIoAcquireFileForModWrite
FastIoReleaseFileForModWrite

Memory Manager anropar och före och efter skapandet av ett avsnitt som backas upp av en fil, och andra undersystem i kernelläge kan anropa dessa rutiner för att tillfälligt förhindra att FastIoAcquireFileExclusiveFastIoReleaseFile avsnitt skapas. Cachehanteraren anropar och före och efter att alla eller delar av en fils ändrade cachelagrade data har rensats tillbaka till disken, och Memory Manager anropar och före och efter skrivning av dirty FastIoAcquireFileForCcFlushFastIoReleaseFileForCcFlushFastIoAcquireFileForModWrite mappade filsidor tillbaka till en FastIoReleaseFileForModWrite fil.

I stället för att anropa snabba I/O-funktioner direkt använder kernellägesundersystem rutiner för surrogatfilsystemkörning (FsRtl). Körningsrutinerna för de flesta snabba I/O-funktionerna anropar filterdrivrutiner genom att hämta en referens till filterenhetsobjektet via ett anrop till på målfilobjektet och sedan anropa filtrets motsvarande snabba I/O-rutin, men körningsrutiner som rör snabba I/O-anrop som bara anges i listan anropar istället , som returnerar den underliggande filsystemdrivrutinens IoGetRelatedDeviceObjectIoGetBaseFileSystemDeviceObject enhetsobjekt. Anledningen till att körningen kringgår filter för dessa funktioner är enligt min mening lite lame: körningen litar helt enkelt inte på filterdrivrutiner. Om ett filter inte skickar dessa anrop till den underliggande filsystemdrivrutinen orsakar det skadade filsystemdata och en krasch. Men det finns många saker som en filterdrivrutin kan göra för att orsaka krascher.

I Windows XP introducerar FsRtl en ny funktion, , som filterdrivrutiner använder för att registrera FsRtlRegisterFileSystemFilterCallbacks återanrop för dessa olika åtgärder. Detta gör det möjligt för filterdrivrutiner för filsystem att undersöka dessa åtgärder och även misslyckas, och körningen kan se till att den underliggande filsystemdrivrutinen alltid anropas när det är lämpligt. Var hittar du dokumentationen för funktionen? Den Windows XP Installable File System Kit, som är tillgänglig för 995 USD från Microsoft:http://www.microsoft.com/ddk/ifskit/XPdefault.asp.

KRASCHFÖNSTER MED EN TANGENTTRYCKNING

För några nyhetsbrev sedan sa jag hur du kan lägga till en inställning i Windows 2000-registret som gör att du kan starta en Bluescreen-krasch av ett system som körs med en särskild nyckelsekvens, så att du kan analysera system som annars inte svarar på indata. Hur är det med ett sätt att krascha Windows NT och Windows 2000 utan att behöva ange något i registret?

Öppna ett kommandotolkfönster, ändra den aktuella katalogen till roten på din startenhet (enheten med på \winnt den) och skriv dir /s . Medan det körs skriver du F7+ Retur några gånger och avbryter sedan listan genom att skriva Ctrl-C. Du kommer antingen omedelbart att stöta på en blå skärm eller starta om datorn igen. Cool, cool? Till skillnad från det trick som jag tidigare rapporterade är den här tyvärr inte utformat för beteendet, utan snarare en bugg som du kan hitta en rapport för på http://www.WindowsITsecurity.com/articles/index.cfm?articleID=22037.

För de som missade nyhetsbrevet som innehöll inställningen för tangenttryckning och krasch lägger du till följande registervärde i Windows 2000- eller XP-registret enligt anvisningarna i hjälpfilen för Microsofts felsökningsverktyg:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\i8042prt\Parameters\CrashOnCtrlScrll DWORD 1

Starta om och du kan krascha systemet genom att skriva rullningslås två gånger samtidigt som du håller ned den vänstra kontrollnyckeln.

WINDOWS XP PREFETCHING

Microsoft har fokuserat Windows XP på att förbättra slutanvändarupplevelsen, och användarna anser att en stor del av upplevelsen är hur snabbt en dator kan startas och användas. Därför har en Microsoft-utvecklare ägnat en hel del arbete åt att förbättra startprocessens prestanda och programstart. De har åtgärdat detta på flera sätt: det första är att serie- och nätverksdrivrutiner initieras parallellt, till skillnad från i Windows 2000 där de initierar seriellt. För det andra väntar Winlogon inte längre på att arbetsstationstjänsten (som i sig väntar på nätverkstjänster) ska bli tillgänglig innan inloggningsdialogrutan visas och användaren tillåts logga in. Slutligen har de införlivat en teknik som kallas "prefetching" i startprocessen och programstarten. Jag ska kortfattat gå igenom hur prefetching fungerar och peka dig på ett whitepaper som Microsoft har publicerat om startoptimeringar.

Windows (alla versioner utom win3.1 i realtid) är ett operativsystem med sidindelning på begäran, där fildata och kod "felas" i minnet från disken när ett program försöker komma åt den. Data och kod har fel i "sidkorniga segment" där en sidas storlek beror på processorns maskinvara för minneshantering. En sida är 4 KB på x86. Förfetning är processen att föra in data och kodsidor i minnet från disken innan det krävs.

Xp Cache Manager övervakar sidfel som uppstår när programmen startas för att ta reda på vad som bör förinta sig. Som standard spårar den de första 2 minuterna av startprocessen och de första 10 sekunderna av programstart. När du har samlat in en spårning som är ordnad i fel som tas på MFT-metadatafilen (NTFS Master File Table) (om programmet har åtkomst till filer eller kataloger på NTFS-volymer), de filer som refereras till och de kataloger som refereras, meddelas prefetch-komponenten i Schemaläggaren genom att signalera ett namngivet händelseobjekt. -Schemaläggaren ett anrop till NtQuerySystemInformation med en informationstyp som anger en fråga för en spårning och läser den i. Efter att ha utfört efterbearbetning på spårningsdata skriver Schemaläggaren ut dem till en fil under \Windows\Prefetch . Filens namn är namnet på programmet som spårningen gäller för följt av ett bindestreck och den hexadecimala representationen av en hash för filens sökväg. Filen har filnamnstillägget ".pf", så ett exempel är NOTEPAD.EXE-AF43252301.PF.

Ett undantag till filnamnsregeln är den fil som lagrar startspårningen, som alltid namnges NTOSBOOT-B00DFAAD.PF (en konvolution av det hexadecimalt kompatibla ordet "BAADF00D", som programmerare ofta använder för att representera oiniterade data). Eventuella fel som tas i system- eller inaktiva processer betraktas som en del av starten, vilket är logiskt eftersom det är i systemprocessen som enhetsdrivrutiner läser in och initierar.

När starten startar eller ett program kör processhanteraren anropar Cache Manager för att ge den en möjlighet att utföra förfetning. Cachehanteraren letar i prefetch-katalogen för att se om det finns en spårningsfil för det prefetch-scenariot i fråga. När cachehanteraren anropar NTFS för att prefetcha eventuella MFT-metadatafilreferenser, läses det i innehållet i varje katalogreferens och öppnar slutligen varje fil som refereras och använder Memory Manager för att läsa in alla data och kod som anges i spårningen som inte redan finns i minnet. Minneshanteraren initierar alla läsningar asynkront och väntar sedan på att de ska slutföras innan programmets start fortsätter.

Hur ger det här schemat en prestandaförmån? Svaret ligger i det faktum att under normal start eller programstart sker felordningen så att vissa sidor tas in från en del av en fil, sedan en annan, sedan några från en annan fil, sedan en del från en katalog och så vidare. Den här hoppningen motsvarar direkt att hoppa runt på disken, och Microsoft har lärt sig genom analys att disksökningstider är en dominerande faktor som gör start- och programstarttider långsammare. Sökning elimineras praktiskt taget när prefetching läser in data från en viss fil eller katalog på samma gång innan du går vidare till en annan.

För att minimera sökning ytterligare ordnar Schemaläggaren var tredje dag en lista över filer och kataloger i den ordning som de refereras till under start eller programstart och lagrar listan i en fil med namnet \Windows\Prefech\Layout.ini . Sedan startas systemdefragmentern med ett kommandoradsalternativ som talar om för defragmentören att defragmenteringen ska baseras på innehållet i filen i stället för att utföra en fullständig defragmentering. Defragmentören hittar ett sammanhängande område på en volym som är tillräckligt stor för att innehålla alla listade filer och kataloger och flyttar dem sedan till området så att de lagras en i följd.

Det här är grunderna i XP-förfetchingsschemat, som Microsoft rapporterar påskyndar startprocessen avsevärt (du kan faktiskt se att XP startar mycket snabbare än Windows 2000). Du hittar mer information om förfetching och de andra förbättringarna för snabbstart i en white paper på http://www.microsoft.com/hwdev/fastboot/. Dessutom har Dave Dave Och jag börjat arbeta med XP-revisionen av "Inside Windows 2000" (för publicering i mitten av spring), och du hittar en ännu mer detaljerad beskrivning där.

WINDOWS .NET-ANSLUTNINGAR

De som saknade mig på TechEd kan höra mig tala på Windows .NET Connections-konferensen i Scottsimport, Arizona den 3 oktober. Jag håller presentationer om analys Windows NT/2000-kraschdump och kerneländringar i Windows XP. Andra talare på konferensen är kollegor på Windows 2000 Magazine som bidrar med redigeringsprogram Mark Minasi och Per dag. Hör av dig till mig om du har hört talas om konferensen från nyhetsbrevet.

Du kan se sammanfattningarna för mina föredrag och hitta en länk till Windows .NET-anslutningar påhttp://www.sysinternals.com/ntw2k/info/talk.shtml.

VAD ÄR PÅ GÅNG

MINA ITANIUM-UPPLEVELSER

Microsoft har lånat mig ett Itanium-system så att jag kan porta Sysinternals-verktyg till Win64. Datorn har vissa imponerande specifikationer, som 2 733 MHz-processorer och 8 GB (!) RAM-minne. Nästa gång ska jag berätta om mina portningsupplevelser, inklusive de ändringar jag har varit tvungen att göra i olika verktyg så att de fungerar med Win64.


Tack för att du läser Sysinternals Nyhetsbrev.

Publicerad måndag 20 augusti 2001 19:03 av m

[Nyhetsbrevsarkiv ^][ Volym 3, Nummer 1][Volym 4, Nummer 1 ]

[Nyhetsbrevsarkiv ^][ Volym 3, Nummer 1][Volym 4, Nummer 1 ]

System Internals Newsletter Volym 3, nummer 2

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