Aracılığıyla paylaş


[Bülten Arşivi ^] [< Birim 2, Sayı 2] [Birim 2, Sayı 4 >]

The Systems Internals Newsletter Volume 2, Number 3

http://www.sysinternals.com
Telif Hakkı © 2000 Mark Russinovich


14 Haziran 2000 - Bu sorunda:

  1. EDİTORYAL

  2. SYSINTERNALS'DEKI YENILIKLER

    • Regmon v4.25
    • ListDlls v2.22
    • TDImon v1.0
    • Otomatik Çalıştırma v1.1
    • LDMDump v1.0
    • Nisan/Haziran İç Sütunları
  3. İç BİlGİLER

    • Windows NT Derleme Geçmişi
    • Windows NT/2000 Zamanlayıcı Çözünürlüğü
    • Klavyeyi Yeniden Eşleme
    • Güvenli Sistem Bellek Eşlemesi
    • Gizli Windows 98 Dosya Sistemi Günlüğü
    • WinDev '00 Batı
  4. YAKLAŞANLAR

    • "Güvenli" Windows 98 Kayıt Defteri Anahtarları

SPONSOR: WINTERNALS SOFTWARE

Systems Internals Newsletter, Winternals Software sponsorluğunda, web'de http://www.winternals.com. Winternals Software, Windows NT/2K için gelişmiş sistem araçlarının önde gelen geliştiricisi ve sağlayıcısıdır. Winternals Software ürünleri Windows NT 4.0 için FAT32, ERD Commander Professional Edition (Windows NT için gelişmiş önyükleme diski özelliği) ve Uzaktan Kurtarma'yı içerir.

Yeni yayımlanan TCPView Pro, Windows NT 4.0, Windows 2000 ve Windows 95/98 sistemlerinde TCP/IP etkinliğini izlemenizi sağlar. Windows ile birlikte gelen yerleşik TCP/IP izleme araçlarından (netstat gibi) farklı olarak, TCPView Pro her TCP/IP adresiyle hangi işlemin ilişkili olduğunu gösterir ve belirli bağlantılardan ve etkinliklerden hangi uygulamanın sorumlu olduğunu belirlemenizi kolaylaştırır. TCPView Pro, dinamik bir görünüm ve statik bir görünüm sağlar. Statik görünümde açık olan yerel IP adresleri, her uç noktayla ilişkili işlem ve bir uç noktanın bağlı olduğu uzak IP adresi gösterilir. Diğer herhangi bir yardımcı programla kullanılamayan dinamik görünüm, gerçek zamanlı olarak işleme göre TCP/IP etkinliğini görmenize olanak tanır.

Fiyatlandırma bilgilerini alın ve adresinden 14 günlük deneme sürümünü indirin http://www.winternals.com/products/tcpview.shtml.

Herkese merhaba,

Systems Internals bültenine hoş geldiniz. Bültenin şu anda 22.000 abonesi var.

Dave Solomon ve ben "Windows 2000'in İçinde, 3. Ed"i tamamlamanın son aşamalarındayız. Bu, kitabın Temmuz sonu yerine Ağustos ortasında kullanıma sunulacağı anlamına gelir (gönderim tarihinde bir kayma olmadan bir Microsoft ürünü olmaz). Kitap son halini aldığına göre, içindekiler hakkında sana bir özet verebilirim. İlk olarak, önceki sürümden yaklaşık %50 daha fazla içeriğe sahiptir ve dört yeni bölüm içerir. İçindekiler tablosu aşağıdadır:

  1. Giriş
  2. Mimari
  3. Sistem Mekanizmaları
  4. Başlatma ve Kapatma
  5. Yönetim Mekanizmaları
  6. İşlemler ve İş Parçacıkları
  7. Bellek Yönetimi
  8. Güvenlik
  9. G/Ç Sistemi
  10. Depolama
  11. Önbellek Yöneticisi
  12. Dosya sistemleri

