[Hírlevelek archívuma ^][< 1. kötet, 3. szám][1. kötet, 5. >szám ]

The Systems Internals Newsletter Volume 1, Number 4

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


1999. augusztus 5. – Ebben a kérdésben:

  1. A SYSTEMS INTERNALS ÚJDONSÁGAI

    • Portmon v3.0
    • Frob 1.5-ös verzió
    • ListDLLs v2.1
    • Új RENDSZERINDÍTÁS. INI-beállítások
    • PsList 1.0-s verzió
    • Augusztusi "NT Internals"
    • Nem annyira új dolgok
  2. BELSŐ HÍREK

    • Javítás re: System File Protection
    • Megjelent a Win2K RC1 DDK
    • A Win2K AWE API
    • WinDev '99 Nyugat
  3. MI VÁRHATÓ?

    • AZ SP4 nem dokumentált Lemezszerkesztési eszköze

SZPONZOR: WINTERNALS SZOFTVER

A Systems Internals Hírlevél által szponzorált Winternals Software, a weben a http://www.winternals.com. A Winternals Software a Windows NT/2K fejlett rendszereszközök vezető fejlesztője és szolgáltatója. A Winternals szoftvertermékek közé tartozik a FAT32 a Windows NT 4.0-hoz, az ERD Commander (a Windows NT rendszerindító lemezes képessége) és az NTRecover.

A Winternals Software bejelenti a legújabb rendszer-helyreállító segédprogram, a Remote Recover kiadását. A Távoli helyreállítás lehetővé teszi, hogy a vállalat bármely pontjáról tcp/IP-címen keresztül elérhesse a nem hajózható számítógép meghajtóját. Időt és támogatást takaríthat meg azáltal, hogy távolról kijavítja az NT- vagy Win9x-rendszereket érintő illesztőprogram-, fájlrendszer- és konfigurációs problémákat. Töltsön le egy ingyenes írásvédett próbaverziót a következő címen http://www.sysinternals.com/rrecover.htm, és vásárolja meg az olvasási/írási verziót: http://www.winternals.com.


Üdvözlök mindenkit!

Üdvözöljük a Systems Internals hírlevél negyedik kiadásában. A hírlevélnek jelenleg 7000 előfizetője van.

A legutóbbi hírlevélben jeleztem, hogy a Windows 2000 (Win2K) AWE API-ját fogom lefedni. Rámutattam, hogy az AWE a "Address Windowing Extensions" (a Windows világának kezdők számára, az API az "Application Programming Interface" nevet jelenti). A Microsoft hardverfejlesztői webhelyének ezen lapja a következőképpen írja le: http://www.microsoft.com/hwdev/NTDRIVERS/AWE.htm. Laxmikant Gunda olvasó azonban egy másik URL-címre mutatott a Microsoft webhelyén, http://www.microsoft.com/windows/server/News/fromMS/intelpae.aspahol az AWE az "Advanced Windowing Extensions" API-t jelöli. Nyilvánvaló, hogy a "Cím" több értelmet ad, mint a "Speciális" az API kontextusában (amelyet később írok le ebben a hírlevélben), így azt hiszem, hogy néhány marketing író szemük volt a szemük játszani egy trükköt őket, ahogy emésztett nyers technikai anyagok a híroldalon.

Korábban már láttam ezt a zavart a Microsoft technikai lefedettségében. Legutóbb a Win2K telepíthető fájlrendszerek (IFS) kit 3. bétaverziójának telepítőprogramja jelentette be magát a kezdőképernyőn a "Belső fájlrendszer-készlet" beállításaként. Az "I" az IFS mindig állt a "Telepíthető", és a "Belső" nem sok értelme van itt (kivéve, ha véletlenül kiadta a nem nyilvános verzióját a készlet), így gondolom, hogy a másik esetben valami elcseszte a fordítás (vagy a telepítő kódoló nem rendelkezik a fájlrendszer-csapat tagja hasznos és használja a legjobb tipp).

