Share via


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

The Systems Internals Newsletter Volume 2, Number 2

http://www.sysinternals.com
Copyright © 2000 Mark Russinovich


2000. március 27. – Ebben a kérdésben:

  1. SZERKESZTŐI

    • Mark to coauthor "Inside Windows 2000, 3rd Ed." with David Solomon
  2. A SYSINTERNALS ÚJDONSÁGAI

    • PsKill v1.03, PsList v1.12
    • Elágazási v1.0
    • ElogList 1.0-s verzió
    • NTFrob v1.6a
    • GetSid v1.1
    • HandleEx v2.23
    • Regmon v4.24, Filemon v4.28
    • AutoRuns v1.0
    • NT 4. ACL-szerkesztő
    • SysInternals pólók
    • További SysInternals a microsoft.com
    • Márciusi/áprilisi belső oszlopok
    • Nem annyira új dolgok
  3. BELSŐ ADATOK

    • Újraelemzési pontok
    • A kernelfogópont-táblázat
    • Egy vagy több illesztőprogram indítása sikertelen
    • Microsoft NT-hez kapcsolódó szabadalmak
  4. MI VÁRHATÓ?

    • TdiMon

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 Professional Edition (a Windows NT speciális rendszerindító lemez képessége) és a Távoli helyreállítás.

A Winternals Software NTFSDOS Professional és NTFS for Win98 szolgáltatása teljes olvasási és írási hozzáférést biztosít az NTFS-meghajtókhoz DOS, Windows 95 és Windows 98 rendszerekről. Az NTFSDOS Pro egy hajlékonylemezes "boot-disk" képességet biztosít a Windows NT/2K-hoz. Az NTFSDOS Pro segítségével törölheti a hibás illesztőprogramokat, frissítheti a fájlokat, és általános fájlrendszer-karbantartást végezhet NTFS-meghajtókon doS-rendszerindító hajlékonylemezről. A Win98-hoz készült NTFS átlátható hozzáférést biztosít az NTFS-meghajtókhoz a Windows 95-ből és a Windows 98-ból. Egyszerűen megoszthatja az alkalmazásokat és fájlokat az NT és a Win9x között NTFS-meghajtókon a kettős rendszerindítású környezetben. Mindkét segédprogram beépített NTFS Chkdsk-képességgel is rendelkezik. Az NTFSDOS Pro ingyenes írásvédett verziója érhető el, http://www.sysinternals.com/ntfspro.htm és a Win98-hoz készült NTFS ingyenes írásvédett verziója a következő címen érhető el: http://www.sysinternals.com/ntfs98.htm.

Üdvözlök mindenkit!

Üdvözöljük a Systems Internals hírlevélben. A hírlevélnek jelenleg 20 000 előfizetője van. A lista növekedése óriási volt az elmúlt két hónapban több mint 6000 új előfizetővel! Kérjük, továbbítsa a hírlevelet barátainak.