2. baskıda olduğu gibi kitap da açıkladığımız kavramları gösteren deneylerden oluşan bir kitaptır. Kitap ayrıca SysInternals web sitesinin tamamının kopyasını içeren bir CD'yi ve denemelerde kullandığımız birkaç aracı içerir.

Kitap için özel olarak yazdığım iki araç, kitap gözden geçirenler tarafından çok iyi karşılandı. İlki LiveKD olarak adlandırılır ve windows 2000 çekirdek hata ayıklayıcılarından herhangi birini (i386kd, kd, WinDbg) canlı bir sistemde çalıştırmanıza olanak tanır. Bunun anlamı, LiveKd'i başlatmanız, barındırmasını istediğiniz hata ayıklayıcısını belirtmeniz ve ardından hata ayıklayıcıyı girmeniz ve kilitlenme bilgi dökümü hata ayıklaması yaparsanız kullanabileceğiniz tüm hata ayıklayıcı komutlarını kullanmanızdır. Kitaptaki neredeyse tüm hata ayıklayıcı tabanlı denemeler LiveKD kullanılarak çalıştırılabilir. Bu, bunları gerçekleştirmek için ikinci bir sisteme veya seri kabloya ihtiyacınız olmadığı anlamına gelir.

İkinci araç, herhangi bir çekirdek değişkeninin canlı değerlerini görüntülemenizi sağlayan bir performans izleyicisi uzantısıdır. Örneğin PerfMon ile kullanılan sayfalanmamış havuz miktarını izlemek istiyorsanız MmAllocatedNonPagedPool değişkenini seçersiniz.

Kitap çıktığında haber bülteninde size haber veririm, ancak şimdi www.sysinternals.com/links.htm'deki Amazon.com bağlantısı üzerinden ön sipariş vekleyebilirsiniz. Her zamanki gibi, lütfen bülteni ilginç bulacağını düşündüğünüz arkadaşlarınıza iletin.

Teşekkürler!

-İşaret

SISTEM IÇLERINDEKI YENILIKLER

REGMON V4.25

Regmon Kayıt Defteri izleme aracına yönelik bu son güncelleştirme, Ve ZwQuerykey sistem hizmetleri için Windows 2000'in yeni KeyNameInformation sorgu türü için ZwEnumerateKey destek içerir. Bu işlevsellik Win32 uygulamaları tarafından kullanılmak üzere dışarı aktarılamaz, ancak sistemin kullanıcı başına Sınıf Kaydı Kayıt Defteri kovanlarının kullanımının bir parçası olarak ADVAPI32'deki Kayıt Defteri işlevleri tarafından kullanılır.

Windows 2000'de Win32 uygulamalarının Kayıt Defteri'nin Sınıf Kaydı bölümünü açmasının iki yolu vardır: belirtebilir HKEY_CLASS_ROOT veya belirtebilirler HKLM\Software\Classes. İlki, genel sınıf anahtarıyla birlikte kullanıcı başına sınıf anahtarına bir tanıtıcı, ikincisi ise yalnızca genel bilgilere bir tanıtıcı döndürür. ADVAPI32 Kayıt Defteri işlevi, bir kullanıcı tarafından geçirilen Kayıt Defteri anahtar tanıtıcısının temel adını inceleyerek kullanıcının yalnızca hangisini belirttiğini belirleyebilir, dolayısıyla yeni sorgu türü gereksinimi. Daha fazla bilgi için sdk belgelerine RegOpenKeyEx bakın.

Regmon v4.25'i http:www.sysinternals.com/regmon.htm adresinden indirin.

LISTDLLS V2.22

Geliştirici bir dinamik bağlantı kitaplığı (DLL) oluşturduğunda bağlayıcıya DLL'nin "temel adresini" söyler. Bu adres, bağlayıcının DLL'nin görüntü dosyasında göreli adres bilgilerini oluşturduğu adrestir. Dll, temel adresinden farklı bir adrese yüklenirse, yükleyicinin farkı hesaba eklemek için yüklenen DLL görüntüsündeki tüm göreli adresleri düzeltmesi gerekir.