Mi a lényeg? Nem igazán van egy, kivéve, hogy előbb vagy utóbb lesz egy betűszó túlfut, ahol a fejlesztők és a marketing emberek kezd véletlenül használja ugyanazt a hárombetűs betűszókat a különböző technológiák leírására. A Microsoft IIS (Internet Information Server) csoportjában valaki egy új, AIE nevű API-nak ("Speciális ISAPI-bővítmények" – AZ ISAPI az Internet Server API-t jelöli), és az MTS (Microsoft Transaction Server) csoport egy másik AIE-vel, az "Atomic Interface Exchange-szel" fog előállni. És biztos vagyok benne, hogy egy nap egy marketinges vagy műszaki író lesz átadva egy technikai papírt az IIS csapat, amely hivatkozik az "AIE", és nem tudva a különbséget az adatbázis és a fájlrendszer, fogja kitalálni, hogy ez a jelentése "Advanced Internet Explorer".

Más helyeken is láttam egy betűszós zavart a munkahelyen. A Windows NT Magazine legutóbbi cikke a soros és párhuzamos portokról a "COM-port" kifejezést használta a szövegben. Miután a másolásszerkesztő átjutott egy utolsó lépéssel, és a cikk megjelent, a kifejezés "COM (Component Object Model) porttá vált".

Mint általában, kérjük, adja át a hírlevelet a barátok, hogy úgy gondolja, lehet, hogy érdekes.

Thanks!

-Mark

A SYSTEMS INTERNALS ÚJDONSÁGAI

PORTMON V3.0

A Portmon a 3.0-s kiadásával jelentősen bővült. A Portmon egy soros és párhuzamos portmonitorozási alkalmazás Windows 95/98/NT/2K rendszerhez. A 3.0-s verzió a következőt mutatja be:

  • speciális szűrési és kimeneti kiemelési képesség
  • a soros és párhuzamos porttevékenységek monitorozásának képessége távoli rendszereken
  • log-to-file és printing support
  • vágólap-integráció
  • beállítás, amellyel megadhatja, hogy mennyi olvasási/írási adat legyen naplózva

A Portmon 3.0-s verzió letöltése a http://www.sysinternals.com/portmon.htm.

FROB V1.5

A Windows NT 4.0 Server nem képes szabályozni az NT-szálütemező által a szálaknak adott kvantumok (fordulatok) hosszát. A Windows 4.0-s munkaállomáson a Rendszer kisalkalmazás a Vezérlőpult rendelkezik egy Teljesítmény lap csúszkával, amely lehetővé teszi az előtérszálak kvantum-kiemelését (a csúszka a Kiszolgálón is megtalálható, de nem csinál semmit). A rövidebb kvantumok általában olyan alkalmazásokat eredményeznek, amelyek jobban reagálnak a felhasználói bemenetre, míg a hosszú kvantumok alkalmasak a nem interaktív kiszolgálóalkalmazások futtatására dedikált rendszerekre.

A Systems Internals Frob programja ugyanazt 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 feladathoz hangolhatja. Mivel azonban az Frob az NT-kernel belső beállításait módosítja, frissíteni kell azokat az új szervizcsomagok használatához. Az Frob 1.5-ös verzió már elérhető, és kompatibilitást biztosít az 5. szervizcsomaggal.

Az Frob 1.5-ös verziót innen töltheti le: http://www.sysinternals.com/ntfrob.htm.

LISTDLLS V2.1

A ListDLLs egy parancssori segédprogram, amely részletes verzióinformációkat jelenít meg a folyamatok által betöltött DLL-ekről. A ListDLLs a betöltött DLL-ek fájlútvonalainak megfelelő lemezen lévő fájlokból nyeri ki a verzióadatokat, és nem dokumentált felületek használatával szerzi be az elérési utak nevét. Előfordulhat, hogy egy lemezen lévő DLL-fájl frissül, miután egy alkalmazás már betöltötte, ebben az esetben a ListDLLs helytelen verzióinformációkat jelenít meg.

A ListDLLs v2.1 felismeri, ha különbség van egy DLL lemezen lévő és betöltött verziói között, a kimenet különbségét jelzi. Ha eltérés van, a ListDLLs kiírja a lemezen lévő fájl és a betöltött fájl hivatkozási idejét. A végrehajtható és DLL-fájlok hivatkozási ideje a hordozható végrehajtható (PE) fájlformátum fejlécében található, amelyet az NT a becsomagolásukhoz használ.

ListDLLs v2.1 letöltése a következő címen: http://www.sysinternals.com/listdlls.htm.

ÚJ RENDSZERINDÍTÁS. INI-BEÁLLÍTÁSOK

