[Archiwum biuletynów ^][< Wolumin 2, Numer 1][Wolumin 2, Liczba 3 >]

System wewnętrzny biuletyn woluminu 2, numer 2

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


27 marca 2000 r. — w tym problemie:

  1. REDAKCJI

    • Mark do współautora "Inside Windows 2000, 3rd Ed". z DavidEm Solomonem
  2. CO NOWEGO W SYSINTERNALS

    • PsKill v1.03, PsList v1.12
    • Skrzyżowanie w wersji 1.0
    • ElogList v1.0
    • NTFrob v1.6a
    • GetSid v1.1
    • HandleEx, wersja 2.23
    • Regmon v4.24, Filemon v4.28
    • AutoUruchomienie w wersji 1.0
    • NT 4. Edytor listy ACL
    • Koszulki SysInternals
    • Więcej informacji o usłudze SysInternals w microsoft.com
    • Kolumny wewnętrzne marca/kwietnia
    • Nie tak nowe rzeczy
  3. INFORMACJE WEWNĘTRZNE

    • Punkty ponownej analizy
    • Tabela dojścia jądra
    • Nie można uruchomić co najmniej jednego sterownika
    • Patenty związane z nt firmy Microsoft
  4. CO SIĘ DZIEJE

    • Ommon

SPONSOR: WINTERNALS SOFTWARE

Biuletyn Internals Systems jest sponsorowany przez Winternals Software, w Sieci Web http://www.winternals.com. Winternals Software jest wiodącym deweloperem i dostawcą zaawansowanych narzędzi systemów dla systemu Windows NT/2K. Produkty Winternals Software obejmują FAT32 dla systemu Windows NT 4.0, ERD Commander Professional Edition (zaawansowane możliwości rozruchu dla systemu Windows NT) i Odzyskiwanie zdalne.

System PLIKÓW NTFSDOS Professional i NTFS firmy Winternals Software dla systemu Win98 zapewnia pełny dostęp do odczytu i zapisu na dyskach NTFS z systemów DOS, Windows 95 i Windows 98. NTFSDOS Pro oferuje możliwość "rozruchu dysku" z jednym dyskietki do systemu Windows NT/2K. Za pomocą systemu PLIKÓW NTFSDOS Pro można usuwać sterowniki błędów, odświeżać pliki i wykonywać ogólną konserwację systemu plików na dyskach NTFS z dyskietki rozruchowej SYSTEMU DOS. System plików NTFS dla systemu Win98 zapewnia przezroczysty dostęp do dysków NTFS z systemów Windows 95 i Windows 98. Łatwe udostępnianie aplikacji i plików między NT i Win9x na dyskach NTFS w środowisku podwójnego rozruchu. Oba narzędzia mają nawet wbudowaną funkcję NTFS Chkdsk. Bezpłatna wersja ntfsDOS Pro tylko do odczytu jest dostępna na stronie http://www.sysinternals.com/ntfspro.htm , a bezpłatna wersja ntfs tylko do odczytu dla Win98 jest dostępna na stronie http://www.sysinternals.com/ntfs98.htm.

Witam wszystkich,

Witamy w biuletynie Systems Internals. Biuletyn ma obecnie 20 000 subskrybentów. Wzrost listy był ogromny w ciągu ostatnich dwóch miesięcy z ponad 6000 nowych subskrybentów! Kontynuuj przekazywanie biuletynu do znajomych.