Bu düzeltmeler veya yeniden konumlandırmalar bir uygulamanın başlangıç süresini artırabilir, bu nedenle geliştiriciler konum değiştirmelerin oluşmasını açıkça engellemek ister. Ancak, ListDLL'ler gibi bir programın çıktısını gözden geçirerek yük adreslerini temel adresle karşılaştırmak yorucudur. Bu nedenle ListDLL'lerin 2.22 sürümünün -rçıkışında yeniden konumlandırılmış DLL'leri not alan yeni bir seçenek almasını sağladım.

ListDLLs v2.22'i şu konumdan indirin: http://www.sysinternals.com/listdlls.htm.

TDIMON V1.0

TDImon, güçlü SysInternals izleme araçları paketinin en son sürümüdür ve sisteminizdeki TCP ve UDP etkinliğini gösterir. Araç adını, TCP/IP yığınına arabirimdeki TCP ve UDP etkinliğini izlemesinden alır ve bu arabirim Aktarım Sürücüsü Arabirimi (TDI) olarak adlandırılır. Tüm uygulama ve sürücü TCP ve UDP etkinliğinin bu arabirimden geçmesi gerekir, yani TDImon tarafından algılanmayan TCP veya UDP etkinliği kaymaz.

TDIMon, kuzenleri Filemon, Regmon, Portmon ve DebugView ile aynı GUI'yi paylaşır ve diğer izleme araçları gibi size etkinlik, zaman damgaları gerçekleştiren işlemlerin adlarını gösterir ve filtreleme ve vurgulama özelliğine sahiptir. Bu, TDIMon'ı yöneticiler için ideal bir ağ sorun giderme aracı ve uygulama geliştiricileri için TCP/IP hata ayıklama aracı yapar. TDImon, Windows 95, 98, NT 4 ve Windows 2000'de çalışır.

TDImon v1.0 sürümünü şu konumdan indirin: http://www.sysinternals.com/tdimon.htm.

LDMDUMP V1.0

Windows 2000, tüm Windows işletim sistemlerinin şimdiye kadar kullandığı MS-DOS stili bölümlemenin bazı dezavantajlarının üstesinden gelen geçici bölümleme adlı yeni bir bölümleme biçimi içerir. Mantıksal Disk Yöneticisi (LDM) adlı bir bileşen, dinamik diskler olarak adlandırılan geçici bölümler ile biçimlendirilmiş disklerdeki birimleri yönetir (MS-DOS stili bölümlemeli diskler temel diskler olarak adlandırılır). Dinamik diskler, uyguladıkları bölüm yansıtması nedeniyle daha sağlam olmasının yanı sıra, dosya sistemi sürücüleri tarafından tanınmaları ve bağlanmaları için sistemi yeniden başlatmak zorunda kalmadan çok bölümlü birimler oluşturma avantajına sahiptir.

Microsoft, LDM bölümleme veritabanının biçimini belgelememiştir. Aslında, teknolojiyi UNIX birim yönetimi yazılımında aynı veritabanını kullanan Veritas'tan lisanslamaları, lisans sözleşmeleri Microsoft'un belgelemesini engelleyebilir. Sonunda LDM için bir Win32 IOCTL arabirimi olabilir, ancak bu arada biçimi çözdüm ve LDMDump adlı bir araç yazdım ve dinamik diskin veritabanı içinde eşlemek için kullanabileceğiniz bir araç yazdım. LDMDump, Windows 2000 Resource Kit'in DmDiag aracıyla kabaca aynı bilgileri sunar, ancak LDMDump bilgileri çok daha temiz bir şekilde sunar (inanıyorum). Şu anda bu araç için kaynak kodu önermiyorum, ancak kendi uygulamalarınız için lisanslamayla ilgileniyorsanız lütfen benimle iletişime geçin.

