1999. augusztus 5. – Ebben a problémában:

  1. A BELSŐ RENDSZEREK ÚJDONSÁGAI

    • Portmon v3.0
    • Frob v1.5
    • ListDLLs v2.1
    • Új BOOT.INI lehetőségek
    • PsList v1.0
    • August "NT Internals"
    • Nem annyira új dolgok
  2. BELSŐ HÍREK

    • Correction Re: System File Protection
    • Megjelent a Win2K RC1 DDK
    • A Win2K AWE API
    • WinDev '99 West
  3. MI LESZ A KÖVETKEZŐ?

    • SP4's Undocumented DiskEdit Tool

SZPONZOR: A TÉLI SZOFTVER

A systems internals hírlevelet a Küldő Software szponzorálja, a weben a következő webhelyen: http://www.winternals.com. A Modern szoftver az NT/2K-hez használható fejlett rendszereszközök vezető fejlesztője Windows szolgáltatója. A Téli szoftvertermékek közé tartozik a FAT32 az Windows NT 4.0, ERD Commander (az Windows NT rendszerindítási lemezes képessége) és az NTRecover.

A Téli szoftver bejelenti a legújabb rendszer-helyreállító segédprogram, a Remote Recover (Távoli helyreállítás) kiadását. A távoli helyreállítás lehetővé teszi, hogy a vállalaton belül bárhonnan hozzáférjen a nem rendszerről a TCP/IP-n keresztüli számítógép meghajtóihoz. Időt és támogatást takaríthat meg, ha távolról javítja az NT- vagy Win9x-rendszereket távolról megoldó illesztő-, fájlrendszer- és konfigurációs problémákat. Töltsön le egy ingyenes, csak olvasható próbaverziót a következő ről: , és vásárolja meg az http://www.sysinternals.com/rrecover.htm olvasási/írási verziót a következőn: http://www.winternals.com.


Üdvözlök mindenkit!

Üdvözöljük a Belső rendszerek hírlevele negyedik kiadásában. A hírlevelenek jelenleg 7000 előfizetője van.