A Win2K Béta 3 három új BOOT-t vezet be. INI kapcsolók. Mindhárom az Intel Physical Address Extensionshez (PAE) kapcsolódik, amely a Pentium Pro-val bevezetett Intel technológia, amely lehetővé teszi, hogy az x86-rendszerek akár 64 GB fizikai memória kezelésére is képesek legyenek. Az x86 rendszerek hagyományosan csak 4 GB fizikai memóriát képesek kezelni, de a PAE és a 450NX lapkakészlet esetében ez az akadály megszakadt. A Win2K az első Microsoft operációs rendszer, amely kihasználja a PAE előnyeit (a Sun Solaris 7 és a SCO UnixWare 7 már támogatja a PAE-t). Az ntkrnlpa.exe nevű Win2K kernelnek van egy speciális buildje, amely beépített támogatással rendelkezik. Az NTLDR, a Win2K rendszerindítási betöltője a standard kernel, az ntoskrnl.exe vagy a PAE-kompatibilis rendszer betöltéséért felelős, attól függően, hogy a rendszer képes-e több mint 4 GB memória kezelésére, és ez a mennyiség jelen van-e.

Mindhárom új BOOT. Az INI-kapcsolók célja az eszközillesztők hibakeresése, amelyek nagy memóriarendszerek (4 GB-nál nagyobb méretű rendszerek) használatához lettek tervezve. Az első /PAE NTLDR-sel tölti be a kernel PAE-verzióját, még akkor is, ha a számítógép nem rendelkezik 4 GB-nál több memóriával. A második ,/NOPAE a standard kernel betöltésére kényszeríti az NTLDR-t. Végül a /NOLOWMEM kapcsolóhoz a Win2K kernel csak 4 GB-nál nagyobb 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 bitesre legyen szükség a jelölésükhöz, és így nagy fizikai címek eszközillesztőinek kezelését gyakorolja.

Keresse meg a BOOT legteljesebb listáját. AZ INI kapcsolók a következő helyen érhetők el: http://www.sysinternals.com/bootini.htm.

PSLIST V1.0

A UNIX legtöbb íze egy "ps" nevű parancssori eszközzel, amelyet a rendszergazdák a processzor- és memóriastatisztikák feldolgozásának listázására használnak. Az NT rendelkezik egy egyenértékű GUI-alapú eszközzel, a Task Managerrel, de az NT parancssori verzió nélkül érhető el. A Windows NT Resource Kit két parancssori "ps"-szerű eszközt, pstat-t és pumonot tartalmaz. A PsList a pstat és a pumon segítségével elérhető információk kombinációját jeleníti meg, de rendelkezik olyan képességgel, amellyel egyik Resource Kit-eszköz sem rendelkezik: a PsList használatával lekérdezheti a távoli rendszeren lévő adatok feldolgozását.

A PsList több jelölőt használ, amelyek lehetővé teszik a folyamat cpu-, memória- vagy szálstatisztikáinak megtekintését, valamint egy kapcsolót, amely lehetővé teszi egy másik NT-számítógép lekérdezését. A PsList az NT beépített teljesítményszámlálóit használja a megjelenő információk beszerzéséhez, és az NT 3.51-en, 4.0-n és Win2K-n működik.

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

AUGUST "NT INTERNALS"

A Windows NT Magazine augusztusi számában található "NT Internals" oszlopom a következő: "Inside Win2K Reliability Enhancements, Part 1". Ez egy háromrészes sorozat első része a Win2K azon funkcióit ismerteti, amelyek célja, hogy segítsenek a rendszergazdáknak abban, hogy a rendszer a rendszer kiboothatatlanná válása után haladjon. Ezek közé tartozik a "csökkentett módú" rendszerindítás és a helyreállítási konzol.

Augusztus elejétől a Windows NT Magazine-cikkek online verziói csak az előfizetők számára érhetők el, és a cikkek minden új problémával online jelennek meg. Ha még nem iratkozott fel, a Systems Internals előfizetési kedvezményének beszerzéséhez lépjen az előfizetés hivatkozására http://www.sysinternals.com/publ.htm .

NEM ÚJ DOLGOK

Ha még nem ijedt meg egy vagy két barátjától, tekintse meg a Systems Internals Bluescreen Képernyőkímélő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. Büszkén mondhatom, hogy a Kékvásznú képernyőkímélő nemrég öt csillagot kapott, a lehető legmagasabb minősítést a Ziff-Davis szoftverkönyvtárából.