Windows 2000 Magazine "Inside Storage, Bölüm 2" sütunumdaki LDM Veritabanı hakkında bilgi için bkz. http://www.sysinternals.com/publ.htm.

LDMDump v1.0 sürümünü şu konumdan indirin: http://www.sysinternals.com/ldmdump.htm.

AUTORUNS V1.1

Son iki ay içinde sunduğumuz Otomatik Çalıştırmalar'ı zaten biliyor olabilirsiniz. AutoRuns, kayıt defterindeki ve içindeki her konumun otomatik çalıştırma ayarlarını gösterir. Bu tür bilgilerin belirtildiği INI dosyaları (veya düşündüğümüz gibi). Kullanıcı geri bildirimi, AutoRuns'un eksik olduğu birkaç konumla ilgili ipucu verdi ve bu en son sürüm artık bunları gösteriyor.

AutoRuns v1.1'i şu konumdan indirin: http://www.sysinternals.com/misc.htm.

HAZIRAN/TEMMUZ IÇ SÜTUNLARı

Win32 hizmetlerinin standart Win32 uygulamalarından tam olarak nasıl farklı olduğunu hiç merak ettiğiniz oldu mu? Ya da NT önyükleme veya kapatma sırasının bu kadar uzun sürmesini neyin sağladığını merak ediyor olabilirsiniz. Windows 2000 Magazine'deki Win32 hizmetlerindeki iki bölümlü Haziran/Temmuz serimde bu soruları ve daha fazlasını yanıtliyorum.

1. Bölümde sizi win32 hizmetinin yapısına alıyorum ve istemci uygulamalarından gelen komutları nasıl kabul ettiklerini açıklıyorum. Ardından, başlatma ve kapatma dahil olmak üzere Win32 hizmetlerini yönetmekle sorumlu olan Hizmet Denetim Yöneticisi'ni (SCM) açıklamaya başlıyorum. Bölüm 2'de, sistem önyüklemesi sırasında gerçekleşen hizmet başlatma işlemi açıklamamı bitiriyorum ve ardından SCM'nin hizmetleri nasıl kapattığı anlatıyorum. Ayrıca Microsoft'un Windows 2000'de SCM'de yaptığı iyileştirmelere göz atıp sizi SrvAny Resource Kit aracının içine alıyorum.

Windows 2000 Magazine aboneleri şu konumdaki satır içi sütunları okuyabilir: http://www.sysinternals.com/publ.htm.

İç BİlGİLER

WINDOWS NT DERLEME GEÇMIŞI

Geçmiş bültenlerden öğrendiğiniz gibi, derleme ekibi günün kod iadeleriyle yeni bir derleme oluşturduğunda Windows NT 'nin (şimdi Windows 2000) derleme numarası her gün artar. Eski beta ve sürüm adayı CD'lerimin yanı sıra windows NT'yi benden daha uzun süre kullanan diğer kullanıcıların yardımlarını kullanarak, genel sürümlere (betalar, sürüm adayları ve tam sürümler) karşılık gelen derleme numaralarının listesini derledim. Tarihlerin derlemenin yayın tarihi değil derleme tarihi olduğunu unutmayın. Örneğin, Win2K'nin son derlemesi olan 2195, Aralık ayında yapılmıştır, ancak Şubat ayında genel kullanıma sunuldu.