Az utolsó hírlevelemben azt jeleztem, hogy a 2000-es Windows (Win2K) AWE API-ját szeretném lefedni. Rámutattam, hogy az AWE az "Address Windowing Extensions" (Címablak-bővítmények) röviden (a Windows világában az API az "Application Programming Interface" (Alkalmazásprogramozási felület) röviden "Application Programming Interface" (Alkalmazásprogramozási felület). A Microsoft hardverfejlesztői webhelyének ezen a lapján a következő leírások írják le: http://www.microsoft.com/hwdev/NTDRIVERS/AWE.htm. Laxmikant Gunda olvasó azonban egy másik URL-címre mutatott a Microsoft webhelyén, ahol az http://www.microsoft.com/windows/server/News/fromMS/intelpae.asp AWE az "Advanced Windowing Extensions" API-t jelöli meg. Egyértelmű, hogy az "Address" (Cím) jobban érthető, mint az API kontextusában a "Speciális" (amelyet a hírlevele későbbi részében ismertetünk), így azt hiszem, hogy egy marketinges író csak egy trükkként néz rájuk, miközben nyers technikai anyagokat kivonatolt a híroldalhoz.

Ezt a félreértést már korábban is láthattam a Microsoft technikai lefedettségében. Legutóbb a Win2K Installable File Systems (IFS) Kit 3. bétaverziós kiadásának telepítőprogramja jelentette be magát a kezdőképernyőn az "Internal File Systems Kit" beállításaként. Az IFS-ben az "I" mindig is az "Installable" (Telepíthető) lehetőséget használja, és a belsőnek nincs sok értelme (kivéve, ha véletlenül a készlet nem nyilvános verzióját adták ki), ezért arra tippelek, hogy egy másik esete, amikor valami fel van dobva a fordításban (vagy a telepítő kódolónak nincs kéznél a fájlrendszer csapattagja, és a legjobb tippet használják).

Mi a lényeg? Nem igazán van ilyen, előbb vagy utóbb rövidítéseket fogunk lefutni, ahol a fejlesztők és a marketinges személyek véletlenül ugyanazokkal a hárombetűs betűkkel kezdik el leírni a különböző technológiákat. A Microsoft IIS (Internet Information Server) csoportjának egy tagja egy AIE nevű új API-t fog nevezzen el ("Advanced ISAPI Extensions" (Speciális ISAPI-bővítmények) – az ISAPI az Internet Server API-t jelenti), és az MTS (Microsoft Transaction Server) csoport egyik tagja egy másik AIE-val, az "Atomic Interface Exchange" névvel fog előjönni. Biztos vagyok benne, hogy egy napon egy marketinges személy vagy műszaki író az IIS-csapattól egy olyan technikai tanulmányt fog adni, amely az "AIE"-ra hivatkozik, és nem ismeri az adatbázis és a fájlrendszer közötti különbséget, azt fogja kitalálni, hogy az "Advanced Internet Explorer" röviden "Advanced Internet Explorer".

Más helyeken is láthattam a mozaikszavak félreértését. Egy nemrégiben Windows NT Magazine-cikk, amely a soros és párhuzamos portokat tárgyalja, a szövegében a "COM port" kifejezést használtuk. Miután a másolásszerkesztő megkapta a végső passzt, és közzétette a cikket, a kifejezés "COM (Component Object Model) port lett".

A szokásos módon adja át a hírlevelet a barátainak, hogy érdekesnek találhatja.

Köszönjük!

-Mark (Megjelölés)

A BELSŐ RENDSZEREK ÚJDONSÁGAI

PORTMON V3.0

A Portmon a 3.0-s kiadással lett továbbfejlesztve. A Portmon egy soros és párhuzamos portfigyelési alkalmazás Windows 95/98/NT/2K-hez. A 3.0-s verzió a következőt vezet be:

  • speciális szűrési és kimenetkiemelő képesség
  • a soros és párhuzamos porttevékenység figyelése távoli rendszereken
  • log-to-file and printing support
  • vágólap-integráció
  • egy beállítás, amely lehetővé teszi annak megadását, hogy mennyi adatot kell naplózni

Töltse le a Portmon v3.0-t a címről http://www.sysinternals.com/portmon.htm.

FROB V1.5

Windows NT 4.0 Server nem teszi lehetővé a rendszergazdák számára, hogy szabályozni tudjanak az NT-szálütemező által a szálaknak adott kvantumok (váltások) hosszát. A Windows 4.0-s munkaállomáson a Vezérlőpult rendszer kis appletje egy teljesítmény lapfület tartalmaz egy csúszkával, amellyel kvantum-kiemelést jelölhet ki az előtérszálakhoz (a csúszka a Kiszolgálón is jelen van, de semmit nem csinál). A rövidebb kvantumok általában olyan alkalmazásokat eredményeznek, amelyek rugalmasabban reagálnak a felhasználói bemenetre, míg a hosszú kvantumok a nem interaktív kiszolgálóalkalmazások futtatására dedikált rendszerekhez használhatók.

A Belső rendszerek Frob programja ugyanezt a finomabb szintű vezérlést biztosítja a kvantumhosszok felett mind a munkaállomáson, mind a kiszolgálón, így a kvantumokat a rendszeren futtatott számítási feladatokhoz hangolhatja. Mivel azonban a Frob módosítja az NT kernelen belüli beállításokat, frissíteni kell, hogy minden új szervizcsomaggal működjön. A Frob 1.5-ös verzió már elérhető, és kompatibilitást biztosít az 5. szervizcsomaggal.

Az Frob v1.5 a címről tölthető le http://www.sysinternals.com/ntfrob.htm.

LISTDLLS V2.1

A ListDLLs egy parancssori segédprogram, amely részletes verzióinformációkat mutat be a folyamatok által betöltött DLL-ekkel kapcsolatban. A ListDLLs a betöltött DLL-ek fájlútvonalának megfelelő verzióinformációkat nyeri ki a lemezen lévő fájlokból, és nem dokumentált felületek használatával szerez be elérési utakat. Előfordulhat, hogy egy lemezen lévő DLL-fájl frissül, miután egy alkalmazás már betöltötte azt. Ebben az esetben a ListDLLs helytelen verzióinformációkat mutat.

A ListDLLs v2.1 felismeri, ha különbség van a lemez és a DLL betöltött verziói között, és jelzi a kimenetben lévő különbséget. Ha eltérés van a ListDL-ek között, a rendszer kinyomtatja a lemezen lévő fájl és a betöltött fájl hivatkozási időeit. A végrehajtható fájlok és DLL-fájlok hivatkozási időke az NT által a csomagoláshoz használt Hordozható végrehajtható fájl (PE) fájlformátum fejlécében található.

Töltse le a ListDLLs v2.1-et itt: http://www.sysinternals.com/listdlls.htm.

ÚJ BOOT.INI LEHETŐSÉGEK

A Win2K Beta 3 három új BOOT.INI vezet be. Mindhárom az Intel fizikai címkiterjesztéséhez (PAE) kapcsolódik, amely a Pentium Pro-vel bevezetett intel, és lehetővé teszi akár 64 GB fizikai memória használatát az x86-rendszerek számára. Az x86-rendszerek hagyományosan csak 4 GB fizikai memóriát tudnak kicímeni, a PAE és a 450NX lapkakészlet esetében azonban ez a határ megszakadt. A Win2K az első olyan Microsoft operációs rendszer, amely kihasználja a PAE előnyeit (Sun Solaris 7 és SCO UnixWare 7 már támogatja a PAE-t). A Win2K kernelnek van egy speciális buildje, ntkrnlpa.exe, amely beépített támogatást nyújt. Az NTLDR, a Win2K rendszertöltő felelős a standard kernel, az ntoskrnl.exe vagy a PAE-kompatibilis rendszer betöltéséért annak alapján, hogy a rendszer képes-e 4 GB-otnál több memóriát kezelni, és rendelkezik-e ezzel a mennyiséggel.

Mindhárom új BOOT.INI olyan eszközillesztők hibakeresésére lett kialakítva, amelyek nagy memóriarendszerekkel (4 GB-ot nagyobb méretű rendszerekkel) való használatra vannak tervezve. Az első /PAE a kernel PAE-verzióját akkor is NTLDR-terheléssel rendelkezik, ha a számítógép nem rendelkezik 4 GB-osnál több memóriával. A második ,NOPAE, az NTLDR kényszeríti a standard kernel betöltését. Végül a /NOLOWMEM kapcsoló win2K kernele csak 4 GB feletti fizikai memóriát használ. Ez arra kényszeríti a Win2K által használt összes fizikai címet, hogy több mint 32 bitet igényel a reprezentálásukhoz, így az eszközillesztők nagy fizikai címeket kezelnek.

A rendelkezésre álló kapcsolók BOOT.INI listáját itt találja: http://www.sysinternals.com/bootini.htm.

PSLIST V1.0

A legtöbb UNIX egy "ps" nevű parancssori eszközt tartalmaz, amely a rendszergazdák által a processzor- és memóriastatisztikák feldolgozására használható. Az NT egyenértékű grafikus felhasználói felületű eszközzel rendelkezik, feladatkezelő, de az NT nem rendelkezik parancssori verzióval. Az Windows NT Resource Kit két parancssori "ps" típusú eszközt tartalmaz, a pstat és a pumon eszközt. A PsList a pstat és a pumon együttesen elérhető információkat jeleníti meg, de rendelkezik olyan képességgel, amely egyik Resource Kit eszközzel sem rendelkezik: a PsList használatával lekérdezheti egy távoli rendszeren a folyamatadatokat.

A PsList több olyan jelzőt is használ, amelyek lehetővé teszik a processzor-, memória- vagy szálstatisztikák megtekintését, valamint egy kapcsolót, amellyel megadhat egy másik lekérdezni kívánt NT-számítógépet. A PsList az NT beépített teljesítményszámlálóit használja a látható információk beszerzéséhez, és nt 3.51, 4.0 és Win2K rendszeren működik.

PsList letöltése: http://www.sysinternals.com/pslist.htm.

AUGUST "NT INTERNALS"

Az "NT Internals" oszlopom az Windows NT Magazine augusztusi számában az "Inside Win2K Reliability Enhancements, Part 1" (A Win2K megbízhatóságának fejlesztései, 1. rész) A háromrészes sorozat első része a Win2K-funkciókat ismerteti, amelyek célja, hogy segítsenek a rendszergazdáknak a rendszer rendszerkivűnésében, miután az már nem lesz rendszer. Ezek közé tartozik a "csökkentett módú" rendszerindítás és a helyreállítási konzol.

Augusztus elejétől az Windows NT Magazine online verziói csak előfizetők számára érhetők el, és minden új problémáról online elérhetők cikkek. Ha még nem iratkált fel, tekintse meg az előfizetési hivatkozást a következő hivatkozáson: a Systems Internals előfizetési http://www.sysinternals.com/publ.htm kedvezményt.

NOT-SO-NEW STUFF

Ha még nem volt egy-két ismerőse, tekintse meg a Systems Internals Bluescreen Screen Saver (Belső rendszerek bluescreen képernyővédője) útmutatót. A 2.0-s verzió megjeleníti a Blue Screen of Death (BSOD) Win2K verzióját és a Win2K indítási sorozatát, amikor Win2K rendszeren futtatja. Nagyon szeretném, hogy a Bluescreen Screen Saver a közelmúltban öt csillagot, a lehető legjobb minősítést kapta a Ziff-Card szoftverkönyvtárából.

Töltse le a Bluescreen Screen Saver v2.0-t a címről http://www.sysinternals.com/bluescrn.htm.

BELSŐ HÍREK

JAVÍTÁS – RE: RENDSZERFÁJLVÉDELEM

A legutóbbi hírlevelemben kitamtam, hogy a Win2K System File Protection (SFP) lehetővé teszi az olyan alkalmazások számára, mint a szervizcsomagok (SPS-k) és a gyorsjavítások a rendszerfájlok frissítését egy SFCTerminateWatcherThread nevű függvény SFP-exportálásának hívásával. Bár az SFP exportálja ezt a függvényt, az SPS-k és a gyorsjavítások nem használják a függvényt a rendszerfájlok frissítésekekor. Ehelyett azért tudják frissíteni a rendszerfájlokat, mert lecserélik a meglévő rendszerfájlokat a Microsoft által digitálisan aláírt fájlokra. Az SFP észleli a frissítéseket, de engedélyezi azok maradását, mert az SFP ellenőrzi, hogy az új fájlok digitálisan vannak aláírva. Az SFP-lefedettség egy másik javítása az, hogy miután a Win2K Beta 3 Microsoft módosította az SFP nevét a Windows File Protection (WFP) névre.

Mindenképpen tekintse meg az Windows NT Magazine szeptemberi kiadását, ahol megtalálja az "Inside Win2K Reliability Enhancements, Part 2" (A WFP és a Microsoft digitális fájlbefejlécek részletes leírását) "Inside Win2K Reliability Enhancements, Part 2" (A WFP és a Microsoft digitális fájlbefejlécek) "Inside Win2K Reliability Enhancements" (A Win2K megbízhatóságának fejlesztései) oszlopot.

MEGJELENT WIN2K RC1 DDK

A Microsoft Device Driver Development Kit (DDK) Win2K RC1 kiadását itt töltheti le: http://www.microsoft.com/ddk/ddk2kRC1.htm. A csomagot ingyenesen letöltheti, vagy online is böngészhet a dokumentációban.

A WIN2K AWE API

Már említettem az AWE API-t ennek a hírlevelenek a bevezetésében, és hivatkoztam egy weboldalra a Microsoftnál, ahol további információt kaphat: http://www.microsoft.com/hwdev/NTDRIVERS/AWE.htm. A win2K PAE-kompatibilis kernele ( ntkrnlpa.exe) a 4 GB-otnál nagyobb fizikai memóriával is képes kihasználni a számítógép összes fizikai memóriáját, és nem módosítja az alkalmazásokat. A Win2K Advanced Server legfeljebb 8 GB fizikai memóriát, a Win2K Datacenter Server pedig legfeljebb 64 GB fizikai memóriát fog használni.

Bár egy nagy memóriarendszerben minden alkalmazáshoz legalább 2 GB virtuális memória áll rendelkezésre (3 GB, ha meg van adva a /3 GB-os BOOT.INI-kapcsoló), az összes végrehajtó alkalmazáshoz rendelt fizikai memória összege megegyezik a fizikai memória mennyiségével. Ezenkívül a Win2K-ban a fájlrendszer gyorsítótára legfeljebb 960 MB virtuális memóriát kap, de a gyorsítótárazott fájladatok mennyisége sokkal nagyobb lehet, mint a gyorsítótárhoz rendelt fizikai memória mérete 960 MB-ot.

Az AWE API lehetővé teszi az egyes alkalmazások számára a fizikai memória közvetlen vezérlését, valamint a virtuális címtér méretétől függően a 2 GB-os vagy 3 GB-os korlátot is. Az AWE API alapötlete az, hogy egy alkalmazás a virtuális címtér egy részét "ablakként" jelöli meg a fizikai memóriában. Ezután lefoglalja a fizikai memória egy darabját. Az alkalmazás által lefoglalható fizikai memória felső korlátja lényegében a rendszer fizikai memóriájának mennyisége a kernel, az eszközillesztők és az AWE API-t használó egyéb alkalmazások által már lefoglalt nem lapozási memória nélkül. Ha az alkalmazás el szeretné férni a lefoglalt fizikai memória egy részét, leképezi a memóriát a virtuális címablakába. Ezért az alkalmazás számára egy adott leképezés által elérhető fizikai memória mennyiségét a lefoglalt időszak mérete korlátozza. Végül, amikor egy alkalmazás végzett a fizikai memóriával, egyszerűen felszabadítja a memóriát, és bezárja (felszabadítja) a létrehozott virtuális címablakot.

Az ezeknek a műveleteknek megfelelő API-kat a kernel32.dll exportálja, és a következők:

  • Egy alkalmazás hívja meg a VirtualAlloc MEM_PHYSICAL és MEM_RESERVE jelzőket a virtuális címablak létrehozásához
  • A AllocateUserPhysicalPages fizikai memóriát foglal le egy alkalmazás számára
  • Egy alkalmazás a MapUserPhysicalPages segítségével leképezi a fizikai memória egyes részeit az ablakába
  • A FreeUserPhysicalPages felszabadítja az alkalmazás által lefoglalt fizikai memóriát

A több GB memóriát közvetlenül kezelő alkalmazások sok memóriaigényű programot kezelnek, például adatbázis-kiszolgálókat, levelezési kiszolgálókat, webkiszolgálókat, pénzügyi elemzéseket és tudományos alkalmazásokat.

Bár a 4 GB-osnál több fizikai memória használata csak a Win2K bizonyos verzióiban engedélyezett, az AWE API minden verzióban elérhető. Ez azt jelenti, hogy egy 4 GB memóriát használó Win2K Professional rendszeren például az AWE API továbbra is memóriaigényes alkalmazásokat biztosít, amelyek több mint 2 vagy 3 GB adatot kezelnek a fizikai memóriában.

Az AWE API egyenértékű kernelmódú felületekkel rendelkezik, kernel32.dll a felhasználói módú API-kat. Az illesztőprogramok az MmAllocatePagesForMdl használatával foglalnak le fizikai memóriát, amely az AllocateUserPhysicalPages kernelmódú megfelelője. Ennek a függvénynek a prototípusa a Win2K DDK ntddk.h fájlban található, de nem dokumentált. Prototípusa a következő:

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

LowAddress A a legalacsonyabb elfogadható fizikai cím, amit le szeretne foglalni, a HighAddress pedig a legmagasabb. A SkipBytes azt a bájtszámot jelenti, amelyet a kernelnek szabadnak kell tartania azon cím felett és alatt, amelyen megkezdi a fizikai memória LowAddress lefoglalását. TotalBytes A azon bájtok száma, amelyet az illesztő le szeretne foglalni. A függvény visszatérési értéke egy MDL, amely ha nem nulla, akkor azt a fizikai memóriát írja le, amit a kernel adott az illesztőnek. A memória egyes részeinek eléréséhez az illesztőnek a visszaadott MDL-ből létre kell hoznia al-MDL-eket, amelyek a fizikai memória megfelelő részeit írják le. Ha egy illesztő egy al-MDL által leírt fizikai memóriát szeretne elérni, az al-MDL-t a használatával kell MmGetSystemAddressForMdlSafe leképeznie.

Az illesztőprogramok a rendszermag mód megfelelője használatával szabadítják fel a hez lefoglalt MmFreePagesFromMdlFreeUserPhysicalPages fizikai MmAllocatePagesForMdl memóriát. Ez a függvény az ntddk.h fájlban is prototípusként használható:

NTKERNELAPI
VOID
MmFreePagesFromMdl (
    IN PMDL MemoryDescriptorList
    );

Vegye figyelembe, hogy az illesztő felelős az által visszaadott MDL felszabadításáért az ExFreePool hívásával, mivel nem szabadította fel az MmAllocatePagesForMdlMmFreePagesFromMdl MDL-t.

WINDEV '99 WEST

Az első számú konferencia 1999-es nyugati parti kiadása Windows a fejlesztők számára gyors megközelítést alkalmaz. A WinDev '99 West szeptember 13-18-án lesz a kaliforniai Clara Marriotban. A fejlesztés során számos nagy Windows, köztük Jeff Richter, Jeff Prosise és Don Box. Az eszközillesztők nyomon követésében ott vagyok Majd Majd Pedig PedigRel és Brian Catlinnel. A bemutatóim tartalmaznak egy egész napos oktatóanyagot az NT belső vezérlőiről, valamint egy másikat az Windows NT/2K fájlrendszer-illesztőprogramok írásához és egy speciális eszközillesztő-fejlesztési problémákhoz. Üdvözöljük!

Látogasson el a WinDev West weboldalára a következő webhelyen: http://www.butrain.bu.edu/windev/.

MI LESZ A KÖVETKEZŐ?

NT 4.0 SP4 DISKEDIT

Windows NT 4.0 Service Pack 4 egy olyan segédprogrammal együtt van a CD-n, amit sokan nem vettek észre: DiskEdit. Nem is kérdés: az eszköz nem telepíthető a merevlemezre, és nem tartalmaz dokumentációt. Szinte biztos, hogy a Microsoft fájlrendszer-fejlesztői által belsőleg használt eszköz, amelyet véletlenül a CD-n szállítottak. A DiskEdit azoknak a tárháznak a tára, akik nem maradtak ki a Windows NT-hez való, Illetve csak az NTFS és a FAT fájlrendszert a lemezen található adatstruktúrákról. A következő alkalommal a DiskEdit használatára vonatkozó útmutatást nyújtok.


Köszönjük, hogy elolvasta a belső rendszerek hírlevelet.

Published Thursday, August 05, 1999 19:13 PM by ottoh

[Hírlevelek archívuma ^][ Volume 1, Number 3][Volume 1, Number 5 ]

[Hírlevelek archívuma ^][ Volume 1, Number 3][Volume 1, Number 5 ]

A rendszerek belső hírlevele, 1. kötet, 4. szám

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