A Bluescreen Screen Saver 2.0-s verzió letöltése a http://www.sysinternals.com/bluescrn.htm.

BELSŐ HÍREK

JAVÍTÁS RE: SYSTEM FILE PROTECTION

A legutóbbi hírlevélben azt állítottam, hogy a Win2K System File Protection (SFP) lehetővé teszi az alkalmazások, mint a Szervizcsomagok (SPs) és a gyakori javítások frissítési rendszerfájlok meghívásával függvény SFP export nevű SfcTerminateWatcherThread. Bár az SFP exportálja ezt a függvényt, az SP-k és a gyakori elérésű javítások nem használják a függvényt a rendszerfájlok frissítésekor. Ehelyett képesek frissíteni a rendszerfájlokat, mert a meglévő rendszerfájlokat lecserélik a Microsoft által digitálisan aláírt fájlokra. Az SFP észleli a frissítéseket, de lehetővé teszi, hogy tartsanak, mert az SFP ellenőrzi, hogy az új fájlok digitálisan aláírtak-e. Egy másik javítás az SFP lefedettség, hogy miután Win2K Beta 3 Microsoft megváltoztatta a nevét SFP a Windows File Protection (WFP).

Mindenképpen tekintse meg a Windows NT Magazine szeptemberi számát, ahol megtalálja az NT Internals oszlopot "Inside Win2K Reliability Enhancements, Part 2", amely részletesen leírja a WFP és a Microsoft digitális fájlaláírását.

WIN2K RC1 DDK RELEA Standard kiadás D

A Microsoft Eszközillesztő-fejlesztőkészletének (DDK) Win2K RC1-kiadását a következő címen töltheti le: http://www.microsoft.com/ddk/ddk2kRC1.htm. A készletet ingyenesen letöltheti, vagy a dokumentációt online böngészheti.

A WIN2K AWE API

Már említettem az AWE API-t a hírlevél bevezetésében, és egy microsoftos weblapra hivatkoztam, ahol további információkat tudhat meg: http://www.microsoft.com/hwdev/NTDRIVERS/AWE.htm. A 4 GB-nál több fizikai memóriával rendelkező rendszereken a Win2K PAE-kompatibilis kernele - ntkrnlpa.exe - az alkalmazások módosítása nélkül képes kihasználni a számítógép összes fizikai memóriáját. A Win2K Advanced Server legfeljebb 8 GB fizikai memóriát fog használni, a Win2K Datacenter Server pedig legfeljebb 64 GB fizikai memóriát fog használni.

Bár egy nagy memóriarendszer minden alkalmazása legfeljebb 2 GB virtuális memóriával rendelkezik (a /3 GB-os RENDSZERINDÍTÁS esetén 3 GB. AZ INI-kapcsoló meg van adva), az összes végrehajtó alkalmazáshoz hozzárendelt fizikai memória összege egyenlő lehet a fizikai memória mennyiségével. Emellett a Win2K-ban a fájlrendszer gyorsítótára legfeljebb 960 MB virtuális memóriához van hozzárendelve, de a gyorsítótárazott fájladatok mennyisége sokkal nagyobb fizikai memória lehet, amely a gyorsítótárhoz van rendelve, meghaladhatja a 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ének 2 GB-os vagy 3 GB-os korlátját. Az AWE API alapgondolata az, hogy egy alkalmazás a virtuális címtér egy részét "ablakként" jelöli meg a fizikai memóriába. Ezután lefoglal egy darab fizikai memóriát. Az alkalmazás által lefoglalható fizikai memória mennyiségének felső korlátja lényegében a rendszeren lévő fizikai memória mennyisége, a kernel, az eszközillesztők és az AWE API-t használó egyéb alkalmazások által már lefoglalt nem lapozott memória nélkül. Amikor az alkalmazás hozzá szeretne férni a lefoglalt fizikai memória egy részéhez, leképezi a memóriát a virtuális címablakba. Így az alkalmazás által egy adott leképezéssel elérhető fizikai memória mennyiségét a fenntartott ablak mérete korlátozza. Végül, ha egy alkalmazás elkészült 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 az alábbiak szerint történik:

  • Egy alkalmazás meghívja a VirtualAllocot a MEM_PHYSICAL és MEM_REStandard kiadás RVE jelzőkkel a virtuális címablak létrehozásához
  • A AllocateUserPhysicalPages fizikai memóriát foglal le egy alkalmazáshoz
  • Egy alkalmazás a MapUserPhysicalPages használatával rendeli le a fizikai memória egy részét az ablakába
  • A FreeUserPhysicalPages felszabadítja az alkalmazás által lefoglalt fizikai memóriát