Derleme Sürüm Tarih
297 PDC 1992
340 NT 3.1 Beta 1 Ekim 1992
397 NT 3.1 Beta 2 Mart 1993
511 NT 3.1 Temmuz 1993
611 NT 3.5 Beta 1 Nisan 1994
683 NT 3.5 Beta 2 Haziran 1994
756 NT 3.5 RC 1 Ağustos 1994
807 NT 3.5 Eylül 1994
944 NT 3.51 Beta 1 Şubat 1995
1057 NT 3.51 Mayıs 1995
1234 NT 4.0 Beta 1 Ocak 1996
1314 NT 4.0 Beta 2 Mayıs 1996
1381 NT 4.0 Temmuz 1996
1671 NT 5.0 Beta 1 Eylül 1997
1877 NT 5.0 Beta 2 Eylül 1998
1946 Beta 3'ün Win2K RC0 sürümü Aralık 1998
2000.3 Beta 3'ün Win2K RC1 sürümü Mart 1999
2031 Win2K Beta 3 Nisan 1999
2072 Win2K RC1 Temmuz 1999
2128 Win2K RC2 Eylül 1999
2183 Win2K RC3 Kasım 1999
2195 Win2K Aralık 1999

WINDOWS NT/2000 ZAMANLAYıCı ÇÖZÜNÜRLÜĞÜ

Windows NT/2000, pentium döngüsü sayacının çözünürlüğüne kadar olan zamanları ölçmenize olanak sağlayan dahil olmak üzere QueryPerformanceCounterhizmetler sağlarken, aralık zamanlama hizmetleri biraz daha düşük çözünürlüğe sahiptir. Aslında varsayılan zamanlayıcı çözünürlüğü, tek işlemcili x86 sistemlerinde (genellikle 7,5ms veya SMP sistemlerinde 15ms) 10ms olan sistem saat aralığıyla aynıdır. Uygulamalar, çözünürlüğü 1ms'ye çıkarmak için kullanıcı alanında multimedya zamanlayıcı işlevlerini kullanabilir, ancak windows 2000'e kadar daha yüksek çözünürlükler isteyen sürücüler soğuktadır.

Windows 2000, ExSetTimerResolutionsürücülerin sistem zamanlayıcısının aralığını 1ms'ye düşürmek için kullanabileceği yeni bir DDK işlevi ekler. Multimedya zamanlayıcılarının ExSetTimerResolutionkaputunun altında neler olduğunu bilmek ister misin? Bkz. "Windows NT Yüksek Çözünürlüklü Zamanlayıcıların İçinde" http://www.sysinternals.com/timer.htm.

GÜVENLI SISTEM BELLEK EŞLEMESI

Sürücü geliştiricileri için yeni Windows 2000 çekirdek işlevleri konusuna değinsek de, bahsetmeye MmGetSystemAddressForMdlSafedeğer. Windows NT'nin önceki sürümlerinde, kullanıcının arabelleği veya fiziksel belleği için sistem adres alanı işaretçisi almak isteyen bir sürücü geliştiricisi, fiziksel arabelleği 'ye MmGetSystemAddressForMdlaçıklayan bir MDL (Bellek Tanımlayıcı Listesi) geçirmek zorunda kaldı.

Sistemin adres alanında sanal eşleme oluştururken, eşleştirilen her fiziksel sayfa için bir Sistem PTE'sinin gerekli olduğu Sistem Sayfası Tablo Girdileri (Sistem PTE'leri) adlı kaynak kullanılır. Ne yazık ki, Sistem PTE'leri sınırlı kaynaklardır ve sürücüler büyük miktarda bellek eşlediyse tükenebilir. Gereken Sistem TSS'lerini alamıyorsanız MmGetSystemAddressForMdl ne olur? Eşlenmiş sanal adres olarak bir döndürmek gibi yararlı bir NULL şey yapacağını düşünebilirsiniz. Ama hayır, pes eder ve sistemi mavi ekranlarla kaplar. Böyle bir davranış, isteği yapan sürücüye kötü yansır.

Windows 2000'ler MmGetSystemAddressForMdlSafe yapılması gerekenleri yapar MmGetSystemAddressForMdl : arabellek için eşlemeyi oluşturmak için yeterli Sistem PTE'leri yoksa değerini NULL döndürür. Sürücünüzü işaret eden utanç verici bir dökümü önlemek için bu işlevi kullanın. NT 4 ve Windows 2000 üzerinde çalışan bir sürücüye sahipseniz, Windows 2000'deyken bu yeni API'nin avantajlarından yararlanabilmeniz için her platform için bir tane olmak üzere iki farklı sürümü yayınlamaya değer.