Örömmel jelentem be, hogy a "Windows 2000 Inside 3rd Edition" (Windows 2000, 3. kiadás) társalapítója vagyok Dave Solomonnal (http://www.solsem.com). Ha érdekli a Windows NT belső, akkor szinte biztosan olvasta Dave "Inside Windows NT, 2nd Edition" (Microsoft Press). A Windows 2000 kiadása számos változást hoz az NT kernelben és a környező összetevőkben, néhány nagy és néhány kicsi, és ezek a változások azt jelentik, hogy Dave könyvének változatra van szüksége.

Sok értelemben Dave és én már önállóan dolgozik a "Inside Windows 2000" az elmúlt három évben, ahogy már lépést tartottunk a változások a Microsoft bevezetett a Windows 2000 annak fejlődése NT 5.0 Béta 1-től Windows 2000 build 2195. Én valójában dolgozik írása saját "Windows NT Internals" könyv egy ideje, de amikor a lehetőség jött, hogy együttműködjön Dave utódja egy könyv ilyen magas színvonalú, és segít írni a Microsoft hivatalos nézetét a Windows 2000 Internals, nem tudtam átadni.

A döntésünk, hogy közösen szerkesztjük a könyvet, meglehetősen friss, ezért az elmúlt néhány hónapot a kutatásaink, jegyzeteink és cikkeink egyesítésével töltöttük. Teljesen független okokból, véletlenül csak húsz percet élünk egymástól Csatlakozás icut egy távoli sarkában. A közelségünk lehetővé tette számunkra, hogy alternatív napokat dolgozzunk egymás házaiban, és a közelmúltban sok késő éjszakát töltöttünk a Windows 2000 belső működésének homályos részleteinek kutatásával és vitatásával. Látható egy kép, amin Dave és én a házánál dolgozunk. http://www.sysinternals.com/inspic.jpg.

A partnerség szokatlan aspektusa, hogy Dave teljes hozzáféréssel rendelkezik a Windows 2000 forráskódhoz, míg én nem (soha nem volt hozzáférésem semmilyen Windows-forráskódhoz azon kívül, hogy nyilvánosan elérhető az eszközillesztő készletben és a telepíthető fájlrendszerkészletben). Dave kitalálja a dolgokat a forráskódfájlok végigjárásával, miközben elemezem az egyéni szétszerelt gépem által előállított listaelemeket, és felfedezem a Windows 2000 zsigereit élő rendszereken a NuMega SoftICE kernel módú hibakeresőjével. Ennek eredményeképpen mindannyian egyedi perspektívákat hozunk a táblázatba, és több alkalommal is közösen alkalmaztuk a megfelelő erőforrásainkat, hogy közösen válaszoljunk a nehéz kérdésekre.

Nem csak az eredeti könyvet frissítjük a Windows 2000 változásainak megfelelően, hanem a vadonatúj tartalmak több mint 30%-át is hozzáadjuk, beleértve több új fejezetet is. Az új könyvben bemutatott témakörök közé tartozik a rendszerindítás, a leállítás, az összeomlások, a tárolókezelés, a szolgáltatás belső funkciói, a beállításjegyzék belső elemei és a WMI. Ez a változat is jön egy CD-ROM tartalmaz egy snap-shot a SysInternals webhely, és egy fél tucat eszközöket írtam kifejezetten a könyv. Az egyik eszköz, a LiveKd lehetővé teszi, hogy az i386kd kernel hibakeresőt élő rendszeren futtassa, ami megkönnyíti a kernel belső elemeinek feltárását soros kábelek és több számítógép nélkül. Kétségtelen, hogy ez a könyv jelentős technikai információkat és megállapításokat ad elődje már szilárd alapjaihoz.

Mikor lesz elérhető a könyv? Dave és én a címsor ki Redmond a héten április 4, hogy a végső technikai felülvizsgálati megjegyzéseket a Windows 2000 kernel fejlesztők, és a Microsoft Press azt mondja, hogy a könyv lesz a polcokon júliusban. Én természetesen tartsa ki a hírlevélben.

Köszönjük!

-Mark

A SYSTEMS INTERNALS ÚJDONSÁGAI

PSKILL V1.03, PSLIST V1.12

A PsList egy segédprogram, amellyel részletes információkat tekinthet meg egy helyi vagy távoli rendszer aktív folyamatairól, a PsKill pedig lehetővé teszi a helyi vagy távoli rendszerek folyamatainak törlését. Ezek a segédprogramok hasonló parancssori szintaxist kaptak, ahol megadhat egy választható számítógépnevet a "\\computer" formátumban. Ha számítógépnévvel ellátott felhasználónevet ad meg, az eszközök lehetővé teszik a megadott számítógépre való bejelentkezést egy másik felhasználói fiókban, mint amelyikből az eszközöket futtatja. Ezek a legújabb verziók alternatív módot kínálnak arra, hogy olyan környezetekben adja meg a jelszót, ahol mások előtt futtatja őket, és nem szeretné elérhetővé tenni a jelszavakat. Most, ha egy számítógépfiókot is megad egy lehetőségként, de kihagyja a jelszót, a rendszer kéri, hogy adja meg a jelszót, és ne visszhangozza a képernyőn megjelenő bemenetet.

Töltse le a PsKill 1.03-at a http://www.sysinternals.com/pskill.htm.
PsList 1.12-s verzió letöltése: http://www.sysinternals.com/pslist.htm.

JUNCTION V1.0

A szimbolikus kapcsolat egy formája végül Windows 2000 NTFS-csomópontok formájában érkezett a Windowsra. A csomópontok szimbolikus könyvtárhivatkozások, és a Windows 2000 Resource Kit tartalmaz egy összekapcsolt eszközt, amellyel csomópontokat hozhat létre és törölhet. Sajnos a Windows 2000 alapszintű telepítése nem tartalmaz csomópontok létrehozására szolgáló eszközöket, és a Platform SDK dokumentációja nem dokumentálja megfelelően az újraelemzési pontokat. Ezek a hiányosságok a Junction implementálásához vezetnek, amely nem csak csomópontok létrehozását teszi lehetővé, hanem fájlok lekérdezését és információk megjelenítését az újraelemzési ponton, ha van ilyen. Annak érdekében, hogy segítsük a fejlesztőket, hogy implementálják a saját újraelemzési pont eszközeit, közzétettem a teljes forráskódot a Junction-nek. A csomópontokról és a Windows 2000 implementálásáról a hírlevél későbbi, újraelemzési pontjairól szóló szakaszban talál további információt.

Töltse le a Junction 1.0-s verziót teljes forráskóddal: http://www.sysinternals.com/misc.htm.

ELOGLIST V1.0

A Windows 2000 Resource Kit tartalmaz egy ELogDump nevű eszközt, amellyel rekordokat hozhat létre egy eseménynaplóból a helyi vagy egy távoli számítógépen. Az ELogList egy ElogDump-klón, amely lehetővé teszi egy opcionális fióknév és jelszó megadását is, így a számítógép eseménynaplói egy másik fiókból érhetők el, mint amelyikből az eszközt futtatja. Az ElogList hasznos az eseménynaplók kötegelt fájlokból való memóriaképezéséhez, vagy az eseménynapló-rekordok szöveges fájlokba való rögzítéséhez, amelyeket a rekordok megőrzéséhez vagy elemzéséhez importálhat a számolótáblákba.

Az ElogList 1.0-s verzió letöltése a http://www.sysinternals.com/eloglist.htm.

NTFROB V1.6A

Az NTFrob egy kisalkalmazás, amely nagyobb vezérlést biztosít az előtér- és háttérbeli kvantumok (kanyarok) felett, amelyeket a Windows NT scheduler hozzárendel a szálakhoz, mint amit a Rendszer vezérlőpultjának Teljesítmény lapja lehetővé tesz. A rövidebb kvantumok használata javíthatja az interaktív alkalmazások válaszkészségét, míg a hosszabb kvantumok jobban megfelelnek a hosszan futó kiszolgálói számítási feladatoknak. Az NTFrob továbbra is lépést tart az új szervizcsomagokkal a legújabb, 1.6a-os verzióval. Az 1.6a-os verzió az NT 4.0 összes kiadott verzióján működik a Service Pack 6a kivételével (a Microsoft egy jelentős hiba miatt röviddel a kiadás után visszavonta a Service Pack 6-ot). Hamarosan megjelenik az NTFrob win2K-n működő verziója.

Töltse le az NTFrob 1.6a-os verziót: http://www.sysinternals.com/ntfrob.htm.

GETSID V1.1

Ha olyan környezetet felügyel, amelyben a klónozás megkönnyíti a bevezetési terheket, akkor valószínűleg érdekelni fogja a GetSid. A GetSid olyan, mint az azonos nevű Windows NT Resource Kit eszköz, de a SysInternals GetSid lehetővé teszi az SID-k beszerzését nemcsak felhasználói fiókokhoz, hanem számítógépekhez is. Mivel a GetSid az ügyfélszoftverek telepítése nélkül működik a hálózatokon, a GetSid segítségével könnyen ellenőrizheti, hogy a hálózat számítógépei nem szenvednek-e a klónozást kísérő duplikált SID-problémától.

Töltse le a GetSid 1.1-et a http://www.sysinternals.com/misc.htm.
További információ a duplikált SID-problémáról: http://www.sysinternals.com/newsid.htm.

REGMON V4.24, FILEMON V4.28

A fájl- vagy beállításjegyzék-tevékenységet végző folyamatok nevének megjelenítése mellett a Regmon és a Filemon ezen frissítései a folyamatazonosítókat is megjelenítik. Ez a fejlesztés segít megkülönböztetni a fájl- és beállításjegyzék-hozzáféréseket több azonos nevű folyamat között.

Az ezekben a verziókban található másik fejlesztés lehetővé teszi a Regmon és a Filemon távoli Win2K-terminálszolgáltatásokból való futtatását (a konzol helyett). Az alkalmazások azért támogatják ezt a támogatást, mert a GUI-k ellenőrzik az operációs rendszer verziószámát, és ha Win2K-n futnak, adja meg a "\\.\Global\" előtagot ahhoz a névhez, amelyet a CreateFile hívásban használnak az illesztőprogram-összetevő eszközobjektumának megnyitásakor. A terminálszolgáltatások környezetében az objektumokhoz rendelt eszközillesztők nevei a globális (konzol) névtérben vannak tárolva, amely alapértelmezés szerint nem látható a távoli munkamenetekben. A távoli munkamenetek mindegyike helyi névtérrel rendelkezik. A "Globális" előtag azt jelzi a Win2K objektumkezelőnek, hogy az objektumkezelőnek névkereséseket kell végrehajtania a globális névtérben, nem pedig annak a munkamenetnek a névterében, ahonnan a keresés származik.

A Regmon v4.24 letöltése a http://www.sysinternals.com/regmon.htm.
Filemon v4.28 letöltése a http://www.sysinternals.com/filemon.htm.

AUTORUNS V1.0

Ha egy tipikus konfigurációval rendelkezik, minden alkalommal, amikor elindítja a rendszert, és különböző összetevőkbe jelentkezik be, például az Explorerben, homályos beállításkulcsokat és mappákat keres, és automatikusan futtatja a bennük hivatkozott programokat. David Solomon bemutatja az összes helyet, ahol az automatikusan futtatott fájlok meg vannak adva a "Windows 2000 Internals" szeminárium (http://www.solsem.com)és Bryce Cogswell vette a listát, és megírta AutoRuns, egy program, amely lehetővé teszi, hogy megtekintse a tartalmát. Szinte biztosan meglepődni fog a tudása nélkül futó rejtett programokon.

Az AutoRuns 1.0-s verzió letöltése a http://www.sysinternals.com/misc.htm.

HANDL Enterprise kiadás X V2.23

A HandleEx legújabb kiadása számos új felhasználói felületi használhatósági fejlesztést ad hozzá, például a ctrl-tab billentyűkombinációt a felső és az alsó nézet között. A HandleEx azonban most már integrálva van a Win2K biztonsági szerkesztő párbeszédpanel felületével, megjeleníti a folyamat által megnyitott memórialeképezett fájlokat, és megjeleníti a megnyitott leírókhoz megadott hozzáférési maszkot.

Amikor a HandleExet a leíróalapú nézetre váltja, az megjeleníti azokat a fájlokat, amelyet egy folyamat nyitott meg fogópontokon keresztül. A DLL-nézetben a HandleEx megjeleníti azokat a fájlokat, amelyeket egy folyamat modulként töltött be, és a memórialeképezett fájltámogatás hozzáadásával a HandleEx felsorolja azokat a fájlokat, amelyeket a folyamat leképezett a Win32 memórialeképezési fájl API-jaival. Mivel a WinNT és a Win2K nem teszi lehetővé a folyamatok által leképezett fájlok törlését, a HandleEx memórialeképezési fájltámogatása segít meghatározni, hogy milyen folyamat akadályozza meg a fájlok törlését egy kiemelkedő leképezés miatt.

Töltse le a HandleEx 2.23-at a http://www.sysinternals.com/handleex.htm.

NT 4 ACL-SZERKESZTŐ

A biztonsági szerkesztőkről szólva a Microsoft a Platform SDK legújabb verzióiban dokumentálja az új Win2K biztonsági szerkesztő párbeszédpanel API-kat. Az NT 4-szerkesztők API-jait azonban mindig visszavonták, és így is maradnak. Az NT 4-szerkesztőkkel dolgozhat a Regedt32 beállításkulcs-engedélyeinek szerkesztésekor, illetve az NTFS-fájlengedélyek Explorerben való szerkesztésekor.

Meghatároztam az NT 4 biztonsági szerkesztő felületeit, amikor objektum-biztonsági szerkesztési képességet adtam hozzá a WinObj eszközhöz, és ugyanazokat a felületeket használtam biztonsági szerkesztés hozzáadásához a HandleEx-hez. Végül úgy döntöttem, hogy közzétehetem a dokumentációmat, hogy natív biztonsági szerkesztői funkciókat vehessenek fel a saját alkalmazások NT 4-verzióihoz.

Az NT 4 ACL-szerkesztő dokumentációjának lekérése a következő címen: http://www.sysinternals.com/acledit.htm.
WinObj letöltése a http://www.sysinternals.com/winobj.htm.

SYSINTERNALS PÓLÓK

Ha szereti a SysInternals szolgáltatásban elérhető műszaki információkat és segédprogramokat, egy SysInternals pólót viselve mutassa meg a világot. A pólók 100%-os pamut Hanes Beef-T's, nyomtatott feltűnő színek mind elöl és hátul, és csak a költség csak $ 14.95. Ezen kívül, $ 5 minden eladás megy az American Cancer Society.

SysInternals pólók megtekintése és megrendelése a http://www.sysinternals.com/tshirt.htm.

TOVÁBBI SYSINTERNALS AT WWW.MICROSOFT.COM

Büszkén mondhatom, hogy a Felhasználókat SysInternals-eszközökre hivatkozó Microsoft Tudásbázis-cikkek száma folyamatosan nő. Itt van a lista a legutóbbi kiegészítések már nyomon követett.

  • Q243583 PRB: Mib.bin A Visual Studio beállítása meghiúsul http://support.microsoft.com/support/kb/articles/Q243/5/83.ASP
    Ez a cikk a Filemon használatát javasolja a Visual Studio telepítési hibáinak nyomon követéséhez.

  • Q242131 HOWTO: A megnyitott fájlokat tartalmazó folyamatok listájának megjelenítése http://support.microsoft.com/support/kb/articles/Q242/1/31.ASP
    A Microsoft olyan segédprogramként nyitja meg a felhasználókat a HandleEx szolgáltatásban, amely bemutatja, hogy mely fájlfolyamatok nyitottak meg.

  • Q232060 HOWTO: MDAC telepítési hibaelhárítási útmutatója http://support.microsoft.com/support/kb/articles/q232/0/60.asp
    A DLLView és a HandleEx ebben a cikkben a reflektorfénybe kerül, amely arra utasítja a felhasználókat, hogy az eszközök használatával keressenek olyan folyamatokat, amelyek microsoftos adatelérési összetevő DLL-jeit használják, hogy a felhasználó az MDAC újratelepítése előtt leállítsa őket.

  • Q245068 ERRMSG: A hozzáférés megtagadva. Nincs engedélye, vagy a fájl használatban http://support.microsoft.com/support/kb/articles/q245/0/68.asp?lng=eng&van; sa=allkb
    Az NtHandle ebben a cikkben ismét lekéri a hivatkozást, amelyből megtudhatja, hogyan állapíthatja meg, hogy melyik folyamat használ fájlokat a törléskor.

  • Q247957 MINTA: A DLL kompatibilitási problémáinak megoldása DUPS.EXE használatával http://support.microsoft.com/support/kb/articles/q247/9/57.asp
    Ez a cikk a ListDLL-ekre, a DllView-ra és a HandleExre hivatkozik olyan eszközökként, amelyek lehetővé teszik a DLL-verzióproblémák nyomon követését.

Nem csak a SysInternals szerepelt ezekben az új KB-cikkekben, Rick Anderson, a DUPS segédprogram szerzője, amelyet a legutóbbi KB-cikkben mutattak be, az MSDN News "The End of DLL Hell" (A DLL vége pokol) című cikkében a ListDLLs-re hivatkozik. A microsoftos cikket itt tekintheti meg online: http://www.msdn.microsoft.com/isapi/msdnlib.idc?theURL=/library/techart/DLLdanger1.htm. Az ennek eredményeként kapott listDLL-címek arra késztettek, hogy a Windows 9x-be portozzam, így a 2.21-es verzió a Windows 9x, a Windows NT és a Windows 2000 rendszeren működik.

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

MÁRCIUS-ÁPRILISI BELSŐ OSZLOPOK

Tekintse meg a Windows 2000 Magazin márciusi és áprilisi problémáit a Windows NT és a Windows 2000 storage management kétrészes "Internals" oszlopához. A sorozat első részében az NT 4 lemez particionálását, a speciális kötetkonfigurációt, a meghajtóbetűjel-hozzárendelést és az eszközillesztő tárolóarchitektúráját ismertetem.

A 2. részben bemutatom a Win2K-ban meglévő tárolási változásokat, beleértve az új tárolókezelési eszközillesztőket, a dinamikus lemezparticionálást, a speciális kötetek támogatását, amelyek nem igényelnek újraindítást az újrakonfiguráláshoz, valamint a Win2K meghajtóbetűjel-hozzárendelési mechanizmusait.

BELSŐ ADATOK

REPAR Standard kiadás PONTOK

Valamilyen oknál fogva az emberek mindig izgatottak a fájlrendszer trükkjei miatt, és a Windows 2000 számos újat tartalmaz. A Windows 2000 előtt minden Microsoft-fájlrendszerben hiányzik a UNIX-felhasználók számára ismerős funkció: a szimbolikus hivatkozás. A szimbolikus hivatkozások segítségével létrehozhat egy fájlt vagy könyvtárat, amely más fájlra vagy könyvtárra hivatkozik a fájlrendszer névterében. Amikor egy alkalmazás hozzáfér egy hivatkozáshoz, az ténylegesen hozzáfér a hivatkozás céljához. Ha például a hivatkozás C:\drivers a könyvtárra C:\winnt\system32\drivershivatkozik, a fájlnévre C:\drivers\ntfs.sys mutató hivatkozás a következő lesz C:\winnt\system32\drivers\ntfs.sys: .

A Windows 2000-hez mellékelt NTFS-változat, az NTFS 5-ös verziója támogatja az újraelemzési pontok nevű mechanizmust. Az újraelemzési pont egy fájlhoz vagy könyvtárhoz társított adatblokk, amely egy "címkét" és információt tartalmaz, amelyet az adott címkével rendelkező újraelemzési pontok kezeléséért felelős illesztőprogram határoz meg. A Microsoft számos beépített címkét határoz meg, köztük az elágaztatási és csatlakoztatási pontok címkéit. Amikor az NTFS újraelemzési ponttal találkozik egy fájlnév keresése közben, megszakítja a keresést, és visszaad egy STATUS_REPARSE kódot a hívójának. A fájlrendszer szűrőillesztői és az I/O-kezelő figyelik a címkéjükhöz tartozó kódok újraelemzését, és többféle módon reagálnak. A hierarchikus tárolókezelés (HSM) újraelemzési pontjai olyan fájlokat jelölnek, amelyeket a HSM-alrendszer áthelyezett a távoli tárolóba (például szalagra), a távoli tároló szűrőillesztője (RsFilter.sys), például transzparens módon lekéri a fájl adatait a távoli tárolóról, eltávolítja az újraelemzési pontot, és lehetővé teszi a fájlkeresés újrapróbálkozását.

A szűrőillesztők a megnyitott fájl nevét is módosíthatják. A csatlakoztatási pontcímkék a kötet csatlakoztatási pontjait jelölik, és lehetővé teszik a kötetek egymáshoz csatlakoztatását a névtereken belül. Így csatlakoztathat egy kötetet, amely a projektdokumentumokat tartalmazza a \projects meghajtó könyvtárában C: . Ezzel rendszerezheti a fájlrendszer adatait, és elkerülheti a DOS-stílusú meghajtóbetűjelek használatát.

A csomópontok a csatlakoztatási pontokhoz hasonlítanak, de ahelyett, hogy egy könyvtárat egy kötethez csatolnának, más könyvtárakhoz csatolják a könyvtárakat. Ezek az NTFS szimbolikus csatolási támogatása. Ezen a ponton valószínűleg azon gondolkodik, hogy a Microsoft miért nem tartalmazott fájlalapú szimbolikus hivatkozásokat. A válasz az, hogy a szimbolikus hivatkozások pusztítást idéznek elő a meglévő Win32-alkalmazásokkal.

Bár számos olyan tipikus alkalmazás-viselkedés van, amely váratlan eredményeket okozna, ha valóban szimbolikus hivatkozásokat tartalmazó fájlokkal dolgozik, egy szimbolikus hivatkozás törlése egy link-unaware programmal egy egyszerű példa. Fontolja meg egy olyan központi helyen tárolt fájlt, amelyre több szimbolikus hivatkozás is hivatkozik. Az egyik hivatkozást törölő felhasználó valószínűleg csak törölni szeretné a hivatkozást, és nem magát a fájlt. Ha azonban a program nem tud szimbolikus hivatkozásokról, akkor nem fogja észlelni, hogy a fájl valójában egy hivatkozás, és kéri a kívánt viselkedést. A problémák súlyosabbá válnak, ha egy alkalmazás olyan fájlokat hoz létre, amelyek a hivatkozáson keresztül hivatkoznak rá, a kapcsolódó fájlokat abban a könyvtárban kell tárolni, ahol a hivatkozási cél található, vagy abban a könyvtárban, ahol a szimbolikus hivatkozás található?

A Microsoft nehéz problémával szembesült, és biztos vagyok benne, hogy vannak olyan alkalmazások, amelyek még összetettebb fájlmanipulációt hajtanak végre, amelyek még akkor is megtörnének, ha találna megoldást az említett problémákra. Ezért azt hiszem, nem valószínű, hogy valaha is látnánk fájlalapú szimbolikus hivatkozásokat a Windowsban.

A KERNEL LEÍRÓ TÁBLÁZATA

A Win2K objektumkezelő bevezetett egy új típusú leírótáblát, amely javítja bizonyos típusú eszközillesztők teljesítményét. Egyes illesztőprogramoknak meg kell nyitniuk a rendszerobjektumok leíróit, miközben a felhasználói folyamat biztonsági környezetében futnak. Az eszközillesztők megkerülhetik az objektumok megnyitásakor végzett biztonsági ellenőrzéseket, ezért meg kell tenniük a szükséges lépéseket, hogy megakadályozzák az olyan biztonsági lyukat, amely akkor jön létre, amikor egy nem hátrányos helyzetű folyamat leírótáblájában egy bizalmas objektumhoz hoznak létre fogópontot. A biztonsági problémákat elkerülő NT 4-illesztőknek vagy várólistára kell állítaniuk a munkaelemeket a rendszerfolyamat-környezetben futó munkaszálakhoz, vagy az KeAttachProcess API-val válthatnak a rendszerfolyamat kezelőtáblájához és címteréhez. Mindkét alternatíva csökkentheti a teljesítményt, különösen akkor, ha az illesztőprogramnak gyakran kell elvégeznie őket.

A Win2K megoldása erre a problémára egy új jelző formájában jelenik meg, amelyet az illesztők át tudnak adni egy OBJECT_ATTRIBUTES struktúrában, amikor megnyitnak egy objektumot, és lekértek egy fogópontot. A jelölő nincs dokumentálva a DDK-ban, de az NTDEF-ben van definiálva. H fejlécfájl mint OBJ_KERNEL_HANDLE. Amikor az objektumkezelő megnyitotta a megadott objektumot, és létrehoz egy leírót a hívóhoz való visszatéréshez, ellenőrzi, hogy jelen van-e ez a jelző. Ha igen, a fogópontot egy "ObpKernelHandleTable" nevű leírótáblában hozza létre az aktuális végrehajtási folyamat leírótáblája helyett. Az objektumkezelő által a kernelfogantyúkat kérő hívók által visszaadott leírók nagy bitkészlettel rendelkeznek, így minden kernelfogópont értéke nagyobb, mint 0x80000000.

Amikor az objektumkezelő egy fogópontot ad át, például amikor ObReferenceObjectByHandle egy fogópontot a fogópont alapjául szolgáló objektumra kell lefordítania, ellenőrzi, hogy a leíró hivatkozása kernel módú-e, és hogy a leíró nagy része be van-e állítva. Az ilyen feltételeknek megfelelő hivatkozások esetén az objektumkezelő az aktuális végrehajtási folyamat leírótáblája helyett a kernelfogópont-táblában keresi meg a leírót. Így az illesztőprogramok, amelyek a kernelfogópontokra hivatkoznak a biztonságos objektumokhoz, elkerülik a teljesítménycsökkenést, és biztonsági lyukak megnyitását okozzák.

EGY VAGY TÖBB ILLESZTŐPROGRAM INDÍTÁSA SIKERTELEN

Íme egy darab érdekes Windows NT/2K trivia az Ön számára. Amikor megjelenik egy párbeszédpanel a rendszerindítás során, amely azt jelzi, hogy "Egy vagy több illesztőprogram nem indult el", akkor a Service Control Manager (SCM) határozza meg és mutatja be a párbeszédpanelt.

Honnan tudja az SCM, hogy egy illesztőprogram nem indult el? Az SCM az inicializáláskor megvizsgálja a HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services beállításkulcsot, és olyan eszközillesztőket keres, amelyek indítási értékei megadják, hogy rendszerindítási vagy rendszerindítási illesztőprogramként indulnak el. Amikor talál egy bejegyzést, megnyitja az objektumkezelő névterét, és megvizsgálja, hogy az eszközillesztő neve szerepel-e a \Drivers könyvtárban. Amikor egy eszközillesztő sikeresen elindul, az I/O-kezelő elhelyezi az illesztőprogram-objektumot a \Drivers könyvtárban, így ha az SCM nem találja a nevet, feltételezi, hogy az illesztőprogram nem indult el sikeresen. A könyvtár tartalmát a \Drivers WinObj használatával tekintheti meg.

WinObj letöltése a http://www.sysinternals.com/winobj.htm.

Szoftverszabadalmak ütött sok figyelmet mostanában. Úgy tűnik, hogy az Egyesült Államok Szabadalmi és Védjegy Hivatala szabadalmakat ad még a legnyilvánvalóbb "innovációk", és a vállalatok kihasználják a liberális szabadalmi politika zárolása kulcsfontosságú technológia kizárólagos használatát. A Microsoft nem idegen a szabadalmi játéktól, de sokan nem tudják, hogy a Microsoft számos, a Windows NT-vel kifejlesztett kulcsfontosságú ötlet szabadalmait birtokolja. Íme a kernelhez kapcsolódó szabadalmak listája, amelyeket az IBM Patent Server webhelyén tártam fel:

"A futtatható szálak által kért aszinkron fájlműveletek végrehajtására szolgáló rendszer a különböző üzenetsor-szálakkal végzett befejező üzenetek feldolgozásával és a futtatható szálak általi befejezés ellenőrzésével"
http://www.patents.ibm.com/details?pn=US05758184__

Ez a szabadalom a fejlett NT-szinkronizálási mechanizmus, az úgynevezett befejezési portok alapvető elképzeléseit ismerteti. A befejező portok lehetővé teszik a folyamatok számára, hogy hatékonyan várják meg az I/O-t számos különböző objektumon, és a Windows NT/2000 ütemező támogatásával lehetővé teszik, hogy a befejező porthoz társított szálak hatékonyan használják a többprocesszort.
További információ a befejezési portokról: http://www.sysinternals.com/comport.htm.

"Az ügyfélfolyamatok kiszolgálói megszemélyesítése objektumalapú számítógép operációs rendszerében"
http://www.patents.ibm.com/details?&p n10=US05187790

A megszemélyesítés a Windows NT/2000 biztonsági modell hatékony funkciója, amely lehetővé teszi, hogy a kiszolgálószál ideiglenesen elfogadja az ügyfélszál biztonsági környezetét, amikor a kiszolgáló az ügyfél nevében végez tevékenységeket. Ez lehetővé teszi, hogy a kiszolgáló könnyen kihasználja a Windows NT/2000 biztonsági modell előnyeit, amikor hozzáfér egy ügyfél védett objektumaihoz. Ez egy okos, ha nem kissé nyilvánvaló megközelítés az elosztott biztonság és a Microsoft tulajdonában van a szabadalom rá.

"Várható objektumlétrehozási rendszer és metódus egy objektumalapú számítógép operációs rendszerében"
http://www.patents.ibm.com/details?&p n10=US05057996

"Feltételes objektumot létrehozó rendszer, amely különböző objektummutatókkal rendelkezik az adatszerkezeti objektumok egy csoportjának eléréséhez"
http://www.patents.ibm.com/details?&p n10=US05129083

"Objektumtároló átviteli rendszere és metódusa egy objektumalapú számítógép operációs rendszerében"
http://www.patents.ibm.com/details?&p n10=US05129084

"Ideiglenes objektumkezelő rendszer és metódus egy objektumalapú számítógép operációs rendszerében"
http://www.patents.ibm.com/details?&p n10=US05136712

"Objektumátviteli rendszer és metódus egy objektumalapú számítógép operációs rendszerében"
http://www.patents.ibm.com/details?&p n10=US05297283

A Windows NT/2000 objektumkezelő a UNIX-implementációkban található virtuális fájlrendszer (VFS) névtértől eltérő névteret implementál. A Microsoft által az objektumkezelőben szerzett szabadalmak némelyike valóban úgy néz ki, mint az objektumorientált kialakításra vonatkozó szabadalmak, és többen átfedésben vannak. Azonban nem vagyok szabadalmi ügyvivő, így lehet, hogy csak az én unenlightened nézőpontot.

Ha megnézzük a szabadalmakat, több alapvető Windows NT kernelfejlesztő nevét is megtalálhatja, köztük David Cutlert is. Érdekes, hogy néhány szabadalmat szereztek a Digital Equipment Corp of Maynard, MA az NT fejlesztők, amikor dolgozott A VMS, de a szabadalmi folyamat olyan sokáig tartott, hogy a szabadalmak listázzák őket, mint tartózkodik Redmond, WA.

MI VÁRHATÓ?

TDIMON

Látta már, hogy a TCP és az UDP hálózati tevékenység valós időben történik, és pontosan tudja, hogy mely folyamatok végzik a tevékenységet? A SysInternals monitorozási eszközkészletének hatékony kiegészítője, a TdiMon használata.


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

Közzétéve: 2000. március 27. hétfő, 19:09 ottoh

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