Z przyjemnością ogłaszam, że jestem współautorem "Inside Windows 2000, 3rd Edition" z Dave Solomon (http://www.solsem.com). Jeśli interesuje Cię wewnętrznych Windows NT, prawie na pewno czytałeś Dave's "Inside Windows NT, 2nd Edition" (Microsoft Press). Wydanie systemu Windows 2000 przynosi szereg zmian w jądrze NT i otaczających składników, niektóre duże i małe, a te zmiany oznaczają, że książka Dave'a wymaga poprawki.

W wielu zmysłach Dave i ja niezależnie pracuję nad "Inside Windows 2000" przez ostatnie trzy lata, ponieważ nadążyliśmy za zmianami, które firma Microsoft wprowadziła do systemu Windows 2000 w swojej ewolucji z NT 5.0 Beta 1 do Windows 2000 kompilacji 2195. Przez jakiś czas pracowałem nad pisaniem własnej książki "Windows NT Internals", ale kiedy okazja przyszła do współpracy z Dave'em nad następcą książki o tak wysokiej jakości i pomóc napisać oficjalny pogląd firmy Microsoft na Windows 2000 Internals, nie mogłem go przekazać.

Nasza decyzja o utworzeniu książki razem jest dość niedawna, więc spędziliśmy ostatnie kilka miesięcy łącząc nasze badania, notatki i artykuły. Z zupełnie niepowiązanych powodów, zdarza nam się żyć zaledwie dwadzieścia minut od siebie w odległym rogu Połączenie icut. Nasza bliskość pozwoliła nam na alternatywne dni pracy w domach siebie, a ostatnio spędziliśmy wiele późnych nocy badania i debatując niejasne szczegóły wewnętrznego działania systemu Windows 2000. Widać zdjęcie Dave'a i ja pracuję w swoim domu w http://www.sysinternals.com/inspic.jpg.

Niezwykłym aspektem naszego partnerstwa jest to, że Dave ma pełny dostęp do kodu źródłowego systemu Windows 2000, podczas gdy nie (nigdy nie miałem dostępu do żadnego kodu źródłowego systemu Windows poza tym publicznie dostępnym w zestawie sterowników urządzeń i instalowanym zestawie systemu plików). Dave zastanawia się nad tym, przechodząc przez pliki kodu źródłowego, podczas gdy analizuję listy produkowane przez mój niestandardowy dezasembler i zbadać wnętrzności systemu Windows 2000 w systemach na żywo za pomocą debugera trybu jądra SoftICE NuMega. W rezultacie każda z nich przynosi unikatowe perspektywy do tabeli i wspólnie stosuje nasze zasoby, aby odpowiedzieć na trudne pytania razem.

Nie tylko aktualizujemy oryginalną książkę, aby odzwierciedlała zmiany systemu Windows 2000, dodajemy również ponad 30% nowej zawartości, w tym kilka nowych rozdziałów. Tematy, które wprowadzamy w nowej książce, obejmują rozruch, zamykanie, awarie, zarządzanie magazynem, wewnętrzne usługi, wewnętrzne rejestry i WMI. Ta poprawka jest nawet dostarczana z CD-ROM zawierającym przystawkę zrzutu witryny internetowej SysInternals, a pół tuzina narzędzi, które napisałem specjalnie dla książki. Jednym z narzędzi, LiveKd, umożliwia uruchamianie debugera jądra i386kd w systemie na żywo, co ułatwia eksplorowanie wewnętrznych jądra bez kłopotów kabli szeregowych i wielu komputerów. Bez wątpienia ta książka dodaje znaczące informacje techniczne i wgląd w już solidne podstawy swojego poprzednika.

Kiedy książka będzie dostępna? Dave i ja idę do Redmond tydzień 4 kwietnia, aby uzyskać końcowe komentarze do przeglądu technicznego od deweloperów jądra Windows 2000, a Microsoft Press mówi, że książka będzie na półkach w lipcu. Oczywiście będę cię publikować w biuletynie.

Dziękujemy.

-Mark

CO NOWEGO W SYSTEMACH WEWNĘTRZNYCH

PSKILL V1.03, PSLIST V1.12

PsList to narzędzie, które umożliwia wyświetlanie szczegółowych informacji o aktywnych procesach systemu lokalnego lub zdalnego, a Program PsKill umożliwia zabicie procesów w systemie lokalnym lub zdalnym. Te narzędzia mają podobną składnię wiersza polecenia, gdzie można określić opcjonalną nazwę komputera w formularzu "\\computer". Jeśli dołączysz nazwę użytkownika z nazwą komputera, narzędzia umożliwiają logowanie się do określonego komputera na innym koncie użytkownika niż to, z którego są uruchomione narzędzia. Te najnowsze wersje oferują alternatywny sposób wprowadzania hasła w środowiskach, w których są uruchamiane przed innymi osobami i nie chcą ujawniać haseł. Teraz, jeśli dołączysz konto komputera jako opcję, ale pominięto hasło, monituje o wprowadzenie hasła i nie echem danych wejściowych na ekranie.

Pobierz program PsKill v1.03 pod adresem http://www.sysinternals.com/pskill.htm.
Pobierz plik PsList w wersji 1.12 pod adresem http://www.sysinternals.com/pslist.htm.

SKRZYŻOWANIE V1.0

Forma linku symbolicznego w końcu doszła do systemu Windows w postaci skrzyżowań NTFS systemu Windows 2000. Połączenia są linkami symbolicznymi katalogu, a zestaw Resource Kit systemu Windows 2000 zawiera narzędzie, linkowane, które umożliwia tworzenie i usuwanie skrzyżowań. Niestety podstawowa instalacja systemu Windows 2000 nie zawiera żadnych narzędzi do tworzenia skrzyżowań, a dokumentacja zestawu SDK platformy nie odpowiednio dokumentuje punktów ponownej analizy. Te braki prowadzą mnie do zaimplementowania Junction, narzędzia, które pozwala nie tylko na tworzenie skrzyżowań, ale do wykonywania zapytań o pliki i wyświetlania informacji na ich punkcie ponownej analizy, jeśli mają. Aby pomóc deweloperom, którzy chcą zaimplementować własne narzędzia punktu ponownej analizy, opublikowałem pełny kod źródłowy do Junction. Zobacz sekcję dotyczącą punktów ponownej analizy w dalszej części biuletynu, aby uzyskać więcej informacji na temat skrzyżowań i sposobu, w jaki system Windows 2000 je implementuje.

Pobierz plik Junction w wersji 1.0 z pełnym kodem źródłowym pod adresem http://www.sysinternals.com/misc.htm.

ELOGLIST V1.0

Zestaw Resource Kit systemu Windows 2000 zawiera narzędzie o nazwie ELogDump, które umożliwia zrzut rekordów z dziennika zdarzeń na komputerze lokalnym lub zdalnym. ELogList to klon ElogDump, który umożliwia również określenie opcjonalnej nazwy konta i hasła, dzięki czemu można uzyskać dostęp do dzienników zdarzeń komputera z innego konta niż to, z którego uruchamiasz narzędzie. ElogList jest przydatny w przypadku dumpingu dzienników zdarzeń z plików wsadowych lub przechwytywania rekordów dziennika zdarzeń do plików tekstowych, które można zaimportować do arkuszy kalkulacyjnych na potrzeby przechowywania lub analizy rekordów.

Pobierz aplikację ElogList v1.0 pod adresem http://www.sysinternals.com/eloglist.htm.

NTFROB V1.6A

NTFrob to aplet, który zapewnia większą kontrolę nad kwantami pierwszego planu i tła (z kolei), które harmonogram systemu Windows NT przypisuje do wątków niż karta Wydajność apletu Panel sterowania systemu umożliwia. Korzystanie z krótszych kwantów może poprawić czas odpowiedzi interakcyjnych aplikacji, podczas gdy dłuższe kwanty są bardziej odpowiednie dla długotrwałych obciążeń serwera. NTFrob nadal nadąża za nowymi pakietami Service Pack w najnowszej wersji 1.6a. Wersja 1.6a działa na wszystkich wydanych wersjach NT 4.0 za pośrednictwem dodatku Service Pack 6a z wyjątkiem dodatku Service Pack 6 (firma Microsoft wycofała dodatek Service Pack 6 wkrótce po wydaniu z powodu istotnej usterki). Wersja NTFrob, która działa na Win2K, jest dostępna wkrótce.

Pobierz plik NTFrob v1.6a pod adresem http://www.sysinternals.com/ntfrob.htm.

GETSID V1.1

Jeśli administrowasz środowiskiem, w którym klonowanie ułatwia wdrażanie obciążeń, prawdopodobnie interesuje Cię GetSid. GetSid jest jak narzędzie Windows NT Resource Kit o tej samej nazwie, ale SysInternals GetSid umożliwia uzyskanie identyfikatorów SID nie tylko dla kont użytkowników, ale także dla komputerów. Ponieważ getSid działa w sieciach bez konieczności instalowania dowolnego oprogramowania klienckiego, można łatwo użyć polecenia GetSid, aby sprawdzić, czy komputery w sieci nie cierpią z powodu zduplikowanego problemu z identyfikatorem SID, który towarzyszy klonowaniu.

Pobierz plik GetSid w wersji 1.1 pod adresem http://www.sysinternals.com/misc.htm.
Dowiedz się więcej o zduplikowanych problemach z identyfikatorem SID na stronie http://www.sysinternals.com/newsid.htm.

REGMON V4.24, FILEMON V4.28

Oprócz wyświetlania nazw procesów wykonujących działanie pliku lub rejestru, te aktualizacje regmon i Filemon pokazują również identyfikatory procesów. To ulepszenie ułatwia odróżnienie dostępu do plików i rejestru między wieloma procesami o tej samej nazwie.

Inne ulepszenia obecne w tych wersjach umożliwiają uruchamianie regmon i Filemon z zdalnych sesji usług terminalowych Win2K (w przeciwieństwie do konsoli). Aplikacje osiągną tę obsługę, ponieważ ich identyfikatory GUI sprawdzają numer wersji systemu operacyjnego, a jeśli są uruchomione w systemie Win2K, określ prefiks "\\.\Global\" na nazwę używaną w wywołaniu metody CreateFile po otwarciu obiektu urządzenia składnika sterownika. W środowisku usług terminalowych nazwy sterowników urządzeń przypisanych do ich obiektów są przechowywane w globalnej przestrzeni nazw (konsoli) przestrzeni nazw, która domyślnie nie jest widoczna w sesjach zdalnych. Sesje zdalne mają lokalną przestrzeń nazw. Prefiks "Globalny" wskazuje menedżer obiektów Win2K, że menedżer obiektów powinien wykonywać wyszukiwania nazw w globalnej przestrzeni nazw, a nie przestrzeni nazw sesji, z której pochodzi wyszukiwanie.

Pobierz plik Regmon v4.24 pod adresem http://www.sysinternals.com/regmon.htm.
Pobierz plikmon v4.28 pod adresem http://www.sysinternals.com/filemon.htm.

AUTORUNS V1.0

Jeśli masz typową konfigurację, za każdym razem, gdy uruchamiasz system i logujesz się do różnych składników, takich jak Eksplorator, poszukaj w niejasnych kluczach rejestru i folderach i automatycznie uruchom programy, do których się odwołujesz. David Solomon przedstawia listę wszystkich lokalizacji, w których pliki automatycznego uruchamiania są określone w jego seminarium "Windows 2000 Internals" (http://www.solsem.com), a Bryce Cogswell wziął listę i napisał AutoRuns, program, który pozwala wyświetlić ich zawartość. Prawie na pewno będziesz zaskoczony ukrytymi programami, które działają bez twojej wiedzy.

Pobierz autouruchomienie w wersji 1.0 pod adresem http://www.sysinternals.com/misc.htm.

HANDLEEX V2.23

Najnowsza wersja narzędzia HandleEx dodaje szereg nowych ulepszeń użyteczności interfejsu użytkownika, takich jak możliwość ctrl-tab między górnymi i dolnymi widokami. Co ważniejsze jednak, HandleEx jest teraz integrowany z interfejsem okna dialogowego edytora zabezpieczeń Win2K, pokazuje, jakie pliki zamapowane pamięci ma otwarty proces i wyświetla udzieloną maskę dostępu dla otwartych dojść.

Gdy przełączysz narzędzie HandleEx do widoku opartego na obsłudze, przedstawia pliki, które proces został otwarty za pośrednictwem dojść. W widoku DLL HandleEx pokazuje pliki, które proces załadował jako moduły, a wraz z dodaniem obsługi plików mapowanych w pamięci, HandleEx wyświetla pliki, które proces został zamapowany za pośrednictwem interfejsów API plików mapowanych na pamięć Win32. Ponieważ winNT i Win2K nie pozwalają usuwać plików, które procesy zostały zamapowane, obsługa plików mapowanych na pamięć programu HandleEx pomaga określić, który proces uniemożliwia usunięcie pliku z powodu zaległego mapowania.

Pobierz narzędzie HandleEx w wersji 2.23 pod adresem http://www.sysinternals.com/handleex.htm.

NT 4 EDYTOR LISTY ACL

Mówiąc o edytorach zabezpieczeń, firma Microsoft dokumentuje nowe interfejsy API okna dialogowego edytora zabezpieczeń Win2K w najnowszych wersjach zestawu SDK platformy. Jednak interfejsy API edytorów NT 4 zawsze były nieudokumentowane i pozostają w ten sposób. Edytory NT 4 to te, z którymi pracujesz podczas edytowania uprawnień klucza rejestru w uprawnieniach regedt32 i plików NTFS w Eksploratorze.

Ustalono interfejsy edytora zabezpieczeń NT 4, gdy dodano możliwość edytowania zabezpieczeń obiektów do naszego narzędzia WinObj i używałem tych samych interfejsów, aby dodać edycję zabezpieczeń do handleex. W końcu postanowiłem opublikować moją dokumentację, aby można było dodać natywną funkcjonalność edytora zabezpieczeń do wersji NT 4 własnych aplikacji.

Uzyskaj dokumentację edytora listy ACL NT 4 pod adresem http://www.sysinternals.com/acledit.htm.
Pobierz winobj pod adresem http://www.sysinternals.com/winobj.htm.

T-SHIRTY SYSINTERNALS

Jeśli lubisz informacje techniczne i narzędzia, które otrzymujesz w SysInternals, pokaż świat, nosząc t-shirt SysInternals. T-shirty są 100% bawełny Hanes Beef-T, są drukowane w uderzających kolorach zarówno z przodu, jak i z tyłu, i kosztują tylko 14,95 dolarów. Ponadto, 5 dolarów każdej sprzedaży idzie do American Cancer Society.

Wyświetl i zamów t-shirty SysInternals w: http://www.sysinternals.com/tshirt.htm.

WIĘCEJ SYSINTERNALS AT WWW.MICROSOFT.COM

Z dumą mówię, że liczba artykułów bazy wiedzy Microsoft Knowledge Base, które odwołują się do użytkowników narzędzi SysInternals, nadal rośnie. Oto lista ostatnich dodatków, które prześledzę.

  • Q243583 PRB: Mib.bin powoduje niepowodzenie instalacji programu Visual Studio http://support.microsoft.com/support/kb/articles/Q243/5/83.ASP
    W tym artykule zaleca się używanie programu Filemon do śledzenia błędów konfiguracji programu Visual Studio.

  • Q242131 INSTRUKCJE: wyświetlanie listy procesów, które mają otwarte pliki http://support.microsoft.com/support/kb/articles/Q242/1/31.ASP
    Firma Microsoft wskazuje użytkowników handleex jako narzędzie, które pokazuje, jakie procesy plików mają otwarte.

  • Q232060 INSTRUKCJE: Przewodnik rozwiązywania problemów z konfiguracją usługi MDAC http://support.microsoft.com/support/kb/articles/q232/0/60.asp
    Biblioteka DLLView i narzędzie HandleEx uzyskują w centrum uwagi w tym artykule, co instruuje użytkowników, aby używali narzędzi do lokalizowania procesów zawierających biblioteki DLL składnika dostępu do danych firmy Microsoft, aby użytkownik mógł je przerwać przed ponowną instalacją usługi MDAC.

  • Q245068 ERRMSG: odmowa dostępu. Nie masz uprawnień lub plik jest w użyciu http://support.microsoft.com/support/kb/articles/q245/0/68.asp?lng=eng& sa=allkb
    NtHandle ponownie pobiera odwołanie w tym artykule, który informuje o tym, jak określić, który proces ma plik w użyciu, gdy wystąpi błąd podczas jego usuwania.

  • Q247957 PRZYKŁAD: Rozwiązywanie problemów ze zgodnością bibliotek DLL przy użyciu DUPS.EXE http://support.microsoft.com/support/kb/articles/q247/9/57.asp
    W tym artykule odwołuje się do listDLLs, DllView i HandleEx jako narzędzi, które umożliwiają śledzenie problemów z wersją biblioteki DLL.

Nie tylko SysInternals został opisywany we wszystkich tych nowych artykułach KB, Rick Anderson, autor narzędzia DUPS przedstawionego w ostatnim artykule KB, odwołuje się do ListDLLs w swoim artykule MSDN News, "The End of DLL Hell". Artykuł można wyświetlić w witrynie Microsoft tutaj: http://www.msdn.microsoft.com/isapi/msdnlib.idc?theURL=/library/techart/DLLdanger1.htm. Uwagi ListDLLs odebrane w wyniku tego skłoniło mnie do przeniesienia go do systemu Windows 9x, więc wersja 2.21 działa w systemie Windows 9x, Windows NT i Windows 2000.

Pobierz listyDLLs v2.21 pod adresem http://www.sysinternals.com/listdlls.htm.

KOLUMNY WEWNĘTRZNE MARCA/KWIETNIA

Zapoznaj się z marcowymi i kwietniowymi wydaniami magazynu Windows 2000 Dla mojej dwuczęściowej kolumny "Internals" w systemach Windows NT i Windows 2000 Storage Management. W pierwszej części serii opisuję partycjonowanie dysku NT 4, zaawansowaną konfigurację woluminu, przypisanie litery dysku i architekturę magazynu sterowników urządzeń.

W części 2 omówię zmiany magazynu obecne w win2K, w tym nowe sterowniki urządzeń do zarządzania magazynem, partycjonowanie dynamicznego dysku, obsługę zaawansowanych woluminów, które nie wymagają ponownego rozruchu w celu rekonfiguracji i mechanizmów przypisywania liter dysku Win2K.

INFORMACJE WEWNĘTRZNE

PUNKTY PONOWNEJ ANALIZY

Z jakiegoś powodu ludzie zawsze są podekscytowani sztuczkami systemu plików, a system Windows 2000 zawiera kilka nowych. Przed systemem Windows 2000 wszystkie systemy plików firmy Microsoft nie mają funkcji znanej użytkownikom system UNIX: link symboliczny. Łącza symboliczne umożliwiają utworzenie pliku lub katalogu, który odwołuje się do innego pliku lub katalogu w innym miejscu w przestrzeni nazw systemu plików. Gdy aplikacja uzyskuje dostęp do linku, uzyskuje dostęp do obiektu docelowego linku. Jeśli na przykład link C:\drivers odwołuje się do katalogu C:\winnt\system32\drivers, odwołanie do nazwy C:\drivers\ntfs.sys pliku jest rozpoznawane jako C:\winnt\system32\drivers\ntfs.sys.

NTFS w wersji 5, poprawka NTFS zawarta w systemie Windows 2000, obsługuje mechanizm nazywany punktami ponownej analizy. Punkt ponownej analizy jest blokiem danych skojarzonym z plikiem lub katalogiem zawierającym "tag" i informacje zdefiniowane przez sterownik odpowiedzialny za zarządzanie punktami ponownej analizy o tym tagu. Firma Microsoft definiuje kilka wbudowanych tagów, w tym tagi skrzyżowania i punktu instalacji. Gdy ntfs napotka punkt ponownej analizy podczas wyszukiwania nazwy pliku przerywa wyszukiwanie i zwraca STATUS_REPARSE kod do jego wywołującego. Sterowniki filtrów systemu plików i Menedżer we/wy obserwują kody ponownej analizy, które mają tag i reagują na jeden z kilku sposobów. Punkty ponownej analizy hierarchicznej zarządzania magazynem (HSM) oznaczają pliki, które podsystem HSM przeniósł się do magazynu zdalnego (takiego jak taśma), sterownik filtru magazynu zdalnego (RsFilter.sys), na przykład przezroczystie ściąga dane pliku z magazynu zdalnego, usuwa punkt ponownej analizy i umożliwia ponawianie próby wyszukiwania plików.

Sterownik filtru może również zmienić nazwę otwieranego pliku. Tagi punktu instalacji reprezentują punkty instalacji woluminu i umożliwiają łączenie woluminów ze sobą z ich przestrzeni nazw. W związku z tym można zainstalować wolumin zawierający dokumenty projektu w \projects katalogu dysku C: . Umożliwia to organizowanie danych systemu plików i unikanie używania liter dysku w stylu DOS.

Połączenia przypominają punkty instalacji, ale zamiast łączyć katalog z woluminem, łączą katalogi z innymi katalogami. Są one obsługą linków symbolicznych NTFS. W tym momencie prawdopodobnie zastanawiasz się, dlaczego firma Microsoft nie zawierała linków symbolicznych opartych na plikach. Odpowiedzią jest to, że linki symboliczne żałowałyby spustoszenie z istniejącymi aplikacjami Win32.

Chociaż istnieje wiele typowych zachowań aplikacji, które mogłyby spowodować nieoczekiwane wyniki podczas pracy z plikami, które są naprawdę linkami symbolicznymi, usunięcie linku symbolicznego z programem nieświadomym łącza jest prostym przykładem. Rozważ plik przechowywany w centralnej lokalizacji, do którego odwołuje się kilka linków symbolicznych. Użytkownik usuwający jeden z linków prawdopodobnie zamierza po prostu usunąć link, a nie sam plik. Jeśli jednak program nie zna linków symbolicznych, nie wykryje, że plik jest naprawdę linkiem i wyświetli monit o zachowanie, które chcesz. Problemy stają się poważniejsze, gdy aplikacja tworzy pliki powiązane z tym, do którego odwołują się za pośrednictwem linku, powinny być przechowywane w katalogu, w którym znajduje się obiekt docelowy łącza lub w katalogu, w którym znajduje się link symboliczny?

Firma Microsoft miała do czynienia z trudnym problemem i jestem pewien, że istnieją aplikacje, które wykonują jeszcze bardziej złożone manipulowanie plikami, które mogłyby się zepsuć, nawet jeśli można znaleźć obejście problemów, o których wspomniałem. Z tego powodu myślę, że jest mało prawdopodobne, że kiedykolwiek zobaczymy linki symboliczne oparte na plikach w systemie Windows.

TABELA DOJŚCIA JĄDRA

Menedżer obiektów Win2K wprowadził nowy typ tabeli obsługi, która poprawia wydajność niektórych typów sterowników urządzeń. Niektóre sterowniki muszą otwierać dojścia do obiektów systemowych, gdy są one uruchomione w kontekście zabezpieczeń procesu użytkownika. Sterowniki urządzeń mogą pomijać kontrole zabezpieczeń podczas otwierania obiektów, dlatego muszą wykonać kroki, aby zapobiec dziurze zabezpieczeń, która powoduje utworzenie uchwytu do poufnego obiektu w tabeli uchwytów procesu nieuprzywilejowanego. Sterowniki NT 4 unikające problemów z zabezpieczeniami muszą kolejkować elementy robocze do wątków roboczych uruchamianych w kontekście procesu systemowego lub użyć interfejsu KeAttachProcess API, aby przełączyć się do tabeli obsługi procesu systemowego i przestrzeni adresowej. Obie te alternatywy mogą obniżyć wydajność, zwłaszcza jeśli sterownik musi je często wykonywać.

Rozwiązanie tego problemu Win2K ma postać nowej flagi, którą sterownik może przekazać w OBJECT_ATTRIBUTES strukturze podczas otwierania obiektu i uzyskiwania uchwytu. Flaga nie jest udokumentowana w zestawie DDK, ale jest zdefiniowana w pliku NTDEF. Plik nagłówka H jako OBJ_KERNEL_HANDLE. Gdy menedżer obiektów otworzył określony obiekt i tworzy uchwyt, aby powrócić do obiektu wywołującego, sprawdza, czy ta flaga jest obecna. Jeśli tak, tworzy uchwyt w tabeli obsługi o nazwie "ObpKernelHandleTable zamiast tabeli obsługi aktualnie wykonywanego procesu. Obsługuje menedżera obiektów powraca do wywołujących żądających dojścia jądra mają zestaw dużych bitów, więc wszystkie dojścia jądra mają wartości większe niż 0x80000000.

Za każdym razem, gdy menedżer obiektów jest przekazywany do uchwytu, w wywołaniu do ObReferenceObjectByHandle na przykład, gdzie musi przetłumaczyć uchwyt na wskaźnik do obiektu bazowego dojścia, sprawdza, czy odwołanie do uchwytu jest odwołaniem w trybie jądra i czy ustawiono wysoki bit dojścia. W przypadku odwołań spełniających te kryteria menedżer obiektów wyszukuje dojście w tabeli dojścia jądra zamiast tabeli obsługi aktualnie wykonywanego procesu. W związku z tym sterownik odwołujący się do uchwytów jądra dla bezpiecznych obiektów pozwala uniknąć trafienia wydajności i spowodowania otwarcia otworów bezpieczeństwa.

NIE MOŻNA URUCHOMIĆ CO NAJMNIEJ JEDNEGO STEROWNIKA

Oto kawałek ciekawych trywii windows NT/2K dla Ciebie. Gdy podczas rozruchu zostanie wyświetlone okno dialogowe z informacją, że uruchomienie "Co najmniej jednego sterownika nie powiodło się", jest to menedżer kontroli usług (SCM), który określa i prezentuje okno dialogowe.

W jaki sposób SCM wie, że nie można uruchomić sterownika? Narzędzie SCM skanuje HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services klucz rejestru podczas inicjowania, wyszukując sterowniki urządzeń z wartościami Start, które określają, że są uruchamiane jako sterowniki rozruchu lub uruchamiania systemu. Po znalezieniu wpisu otwiera przestrzeń nazw menedżera obiektów i wygląda na to, czy nazwa sterownika urządzenia jest obecna w katalogu \Drivers. Po pomyślnym uruchomieniu sterownika urządzenia menedżer we/wy umieszcza jego obiekt sterownika w \Drivers katalogu, więc gdy menedżer SCM nie może odnaleźć nazwy zakłada, że sterownik nie został uruchomiony pomyślnie. Zawartość katalogu można wyświetlić \Drivers przy użyciu narzędzia WinObj.

Pobierz winobj pod adresem http://www.sysinternals.com/winobj.htm.

Patenty na oprogramowanie zdobyli ostatnio dużą uwagę. Wydaje się, że Us Patent and Trademark Office przyznaje patenty nawet najbardziej oczywistym "innowacjom", a firmy korzystają z liberalnej polityki patentowej, aby zablokować kluczową technologię do wyłącznego użytku. Microsoft nie jest obcy grze patentowej, ale wiele osób nie wie, że firma Microsoft jest właścicielem patentów na kilka kluczowych pomysłów, które opracowali z systemem Windows NT. Oto lista patentów związanych z jądrom, które odkryłem w witrynie internetowej serwera patentowego IBM:

"System do wykonywania asynchronicznych operacji na plikach żądanych przez wątki z możliwością uruchamiania przez przetwarzanie komunikatów uzupełniania z innym wątkiem kolejki i sprawdzanie ukończenia przez wątki z możliwością uruchamiania"
http://www.patents.ibm.com/details?pn=US05758184__

Ten patent obejmuje podstawowe pojęcia dotyczące zaawansowanego mechanizmu synchronizacji NT nazywanego portami uzupełniania. Porty uzupełniania umożliwiają procesom efektywne oczekiwanie na we/wy w wielu różnych obiektach i korzystanie z obsługi harmonogramu systemu Windows NT/2000, aby umożliwić wątkom skojarzonym z portem uzupełniania efektywne korzystanie z wieloprocesora.
Przeczytaj więcej na temat portów uzupełniania na stronie http://www.sysinternals.com/comport.htm.

"Personifikacja serwera procesów klienta w systemie operacyjnym komputera opartego na obiektach"
http://www.patents.ibm.com/details?&p n10=US05187790

Personifikacja to zaawansowana funkcja modelu zabezpieczeń systemu Windows NT/2000, która umożliwia wątkowi serwera tymczasowe wdrożenie kontekstu zabezpieczeń wątku klienta, gdy serwer wykonuje działania w imieniu klienta. Dzięki temu serwer może łatwo korzystać z modelu zabezpieczeń systemu Windows NT/2000, gdy uzyskuje dostęp do chronionych obiektów dla klienta. Jest to sprytne, jeśli nie nieco oczywiste, podejście do rozproszonych zabezpieczeń i firma Microsoft jest właścicielem patentu na niego.

"System i metoda tworzenia obiektu oczekiwania w systemie operacyjnym komputera opartego na obiektach"
http://www.patents.ibm.com/details?&p n10=US05057996

"Obiekt warunkowy tworzący system o różnych wskaźnikach obiektów na potrzeby uzyskiwania dostępu do zestawu obiektów struktury danych"
http://www.patents.ibm.com/details?&p n10=US05129083

"System transferu kontenera obiektów i metoda w systemie operacyjnym komputera opartego na obiektach"
http://www.patents.ibm.com/details?&p n10=US05129084

"Tymczasowy system obsługi obiektów i metoda w systemie operacyjnym komputera opartego na obiektach"
http://www.patents.ibm.com/details?&p n10=US05136712

"Obiekt transferujący system i metodę w systemie operacyjnym komputera opartym na obiektach"
http://www.patents.ibm.com/details?&p n10=US05297283

Menedżer obiektów systemu Windows NT/2000 implementuje przestrzeń nazw, w przeciwieństwie do przestrzeni nazw wirtualnego systemu plików (VFS) obecnej w implementacjach system UNIX. Niektóre patenty uzyskane przez firmę Microsoft w menedżerze obiektów naprawdę wyglądają jak patenty na projekt obiektowy, a kilka wygląda jak nakładają się na siebie. Nie jestem jednak adwokatem patentowym, więc może to być mój nieuświetlony punkt widzenia.

Jeśli spojrzysz na patenty, znajdziesz nazwy kilku podstawowych deweloperów jądra Systemu Windows NT, w tym David Cutler. Co ciekawe, niektóre patenty zostały uzyskane dla Digital Equipment Corp z Maynard, MA przez deweloperów NT, gdy pracowali nad maszynami wirtualnymi, ale proces patentowy trwał tak długo, że lista patentów znajduje się w Redmond w WA.

CO SIĘ DZIEJE

FUNKCJA NIAMON

Czy kiedykolwiek chciałeś obserwować aktywność sieci TCP i UDP w czasie rzeczywistym i wiedzieć, jakie dokładnie procesy wykonują działanie? Bądź na bieżąco z pakietem narzędzi do monitorowania SysInternals.


Dziękujemy za przeczytanie biuletynu Systems Internals.

Opublikowano poniedziałek, 27 marca 2000 19:09 przez ottoh

[Archiwum biuletynów ^][< Wolumin 2, Numer 1][Wolumin 2, Liczba 3 >]