KLAVYEYI YENIDEN EŞLEME

Benim gibiyseniz, klavyede caps-lock tuşuyla bilgisayar klavyelerinde yer alan konumda bir ctrl tuşunun bulunduğu bir UNIX klavyede başladınız. Yazma hızımı artırmak ve Windows 9x ve Windows NT'de cihaz sürücüsü geliştirme hakkında bilgi edinmek için bu işletim sistemlerinin her ikisinde de ilk sürücü projelerimden biri klavye yeniden eşleme sürücüsü uygulamaktı. Windows 9x sürümünü http://www.sysinternals.com/c2cap95.htm ve Windows NT/2K sürümünü adresinde bulabilirsiniz http://www.sysinternals.com/ctrl2cap.htm.

Windows NT/2K'de klavye filtresi sürücüsü kullanmanın bir alternatifi vardır. Kayıt Defteri'nde tarama kodu yeniden eşleme girdilerini tanımlayarak klavyenin davranışını tamamen yeniden programlayabilirsiniz. Aslında Windows 2000 Kaynak Seti, klavyenin grafik gösterimini kullanarak tuşları değiştirmenizi sağlayan RemapKey adlı bir araç içerir. Microsoft'un web sitesindeki bu makalede, klavye yeniden düzenleme ve nasıl çalıştığı hakkında bilgi verilmektedir: http://www.microsoft.com/HWDEV/input/W2kscan-map.htm. Aracın NT 4'te de çalıştığını unutmayın.

Bu nedenle, Windows 2000 Kaynak Seti'ne sahip olmadığınızı ve bunun için para harcamamayı tercih ettiğinizi varsayalım (Bunu yapmanızı tavsiye ederim, her türlü harika araç ve belgeyle dolu). Böyle bir durumda klavyeyi el ile yeniden eşleyebilirsiniz. Az önce başvurduğum Microsoft makalesi, klavye sürücüsünün yeniden eşleme kodlarını ()HKLM\ SYSTEM\CurrentControlSet\Control\Keyboard Layout\Scancode Map arayacağı Kayıt Defteri tuşunun biçimini ve Microsoft tarafından da sağlanan bu makale size anahtarlara karşılık gelen tarama kodlarını bildirir: http://www.microsoft.com/hwdev/download/desinit/scancode.zip.

İstediğiniz tek şey caps-lock ve denetimi değiştirmekse (klavye filtrelerimin caps-lock tuşunu kullanmadığım için caps-lock tuşunu tamamen kaldırdığını unutmayın), aşağıdaki metni ("----" ayırıcıları dahil değil) bir dosyaya kopyalayabilir (swapcaps.reg gibi adlandırın) ve dosyaya çift tıklayabilirsiniz. Ayarlar Kayıt Defteri'ne aktarılır ve yeniden başlatmanın etkili olması gerekir.

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,3a,00,1d,00,1d,00,3a,00,\
  00,00,00,00

Eşlemeyi geri almak istiyorsanız Kayıt Defteri'nden Scancode Map değerini silin ve yeniden başlatın.

GIZLI WINDOWS 98 DOSYA SISTEMI GÜNLÜĞÜ

Hiç Windows 98 sistem dizininize göz atıp adlı \Windows\Applogbir alt dizin fark ettiniz mi? Bu dizinde büyük olasılıkla son çalıştırdığınız uygulamalarla ve gibi uzantılarla eşleşen adlara sahip dosyalar bulacaksınız. LGC ve . LGD. Not Defteri'nde dosyalardan birini açtığınızda, dosya adları, uzaklıklar ve açık ve kapanış çağrılarıyla birlikte bir dosya sistemi etkinlik izlemesini net bir şekilde görürsünüz. Virüs bu günlükleri mi oluşturuyor yoksa Windows 98'de bulunan ve Uygulama kullanım düzenlerinizi Microsoft'a geri bildiren gizli bir yardımcı program mı? İkisi de (her ikisi de olsaydı, sysInternals bülteninde değil, ticaret basınında bunu okuyor olurdun). Windows 98'in "en sık kullandığınız uygulamaları yüzde 36'ya kadar daha hızlı yükler" özelliğinin bir parçası.