Az alkalmazások több GB memóriájának közvetlen manipulálására való képessége olyan memóriaigényes programok, mint az adatbázis-kiszolgálók, az e-mail-kiszolgálók, a webkiszolgálók, a pénzügyi elemzések és a tudományos alkalmazások.

Bár a 4 GB-nál több fizikai memória csak a Win2K bizonyos verzióiban használható, az AWE API minden verzióban megtalálható. Ez azt jelenti, hogy egy 4 GB memóriával rendelkező Win2K Professional rendszeren például az AWE API továbbra is lehetővé teszi a memóriaigényes alkalmazások számára, hogy 2 vagy 3 GB-nál több adatot kezeljenek a fizikai memóriában.

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

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

LowAddress a legalacsonyabb elfogadható fizikai cím, amelyet ki szeretne osztani, a HighAddress pedig a legmagasabb. A SkipBytes azon bájtok száma, amelyeket a kernelnek szabadnak kell tartania a fizikai memória lefoglalásának megkezdéséhez szükséges cím felett LowAddress és alatt. TotalBytes az illesztőprogram által lefoglalni kívánt bájtok száma. A függvény visszatérési értéke egy MDL, amely ha nem nulla, akkor azt a fizikai memóriát írja le, amelyet a kernel adott az illesztőprogramnak. A memória egyes részeinek eléréséhez az illesztőprogramnak al-MDL-ket kell létrehoznia a visszaadott MDL-ből, amelyek a fizikai memória megfelelő részeit írják le. Ha egy illesztőprogram hozzá szeretne férni egy al-MDL által leírt fizikai memóriához, le kell képeznie az al-MDL-t a használatával MmGetSystemAddressForMdlSafe.

Az illesztőprogramok a MmFreePagesFromMdlkernel mód megfelelőjével FreeUserPhysicalPagesszabadítják fel a lefoglalt fizikai memóriát MmAllocatePagesForMdl. Ezt a függvényt az ntddk.h-ban is prototípusként használják:

NTKERNELAPI
VOID
MmFreePagesFromMdl (
    IN PMDL MemoryDescriptorList
    );

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

WINDEV '99 NYUGAT

A Windows-fejlesztőknek tartott premier konferencia 1999-ben megjelent nyugati parti kiadása gyorsan közeledik. WinDev '99 West kerül sor szeptember 13-18-án a Santa Clara Marriot Kaliforniában. A Windows-fejlesztésben számos nagy név beszél, köztük Jeff Richter, Jeff Prosise és Don Box. Ott leszek Jamie Hanrahannal és Brian Catlinnel az eszközvezető nyomában. A bemutatóim között szerepel egy egész napos oktatóanyag az NT belső elemeiről, valamint egy Windows NT/2K fájlrendszer-illesztőprogramok írásáról, valamint egy speciális eszközillesztő-fejlesztési problémákról. Gyere és köszönj!

Látogasson el a WinDev west weblapjára a következő címen: http://www.butrain.bu.edu/windev/.

MI VÁRHATÓ?

NT 4.0 SP4 DISKEDIT

A Windows NT 4.0 Service Pack 4 egy remek segédprogrammal lett szállítva a CD-n, amelyet sokan talán nem vettek észre: DiskEdit. És ez nem csoda: az eszköz nem települ a merevlemezre, és nincs dokumentációja. Szinte biztos, hogy a Microsoft fájlrendszerfejlesztői által belsőleg használt eszköz, amelyet véletlenül a CD-re szállítottak. A DiskEdit egy kincs azok számára, akik lemaradtak a Windows NT-hez készült Norton Utilities Disk Edit típusú eszközről, vagy csak meg szeretnék vizsgálni az NTFS és FAT lemezen lévő adatstruktúrákat. Legközelebb útmutatást adok a DiskEdit használatához.


Köszönjük, hogy elolvasta a Systems Internals Hírlevél.

Közzétéve: 1999. augusztus 05. csütörtök, 19:13

[Hírlevelek archívuma ^][< 1. kötet, 3. szám][1. kötet, 5. >szám ]