içindeki HKLM\Software\Microsoft\Windows\CurrentVersion\RunTaskmon girdisi nedeniyle Windows 98, Önyükleme sırasında Taskmon adlı bir hizmet programı başlatır. Taskmon, uygulama başlatma sırasında dosya kullanımını görebilmesi için bir dosya sistemi etkinlik kancası yüklemek için FioLog (\Windows\System\FioLog.Vxd) adlı bir VxD yükler. Taskmon, içinde listelenen HKLM\Software\Microsoft\Windows\CurrentVersion\Taskmon\ExcludeAppsuygulamalar dışında, tüm uygulamaların başlatılırken gerçekleştirdiği dosya sistemi etkinliğini izler. FioLog, uygulama başlatma dosya sistemi etkinliğini Applog dizinine kaydeder. Oluşturduğu günlük dosyaları uzantısıyla başlar. LGA. Bir günlüğün ne zaman silineceğini ve son harfin artırılmış olduğu yeni bir uzantıya sahip bir uygulama için ne zaman yeni bir günlük oluşturulacağını nasıl belirleyeceği açık değildir. Örnek günlük dosyasının bir bölümü aşağıda verilmişti:

{
o da3034d0 d000 "C:\WINDOWS\NOTEPAD.EXE"
R da3034d0 0 40
R da3034d0 80 f8
R da3034d0 80 1c0
R da3034d0 7000 1000
R da3034d0 6000 e00
o da2b2610 156000 "C:\WINDOWS\SYSTEM\SHELL32.DLL"
R da2b2610 83000 1000
o da2b2f40 45110 "C:\WINDOWS\SYSTEM\SHLWAPI.DLL"
R da2b2f40 3c000 1000
R da2b2f40 3c000 1000
...

Satırlar dört alana ayrılır: birincisi açık olan, o R okunan ve C yakın olan işlem kodudur. FioLog yalnızca uygulama başlatma sırasında okuma işlemlerini kaydettiğinden ( yazma için) görmezsiniz W , böylece uygulama başlatma en iyi duruma getirilebilir. İkinci alan, iç dosya işaretçisidir. Üçüncü ve dördüncü alanlar satırın işlem koduna göre yorumlanmalıdır. İşlem kodu ise R üçüncü alan dosya uzaklığı, dördüncü alan ise okumanın uzunluğudur. Ancak, işlem kodu ise o üçüncü alan açık bayraklar, dördüncü alan ise açılan dosyanın adıdır. Örnek izlemesinde notepad.exe dosyasının açılması, sonraki okuma işlemlerinde kullanıldığını görebileceğiniz da3034d0 dosya işaretçisini döndürür.

Birleştirme işlemini başlattığınızda Defrag.Exe programı, günlük dosyalarını işlemek için CvtApLog (\Windows\System\Cvtaplog.exe) adlı bir program yürütür. CvtApLog, okuduğu günlük dosyalarına göre en uygun küme yerleşimini bulmak için ClusAlgo.Dll (\Windows\System\Clusalgo.dll) adlı bir DLL kullanır ve bu bilgileri birleştirme işlemine yol gösteren adlı \Windows\Applog\Applog.d* dosyalara kaydeder. CvtApLog ayrıca günlük dosyalarının dikte edilen uygulama başlatma iyileştirmelerini özetleyen adlı \Windows\Applog\Optlog.txt bir dosya oluşturur. bir Optlog.txt dosyasının kısmi içeriği şunlardır:

Program Launch Optimization Log - Created Tue Jun 13 11:42:52 2000

Programs Eligible for Optimization:
Ord Flag ProgName Uses   LastExecDate Program Path                           
1        RUNDLL32 65     2000.06.13   C:\WINDOWS\RUNDLL32.EXE                
2        ATIPTAAB 31     2000.06.13   C:\WINDOWS\SYSTEM\ATIPTAAB.EXE         
3        NOTEPAD  22     2000.06.13   C:\WINDOWS\NOTEPAD.EXE                 
4        PING     9      2000.06.10   C:\WINDOWS\PING.EXE                    
…             
17       IEXPLORE 2      2000.06.01   C:\PROGRAM FILES\INTERNET EXPLORER\IEXPLORE.EXE

Programs Ineligible for Optimization:
Ord Flag ProgName Uses   LastExecDate Program Path                           
18  S    GREP     5      2000.06.13   C:\BIN\GREP.EXE                        
19  S    STRINGS  12     2000.06.13   C:\BIN\STRINGS.EXE                     
20  S    ATI2CWXX 31     2000.06.13   C:\WINDOWS\SYSTEM\ATI2CWXX.EXE         

Control Parameters:
Use app profile        = Yes
Minimum log size    = 1000
Maximum no use days = 90
Maximum apps        = 50

Flags for Ineligible Programs:
S = Log size smaller than <Minimum log size>
U = Program not used for more than <Maximum no use days>
P = No profile for program
E = Associated program no longer exists
D = Log deleted (may be combined with one of the above)

Windows 98'in bir uygulamanın başlatılması sırasında kullanılan dosyaların parçalarını disk üzerindeki bitişik bir alana taşıma özelliği, Microsoft'un Intel'den lisanslanmış teknolojisidir (bunu görmek için Defrag.exe el ile yürütür ve "Intel Uygulama Başlatma Hızlandırıcısı" metnini alırsınız).

WINDEV '00 BATı

WinDev '00 East geçen hafta 660 kişinin katıldığı bir rekor katılımla gerçekleşti (otelin tutabileceği tek şey bu). Konferansta bulunan konuşmacılar, COM tanrısı Don Box'tan sürücü uzmanlar Jamie Hanrahan ve Brian Catlin'e kadar herkes dahil olmak üzere Windows geliştirmesinin her alanındaki büyük adları temsil eder. Oturumlarım arasında "Windows 2000 Internals", "Advanced Drivers", "Windows NT/2000 Dosya Sistemi Sürücüleri" ve "Küme Sunucusu" yer aldı.

Kaçırdığın için üzgünsen, şansın yaver giderse ikinci bir şansın olur. WinDev '00 West, 11-15 Eylül tarihleri arasında Santa Clara, CA'da tutulacak ve aynı konuşmacıların hepsi orada olacak. Aynı oturumları vereceğim ve WinDev East'de olduğu gibi sorularımı yanıtlayan veya özellikle içgörülü sorular soran katılımcılara ücretsiz SysInternals tişörtleri dağıtacağım. Daha fazla bilgi için http://www.butrain.com/windev/west/default.htm.

YAKLAŞANLAR

"GÜVENLI" WINDOWS 98 KAYıT DEFTERI ANAHTARLARı

Windows 98 Kayıt Defteri güvenliği desteklemese de, Microsoft gizli Kayıt Defteri anahtarlarını tanımlamak için bir mekanizma uygulamıştır. Hangi uygulama bu gizli teknolojiyi kullanır? Internet Explorer tabii ki. Bir dahaki sefere IE'nin hangi anahtarları gizleyişi ve Windows 98'in bunları nasıl uyguladığını anlatacağım.


Systems Internals Bülten'i okuduğun için teşekkür ederiz.

Yayın tarihi: 14 Haziran 2000 Çarşamba 19:08 ottoh

[Bülten Arşivi ^] [< Birim 2, Sayı 2] [Birim 2, Sayı 4 >]