Bagikan melalui


[Arsip Buletin ^] [< Volume 3, Nomor 1] [Volume 4, Angka 1 >]

Buletin Internal Sistem Volume 3, Nomor 2

http://www.sysinternals.com
Hak Cipta (C) 2001 Mark Russinovich


20 Agustus 2001 - Dalam masalah ini:

  1. EDITORIAL

  2. APA YANG BARU DI SYSINTERNALS

    • Penjelajah Proses v5.1
    • Menangani v2.0
    • PsInfo v1.1
    • PsExec v1.24
    • PsLogList v2.07
    • Tata Letak Sumber Windows XP
    • DebugView v4.13
    • PageDefrag v2.1, Contig v1.41
    • Sysinternals di Microsoft
  3. INFORMASI INTERNAL

    • Di dalam Windows 2000, DVD Interaktif
    • Tandai tanggal: Russinovich dan Solomon mengajar bersama di Austin
    • Manajemen disk baris perintah
    • Slide WINHEC 2001 online
    • Antarmuka driver filter sistem file baru di XP
    • Crash Windows dengan goresan kunci
    • Windows XP Prefetching
    • Koneksi .NET Windows
  4. APA YANG AKAN TERJADI

    • Pengalaman Itanium Saya

SPONSOR: PERANGKAT LUNAK WINTERNALS

Buletin Sysinternals disponsori oleh Winternals Software, di Web di http://www.winternals.com. Winternals Software adalah pengembang dan penyedia alat sistem canggih terkemuka untuk Windows NT/2K/XP. Produk Perangkat Lunak Winternals termasuk FAT32 untuk Windows NT 4.0, NTFSDOS Professional Edition (driver NTFS baca/tulis untuk DOS), dan Pemulihan Jarak Jauh.

Winternals dengan bangga mengumumkan Defrag Commander versi 1.31, defragmenter perusahaan tercepat dan paling menyeluruh yang tersedia. Sekarang Anda dapat mengelola jadwal defragmentasi di seluruh perusahaan Windows Anda dari snapin MMC sederhana - bahkan tanpa harus menginstal perangkat lunak klien apa pun pada sistem NT atau Windows 2000 Anda. Lisensi sistem 10 tersedia untuk pembelian online hanya dengan $ 169, dan diskon kuantitas agresif tersedia. Kunjungi http://www.winternals.com/39 untuk informasi lebih lanjut atau untuk mengunduh dan menggunakan gratis selama 30 hari.

Halo semuanya,

Selamat datang di buletin Sysinternals. Buletin saat ini memiliki 33.000 pelanggan.

Saya menggunakan komputer dalam beberapa kapasitas yang berbeda: sebagai pengembang perangkat lunak; sebagai pengguna; dan sebagai administrator sistem (untuk jaringan sistem pengembangan dan pengujian saya sendiri). Karena saya ingin menjangkau audiens terluas untuk alat freeware Sysinternals dan produk komersial Winternals, sebagian besar utilitas menargetkan pada Windows NT 4 minimum hingga Windows XP, dan banyak juga yang berjalan pada Windows 95 melalui Windows Me. Sebagian besar alat yang saya tulis adalah tingkat sistem, yang berarti bahwa mereka sering berisi kode kasus khusus untuk satu atau beberapa dari berbagai varian Windows. Sayangnya, ada perbedaan antarmuka pengguna dan kernel yang signifikan antara baris Windows NT dan baris Windows 9x, dan bahkan perbedaan antara versi dari baris yang sama.

Saya biasa melakukan pengujian dengan memiliki beberapa sistem debug, semua dikonfigurasi untuk melakukan multiboot rasa Windows yang telah saya hitung, dan booting ke dalam versi, pengujian, dan kemudian boot ulang ke versi berikutnya. Selain lambat, pengujian kadang-kadang akan condong dengan mengganggu penurunan build pengujian menengah utilitas yang belum saya bersihkan dengan benar. Meskipun saya masih memiliki kumpulan sistem multiboot untuk masalah debugging, produk inovatif yang disebut VMWare (www.vmware.com) telah membuat siklus pengujian saya lebih cepat dan lebih mudah.

VMWare adalah lingkungan komputer virtual yang Anda gunakan untuk membuat komputer virtual (tamu) yang berjalan di atas penginstalan Windows NT, Windows 2000, atau Linux (host). Tamu dapat menjalankan sebagian besar varian Windows, DOS, dan Linux. Ini membintikkan untuk melihat versi sistem operasi berjalan di atas yang lain, terutama ketika Anda membuat komputer virtual layar penuh - hampir tidak ada cara untuk mendeteksi bahwa Anda tidak duduk di layar komputer Linux alih-alih tampilan virtual komputer Linux yang berjalan di atas Windows 2000, misalnya . Komputer virtual adalah kotak yang diberlakukan perangkat lunak yang merangkum sistem operasi dan aplikasi yang berjalan di komputer virtual sehingga ketika mereka mencoba dan berinteraksi dengan perangkat keras yang mereka yakini ada, perangkat lunak komputer virtual mencegat akses. Perangkat lunak komputer virtual membuat perangkat virtual yang berfungsi sebagai pengganti yang dikontrol dengan hati-hati ke perangkat keras nyata atau perangkat keras virtual. Misalnya, ketika aplikasi yang berjalan di komputer virtual yang sedang ditampilkan di jendela menulis ke memori tampilan komputer virtual, perangkat lunak komputer virtual memperbarui konten jendela yang mewakili tampilan komputer virtual alih-alih membiarkan akses menyentuh memori video nyata. Jika komputer virtual berjalan dalam mode layar penuh, perangkat lunak komputer virtual akan membiarkan akses tersebut memanipulasi memori video secara langsung.

Kemampuan komputer virtual saja membuat VMWare berguna, karena Anda dapat memiliki sejumlah "sistem pengujian" yang terletak di sekitar hard drive Anda. Apa yang membuat VMWare lebih kuat adalah fakta bahwa Anda dapat "menangguhkan" komputer virtual, menyimpan statusnya ke disk, dan kemudian melanjutkannya, dalam hitungan detik memulihkan status yang dimilikinya ketika Anda menangguhkan. Dan masih ada lagi. Saya menggunakan fitur yang luas yang disebut "disk non-persisten", yang memiliki VMWare memulai komputer virtual dengan disk virtual yang berisi konten yang telah Anda tentukan (misalnya, hanya dengan penginstalan OS dasar) dan kemudian melacak perubahan sehingga Anda dapat membatalkannya dan kembali ke status awal. Jika saya menginstal versi pengujian utilitas dan kemudian perlu memastikan bahwa saya kembali pada keadaan bersih yang tidak mencerminkan perubahan utilitas apa pun, saya hanya membatalkan perubahan. Saya juga menemukan VMWare berguna dalam peran administrator pengguna dan sistem saya. Setiap kali saya mengunduh aplikasi yang saya tidak yakin ingin saya simpan, daripada mungkin membahayakan sistem pengembangan saya atau mengisinya dengan puing-puing kiri ketika saya menghapus instalasi aplikasi, saya hanya mencobanya di komputer virtual dengan disk yang tidak persisten terlebih dahulu.

Ada beberapa kelemahan yang relatif kecil pada versi saat ini yang telah mencegah saya menggunakan komputer debug nyata saya sebanyak yang saya lakukan. Yang pertama adalah, karena komputer virtual tidak mendukung DirectX, Anda tidak dapat menjalankan debugger SoftICE Numega kecuali dengan komputer virtual pada resolusi layar 640x480. Yang kedua adalah bahwa virtualisasi VMWare dari port serial dibatasi dengan cara yang mencegah debugging kernel menggunakan Windbg atau Kd baik antara host dan tamu atau antara tamu. Namun, masalah terakhir harus ditangani dalam rilis VMWare utama berikutnya.

Apa yang sangat menarik tentang VMWare adalah bahwa, sampai VMWare menunjukkan sebaliknya, ilmuwan komputer sebagian besar memegang keyakinan bahwa tidak mungkin untuk memvirtualisasi arsitektur x86 dalam perangkat lunak dengan cukup baik untuk menjalankan sistem operasi yang tidak dimodifikasi tanpa penurunan performa yang dilarang. Tantangannya signifikan, terutama di bidang virtualisasi perangkat keras, dan keberhasilan VMWare dipandang sebagai terobosan - begitu banyak sehingga VMWare baru-baru ini menerbitkan makalah "konferensi terbaik" tentang bagaimana mereka menerapkan virtualisasi perangkat di Konferensi Teknis USENIX tahunan. Anda dapat membaca kertas di http://vmware1.m0.net/m/s.asp?HB4162878203X1075673X73339X.

Berbicara tentang Konferensi Teknis USENIX, saya juga penulisan bersama makalah yang diterbitkan di sana, Server Web Berbasis Memori Berkinerja Tinggi: Kernel dan Performa Ruang Pengguna (http://www.sysinternals.com/files/webserver.pdf). Makalah ini menjelaskan beberapa penelitian inovatif yang saya ikuti saat bekerja di IBM Research. Kontribusi pekerjaan berada di area akselerasi server Web mode kernel, dan selain berkontribusi pada arsitektur, saya bertanggung jawab atas sebagian besar implementasi pada Windows NT dan Windows 2000. Proyek ini sangat sukses sehingga kami secara konsisten memegang catatan dunia SPECWeb untuk kinerja penyajian web, telah dirilis sebagai produk IBM yang masih berkembang yang disebut IBM Netfinity Web Server Accelerator, dan komunitas Microsoft dan Linux telah memasukkan beberapa ide utama ke dalam produk mereka sendiri (seperti IIS untuk Windows 2000 dan Tux di Linux).

Berikan buletin kepada teman yang menurut Anda mungkin tertarik dengan kontennya.

Terima kasih!

-Tanda

APA YANG BARU DI SYSINTERNALS

PROCESS EXPLORER V5.1

Process Explorer adalah nama baru untuk HandleEx, utilitas multiguna yang menunjukkan informasi terperinci tentang proses, DLL yang telah mereka muat, dan handel ke sumber daya sistem operasi yang telah mereka buka. Seiring dengan nama barunya, Versi terbaru Process Explorer memperkenalkan banyak fitur baru termasuk refresh otomatis yang efisien, kolom penggunaan CPU, kemampuan untuk mengubah prioritas proses, dan pelaporan ID sesi proses jika sistem adalah server terminal. Plus, ini menunjukkan lebih banyak informasi lebih lanjut tentang proses. Misalnya, Anda dapat melihat daftar layanan yang berjalan dalam proses (jika berlaku), memeriksa variabel lingkungan proses, dan melihat baris perintah proses. Dengan menggunakan opsi pengurutan baru yang disebut "pohon proses", Anda dapat melihat hubungan proses induk-anak secara grafis, sesuatu yang dapat membantu Anda mengidentifikasi tujuan proses. Process Explorer berjalan pada semua versi Windows 9x serta Windows NT 4 hingga Windows XP.

Sesuatu yang mungkin tidak segera jelas dari antarmuka Process Explorer adalah kemampuannya untuk menunjukkan kepada Anda proses apa yang membuka file atau direktori tertentu. Alihkan tampilan ke mode handel dan masukkan nama file atau direktori yang dimaksud ke dalam dialog pencarian. Fitur pencarian paling sering digunakan untuk melacak proses yang mencegah Anda menghapus atau mengganti nama file atau direktori, tetapi Anda juga dapat menggunakannya untuk mencantumkan proses yang memiliki DLL tertentu yang dimuat.

Unduh Process Explorer v5.1 di http://www.sysinternals.com/ntw2k/freeware/procexp.shtml.

MENANGANI V2.0

Handle adalah versi baris perintah dari fungsionalitas tampilan handel Process Explorer yang memungkinkan Anda melihat handel ke sumber daya sistem operasi, seperti file, yang prosesnya telah terbuka. Dalam beberapa kasus menggunakan Handle adalah cara yang lebih cepat untuk mengidentifikasi proses yang membuka file atau direktori daripada menggunakan fasilitas pencarian Process Explorer, karena Anda cukup memasukkan bagian dari nama file atau direktori pada baris perintah Handle. Selain pencarian nama handel yang lebih efisien, Handel 2.0 sekarang berfungsi pada Windows 95/98/Me.

Unduh Handel v2.0 di http://www.sysinternals.com/ntw2k/freeware/handle.shtml.

PSINFO V1.1

Tambahan terbaru untuk rangkaian alat administratif PsTools adalah PsInfo. PsInfo adalah alat baris perintah yang melaporkan karakteristik perangkat keras dan sistem operasi komputer. Misalnya, ini memberi tahu Anda sistem operasi apa yang berjalan, termasuk nomor paket layanan, tanggal penginstalan dan kedaluwarsa (jika berlaku), dan konfigurasi (misalnya pengendali domain, server anggota). Ini juga mencantumkan jenis, kecepatan, dan jumlah CPU di komputer, dan jumlah memori fisik yang diinstal. Informasi ini membuat PsInfo berguna untuk identifikasi atau inventori sistem. Seperti semua alat di rangkaian PsTools, PsInfo berjalan di komputer Windows NT, 2000, atau XP lokal atau jarak jauh.

Unduh PsInfo v1.1 di http://www.sysinternals.com/ntw2k/freeware/psinfo.shtml.

PSEXEC V1.24

PsExec memungkinkan Anda meluncurkan proses pada sistem jarak jauh tanpa harus menginstal perangkat lunak apa pun secara manual pada sistem jarak jauh, selama sistem berada di Lingkungan Jaringan Anda. Kekuatan PsExec terletak pada dukungannya untuk I/O program konsol yang dialihkan, di mana ia menangani input keyboard dan output teks program konsol jarak jauh seolah-olah berjalan pada sistem lokal Anda.

Versi terbaru PsExec mendukung beberapa proses yang berjalan pada sistem jarak jauh yang sama, memungkinkan Anda membuka beberapa perintah dari jarak jauh pada sistem lain, misalnya. Ini juga memiliki opsi "paksa salin" baru yang memungkinkan Anda menentukan bahwa Anda ingin PsExec menyalin file ke komputer jarak jauh untuk dieksekusi, menggantikan versi yang ada.

Unduh PsExec v1.24 di http://www.sysinternals.com/ntw2k/freeware/psexec.shtml.

PSLOGLIST V2.07

PsLogList, utilitas PsTools lain, mencadangkan log peristiwa dari sistem lokal atau jarak jauh. Tidak seperti eloglist, alat Resource Kit Windows 2000 dengan tujuan yang sama, PsLogList menampilkan string peristiwa lengkap rekaman, dan saat membuang log jarak jauh, ia menggunakan file string-resource log peristiwa dari sistem jarak jauh alih-alih dari yang lokal.

PsLogList versi 2.07 menyertakan sakelar baris perintah sehingga Anda dapat mengarahkannya ke informasi rekaman log peristiwa yang diperluas cadangan (informasi tambahan yang dapat dikaitkan dengan rekaman), dan sakelar baru sehingga Anda dapat melihat rekaman hanya dari hari-hari terakhir yang ditentukan.

Unduh PsLogList v2.07 di http://www.sysinternals.com/ntw2k/freeware/psloglist.shtml.

TATA LETAK SUMBER WINDOWS XP

Pernahkah Anda bertanya-tanya bagaimana Microsoft mengatur kode sumber yang membentuk kernel Windows NT/2000/XP? Saya juga, dan menyadari bahwa informasi tersebut tersedia untuk umum. Setiap kali Microsoft merilis build baru Windows 2000/XP, Microsoft merilis beberapa versi:

  • versi uniprocessor "gratis"
  • versi "gratis" uiniprocessor yang mendukung lebih dari 4 GB memori fisik
  • versi "gratis" multiproscesor
  • versi "gratis" multiproscesor yang mendukung lebih dari 4 GB memori fisik
  • versi multiproscessor "diperiksa"
  • versi multiproscessor "diperiksa" yang mendukung lebih dari 4 GB memori fisik

Untuk total 6 versi. Apa yang membedakan "gratis" dari "diperiksa" bukanlah fakta bahwa versi "gratis" gratis (tidak), tetapi bahwa versi "diperiksa", yang termasuk dalam kumpulan CD MSDN, termasuk kode dan data yang membantu sistem operasi dan penelusuran kesalahan driver perangkat. Versi "gratis" hanya dikompilasi bebas dari kode tambahan yang disertakan dalam pernyataan kompilasi bersyarkat.

Contoh kode tambahan yang diperiksa termasuk pernyataan cetak debug yang melaporkan apa yang dilakukan sistem operasi, pemeriksaan konsistensi yang lebih ketat pada parameter yang diteruskan ke fungsi mode kernel dari driver perangkat, dan pernyataan "pernyataan". Pernyataan pernyataan memvalidasi asumsi pengembang tentang kondisi yang berlaku untuk area kode. Misalnya, jika penunjuk harus menunjuk ke struktur data dengan tanda tangan identifikasi, pengembang dapat menyisipkan pernyataan ke efek tersebut. Apa yang terjadi ketika asumsi pernyataan dilanggar? Itu tergantung pada pernyataan, tetapi dalam kasus yang disertakan dalam build yang diperiksa pesan output debug dicetak dan kemudian titik henti debugger dipicu sehingga debugger kernel diaktifkan (atau, jika tidak ada debugger yang aktif, crash terjadi yang mudah-mudahan menghasilkan file cadangan yang nantinya dapat diperiksa).

Untuk memudahkan mengidentifikasi masalah yang tertangkap oleh pernyataan, pernyataan yang digunakan dalam build yang diperiksa mencetak file, fungsi, dan nomor baris lokasi pernyataan. Saya dapat menampilkan tata letak pohon sumber dengan mengekstrak string ini dengan utilitas ekstraksi string "string" saya dan mengaturnya ke dalam tampilan pohon java.

Lihat tata letak sumber Windows XP dan pelajari selengkapnya tentang pernyataan di http://www.sysinternals.com/ntw2k/info/xpsrctree.shtml (perhatikan bahwa IE akan menampilkan peringatan tentang pemuatan halaman secara perlahan. Tutup dan Anda akan melihat pohon).

DEBUGVIEW V4.13

DebugView adalah utilitas pengembang yang memungkinkan Anda menangkap output debug dari aplikasi atau driver pada sistem lokal atau yang jarak jauh - bahkan dari beberapa sistem secara bersamaan. Rilis terbaru ini menambahkan kompatibilitas dengan Windows XP RC 1. DebugView berfungsi pada Windows 9x, Windows Me, Windows NT, Windows 2000, dan Windows XP.

Unduh DebugView v4.13 di http://www.sysinternals.com/ntw2k/freeware/debugview.shtml.

PAGEDEFRAG V2.1, CONTIG V1.41

Peringkat di bagian atas unduhan Sysinternals paling populer adalah PageDefrag dan Contig. PageDefrag mendefrag defragmentasi file data sistem inti pada waktu boot dan Contig adalah utilitas defragmentasi file baris perintah. Versi terbaru alat ini memiliki mesin defragmentasi yang ditingkatkan untuk Windows 2000 dan masing-masing memiliki beberapa peningkatannya sendiri.

Selain mendefragmentasi file Registri dan penomoran halaman, versi terbaru PageDefrag juga mendefragmentasi file log peristiwa. Dan mirip dengan Chkdsk di Windows 2000, PageDefrag sekarang memiliki hitungan mundur 3 detik selama proses boot di mana Anda dapat menekan tombol apa pun untuk melewati defragmentasi.

Apa yang membuat Contig unik adalah fakta bahwa Anda dapat menggunakannya untuk mendefragmentasi file individu, seluruh direktori, atau seluruh disk. Contig bertujuan untuk mengoptimalkan file tertentu yang penting bagi performa aplikasi karena, tidak seperti defragmenter komersial, itu tidak mengonsolidasikan ruang kosong untuk membantu mencegah fragmentasi di masa depan pada disk. Selain mesin defrag yang ditingkatkan, Contig baru memiliki pemformatan output yang lebih baik baik baik dalam mode non-verbose dan verbose.

Unduh PageDefrag v2.1 di http://www.sysinternals.com/ntw2k/freeware/pagedefrag.shtml.
Unduh Contig v1.4 di http://www.sysinternals.com/ntw2k/freeware/contig.shtml.

SYSINTERNALS AT WWW.MICROSOFT.COM

Sekali lagi berikut ini adalah angsuran terbaru referensi Sysinternals di artikel Pangkalan Pengetahuan Microsoft (KB) yang dirilis sejak buletin terakhir. Ini membawa ke 27 jumlah total referensi KB ke Sysinternals.

  • 0x8000FFFF Pesan "Kegagalan Bencana" dengan Driver ODBC SQL Server
    http://support.microsoft.com/support/kb/articles/Q243/3/49.ASP

  • ACC: Pesan Kesalahan: Komponen ActiveX Tidak Dapat Membuat Objek
    http://support.microsoft.com/support/kb/articles/Q296/2/05.ASP

  • HOWTO: Menentukan Versi MSXML yang Digunakan oleh Internet Explorer
    http://support.microsoft.com/support/kb/articles/Q296/6/47.ASP

  • HOWTO: Memecahkan Masalah "ADODB. Kesalahan Connection" 800a0bb9 dari Recordset DTC
    http://support.microsoft.com/support/kb/articles/Q197/3/23.ASP

  • INFO: Panduan Pemecahan Masalah untuk 80004005 dan Pesan Kesalahan Lainnya
    http://support.microsoft.com/support/kb/articles/Q183/0/60.ASP

  • XADM: Pesan ID Peristiwa 3036 dan 3026 Terjadi Saat Anda Mengisi Penyimpanan Kotak Surat
    http://support.microsoft.com/support/kb/articles/Q296/1/36.ASP

INFORMASI INTERNAL

DI DALAM WINDOWS 2000, DVD INTERAKTIF

Dave Solomon dan saya menulis "Inside Windows 2000, 3rd Edition", panduan resmi untuk internal dan arsitektur Windows 2000, dan kami sangat senang mengumumkan rilis tutorial DVD "Inside Windows 2000" yang akan datang. Tutorial ini sebenarnya terdiri dari 5 DVD dengan lebih dari 9 jam konten yang terdiri dari Dave dan saya mengajari Anda pekerjaan dalam Windows 2000 dalam pengaturan informal.

Topik yang dibahas meliputi manajemen memori, proses dan utas, penyimpanan, sistem file, jaringan, dan banyak lagi, dan masing-masing dipecah menjadi modul 10-20 menit untuk tampilan yang nyaman. Presentasi mencakup puluhan diagram, demo, cuplikan layar, dan daftar ringkasan, dan setiap modul menyimpulkan dengan pertanyaan ulasan untuk menguji dan memusatkan pemahaman Anda.

Harga akhir dan tanggal rilis belum diselesaikan, tetapi jika Anda ingin diberi tahu tentang rilis kirim email ke mailto:video@... dengan kata "minat" dalam subjek. Atau, perhatikan http://www.sysinternals.com/video/ detailnya.

TANDAI TANGGAL: RUSSINOVICH & SOLOMON MENGAJAR BERSAMA DI AUSTIN

Jika Anda tertarik dengan DVD-set, Anda pasti tertarik dengan kesempatan untuk melihat Dave dan saya mengajar internal NT secara langsung. Datanglah ke Austin, TX 11-13 Desember untuk mendengar kami menyajikan kelas Arsitektur Internal Windows XP/2000/NT 3 hari kami. Kelas ini didasarkan pada "Inside Windows 2000, 3rd Edition" dan mencakup subsistem lingkungan, pengiriman panggilan sistem, utas sistem, startup &shutdown, internal registri, proses dan penjadwalan utas, manajemen memori, keamanan, sistem I/O, penyimpanan, NTFS, dan manajer cache. Dengan memahami cara kerja dalam Windows XP & 2000, Anda dapat memanfaatkan platform secara lebih efektif dan lebih efektif men-debug dan memecahkan masalah.

Ketika detail tersedia, kami akan memberi tahu Anda di buletin dan di situs web, jadi nantikan!

COMMAND-LINE DISK MANAGEMNT

Membungkuk ke tekanan dari administrator sistem, Microsoft akhirnya merilis alat baris perintah yang dapat ditulis untuk mengelola disk pada Windows 2000. DiskPart memungkinkan Anda membuat volume atau partisi, membuat dan memecah cermin, memperluas volume, dan memeriksa detail disk, volume, dan partisi. Apa yang bagus adalah bahwa DiskPart adalah unduhan gratis dari http://www.microsoft.com/downloads/release.asp?ReleaseID=31167.

SLIDE WINHEC 2001 ONLINE

Jika Anda melewatkan Windows Hardware Engineering Conference (WINHEC) tahunan Microsoft, Anda masih dapat melihat slide dari banyak presentasi. Kunjungi http://www.microsoft.com/winhec/sessions/driver.htm untuk daftar sesi, deskripsi, dan tautan yang menyertainya ke dek Power Point. Presentasi minat umum adalah yang ada pada teknik debugging driver, driver filter, dan miniport NDIS dan driver perantara.

ANTARMUKA DRIVER FILTER SISTEM FILE BARU DI XP

Jika Anda memiliki pencerminan file real-time, pemeriksaan virus di akses, atau produk manajemen penyimpanan hierarkis yang didasarkan pada driver filter sistem file, maka Anda harus memastikan bahwa abreast perubahan yang diperkenalkan Microsoft di Windows XP yang memengaruhi Anda.

Perubahan terbesar berkaitan dengan rutinitas I/O yang cepat, fungsi khusus yang didaftarkan driver sistem file sehingga sistem Memory Manager, Cache Manager, dan I/O dapat menjalankan I/O sistem file dan berinteraksi dengan driver sistem file tanpa harus menghasilkan RUN. Mungkin mengejutkan bagi beberapa dari Anda untuk mengetahui bahwa ada 6 rutinitas I/O cepat di mana driver filter sistem file selalu dilewati. Yaitu:

FastIoAcquireFileExclusive
FastIoReleaseFile
FastIoAcquireFileForCcFlush
FastIoReleaseFileForCcFlush
FastIoAcquireFileForModWrite
FastIoReleaseFileForModWrite

Manajer Memori memanggil FastIoAcquireFileExclusive dan sebelum dan FastIoReleaseFile sesudah membuat bagian yang didukung oleh file, dan subsistem mode kernel lainnya dapat memanggil rutinitas ini untuk mencegah sementara bagian dibuat. Manajer Cache memanggil FastIoAcquireFileForCcFlush dan sebelum dan FastIoReleaseFileForCcFlush sesudah menghapus semua atau sebagian dari data cache file yang dimodifikasi kembali ke disk, dan Manajer Memori memanggil FastIoAcquireFileForModWrite dan sebelum dan FastIoReleaseFileForModWrite sesudah menulis halaman file yang dipetakan kotor kembali ke file.

Daripada memanggil fungsi I/O cepat secara langsung, subsistem mode kernel menggunakan rutinitas runtime sistem file pengganti (FsRtl). Rutinitas runtime untuk fungsi I/O paling cepat memanggil driver filter dengan mendapatkan referensi ke objek perangkat filter mereka melalui panggilan ke IoGetRelatedDeviceObject pada objek file target dan kemudian memanggil rutinitas I/O cepat yang sesuai filter, tetapi rutinitas runtime yang terkait dengan panggilan I/O cepat yang hanya tercantum sebagai gantinya memanggil IoGetBaseFileSystemDeviceObject, yang mengembalikan objek perangkat driver sistem file yang mendasarinya. Alasan bahwa runtime melewati filter untuk fungsi-fungsi ini adalah, menurut saya, sedikit lumpuh: runtime hanya tidak mempercayai driver filter. Jika filter tidak meneruskan panggilan ini ke driver sistem file yang mendasar, itu menyebabkan kerusakan data sistem file dan hampir pasti crash. Tetapi ada banyak hal yang dapat dilakukan driver filter untuk menyebabkan crash.

Di Windows XP, FsRtl memperkenalkan fungsi baru, FsRtlRegisterFileSystemFilterCallbacks, yang digunakan driver filter untuk mendaftarkan panggilan balik untuk berbagai operasi ini. Ini memungkinkan driver filter sistem file untuk memeriksa operasi ini dan bahkan untuk gagal, dan runtime dapat memastikan bahwa driver sistem file yang mendasarinya selalu dipanggil ketika sesuai. Di mana Anda dapat menemukan dokumentasi untuk fungsi tersebut? Windows XP Installable File System Kit, yang tersedia seharga $995 dari Microsoft: http://www.microsoft.com/ddk/ifskit/XPdefault.asp.

JENDELA CRASH DENGAN GORESAN KUNCI

Beberapa buletin yang lalu saya memberi tahu Anda bagaimana Anda dapat menambahkan pengaturan ke Registri Windows 2000 yang memungkinkan Anda memulai crash Bluescreen dari sistem yang sedang berjalan dengan urutan kunci khusus, memungkinkan Anda menganalisis sistem yang sebaliknya tidak merespons input. Bagaimana cara untuk crash Windows NT dan Windows 2000 tanpa harus mengatur apa pun di Registri?

Buka jendela prompt perintah, ubah direktori saat ini ke akar drive boot Anda (drive dengan \winnt di atasnya), dan ketik dir /s. Saat itu sedang berjalan, ketik F7+Enter beberapa kali lalu batalkan daftar dengan memasukkan Ctrl-C. Anda akan segera menemukan layar biru atau boot ulang spontan. Keren, ya? Sayangnya, tidak seperti trik yang sebelumnya saya laporkan, ini bukan perilaku yang dirancang, melainkan bug yang dapat Anda temukan laporannya di http://www.WindowsITsecurity.com/articles/index.cfm?articleID=22037.

Bagi Anda yang melewatkan buletin yang menyertakan pengaturan keystroke-crash, tambahkan nilai Registri berikut ke Registri Windows 2000 atau XP Sesuai instruksi dalam file bantuan Alat Debugging Microsoft:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\i8042prt\Parameters\CrashOnCtrlScrll DWORD 1

Reboot dan Anda dapat menabrak sistem dengan mengetik scroll-lock dua kali sambil menahan tombol kontrol kiri.

WINDOWS XP PREFETCHING

Microsoft telah memfokuskan Windows XP untuk meningkatkan pengalaman pengguna akhir, dan pengguna mempertimbangkan sebagian besar pengalaman kecepatan komputer menyala dan dapat digunakan. Oleh karena itu, pengembang Microsoft telah menghabiskan banyak upaya untuk meningkatkan performa proses boot dan startup aplikasi. Mereka telah mengatasi ini dalam beberapa cara: yang pertama adalah driver perangkat serial dan jaringan diinisialisasi secara paralel, tidak seperti di Windows 2000 di mana mereka menginisialisasi secara serial. Kedua, Winlogon tidak lagi menunggu layanan stasiun kerja (yang menunggu layanan jaringan) tersedia sebelum menyajikan dialog masuk dan memungkinkan pengguna untuk masuk. Akhirnya, mereka telah menggabungkan teknik yang disebut "prefetching" ke dalam proses boot dan startup aplikasi. Saya akan membahas secara singkat cara kerja prefetching dan mengarahkan Anda ke whitepaper yang diterbitkan Microsoft pada pengoptimalan boot.

Windows (semua versi kecuali untuk mode nyata Win3.1) adalah sistem operasi halaman permintaan, di mana data file dan kode "rusak" ke dalam memori dari disk saat aplikasi mencoba mengaksesnya. Data dan kode rusak dalam potongan "halaman"-granular di mana ukuran halaman ditentukan oleh perangkat keras manajemen memori CPU. Halaman adalah 4 KB pada x86. Prefetching adalah proses membawa data dan halaman kode ke dalam memori dari disk sebelum diminta.

Untuk mengetahui apa yang harus diambil sebelumnya, XP Cache Manager memantau kesalahan halaman yang dikeluarkan aplikasi saat memulai. Secara default melacak 2 menit pertama proses boot dan 10 detik pertama startup aplikasi. Setelah mengumpulkan jejak yang diatur ke dalam kesalahan yang diambil pada file metadata Tabel File Master (MFT) NTFS (jika aplikasi mengakses file atau direktori pada volume NTFS), file yang direferensikan, dan direktori yang direferensikan, itu memberi tahu komponen prefetch Penjadwal Tugas dengan memberi sinyal objek peristiwa bernama. Penjadwal Tugas melakukan panggilan ke NtQuerySystemInformation dengan tipe informasi yang menentukan kueri untuk pelacakan dan membacanya. Setelah melakukan pemrosesan postingan pada data pelacakan, Penjadwal Tugas menuliskannya ke file di bawah \Windows\Prefetch. Nama file adalah nama aplikasi tempat pelacakan diterapkan diikuti oleh tanda hubung dan representasi heksadesimal dari hash jalur file. File memiliki ekstensi ".pf" sehingga contohnya adalah NOTEPAD. EXE-AF43252301.PF.

Pengecualian untuk aturan nama file adalah file yang menyimpan jejak boot, yang selalu dinamai NTOSBOOT-B00DFAAD.PF (konvolusi kata yang kompatibel dengan heksadesimal "BAADF00D", yang sering digunakan pemrogram untuk mewakili data yang tidak diinisialisasi). Kesalahan apa pun yang diambil dalam proses Sistem atau Diam dianggap sebagai bagian dari boot, yang masuk akal karena berada dalam proses Sistem yang dimuat dan diinisialisasi driver perangkat.

Ketika boot dimulai atau aplikasi menjalankan Manajer Proses memanggil Manajer Cache untuk memberinya kesempatan untuk melakukan prefetching. Cache Manager mencari di direktori prefetch untuk melihat apakah ada file jejak untuk skenario prefetch yang dimaksud. Ketika seseorang melakukan Cache Manager memanggil NTFS untuk mengambil referensi file metadata MFT apa pun, itu membaca dalam konten masing-masing direktori yang direferensikan, dan akhirnya membuka setiap file yang direferensikan dan menggunakan Manajer Memori untuk membaca dalam data dan kode apa pun yang ditentukan dalam jejak yang belum dalam memori. Manajer Memori memulai semua bacaan secara asinkron dan kemudian menunggunya selesai sebelum membiarkan startup aplikasi berlanjut.

Bagaimana skema ini memberikan manfaat performa? Jawabannya terletak pada fakta bahwa selama boot normal atau startup aplikasi urutan kesalahan terjadi sewaktu-waktu beberapa halaman dibawa dari satu bagian file, kemudian yang lain, kemudian beberapa dari file yang berbeda, kemudian beberapa dari direktori dan sebagainya. Ini melompat-lompat sesuai langsung untuk melompat-lompat di disk, dan Microsoft telah belajar melalui analisis bahwa waktu pencarian disk adalah faktor dominan yang memperlambat waktu boot dan startup aplikasi. Pencarian dihilangkan secara virtual ketika melakukan pra-pengambilan baca dalam data dari file atau direktori tertentu sekaligus sebelum beralih ke yang lain.

Untuk meminimalkan pencarian lebih lanjut, setiap tiga hari atau lebih Penjadwal Tugas mengatur daftar file dan direktori dalam urutan yang direferensikan selama boot atau aplikasi dimulai dan menyimpan daftar dalam file bernama \Windows\Prefech\Layout.ini. Kemudian meluncurkan defragmenter sistem dengan opsi baris perintah yang memberi tahu defragmenter untuk defragmentasi berdasarkan konten file alih-alih melakukan defrag penuh. Defragmenter menemukan area yang berdampingan pada volume yang cukup besar untuk menyimpan semua file dan direktori yang tercantum dan kemudian memindahkannya ke area sehingga disimpan satu demi satu.

Ini adalah dasar-dasar skema prefetching XP, yang dilaporkan Microsoft mempercepat proses boot secara signifikan (Anda benar-benar dapat melihat bahwa boot XP jauh lebih cepat daripada Windows 2000). Anda dapat menemukan beberapa informasi lebih lanjut tentang prefetching dan peningkatan boot cepat lainnya dalam laporan resmi di http://www.microsoft.com/hwdev/fastboot/. Selain itu, Dave Solomon dan saya telah mulai mengerjakan revisi XP "Inside Windows 2000" (untuk publikasi di pertengahan Musim Semi), dan Anda akan menemukan deskripsi yang lebih rinci di sana.

KONEKSI WINDOWS .NET

Anda yang merindukan saya di TechEd dapat mendengar saya berbicara di konferensi Windows .NET Connections di Scottsdale, Arizona pada 3 Oktober. Saya menyampaikan presentasi tentang analisis crash dump Windows NT/2000 dan perubahan kernel di Windows XP. Pembicara lain di konferensi ini termasuk rekan-rekan Editor kontributor Majalah Windows 2000 Mark Minasi dan Sean Daily. Beri tahu saya jika Anda menghadiri bahwa Anda mendengar tentang konferensi dari buletin.

Anda dapat melihat abstrak untuk pembicaraan saya dan menemukan tautan ke situs Koneksi Windows .NET di http://www.sysinternals.com/ntw2k/info/talk.shtml.

APA YANG AKAN TERJADI

PENGALAMAN ITANIUM SAYA

Microsoft telah mepinjamkan saya sistem Itanium sehingga saya dapat memindahkan utilitas Sysinternals ke Win64. Mesin ini memiliki beberapa spesifikasi yang mengesankan, by the way: 2 prosesor 733 MHz dan 8 GB (!) RAM. Lain kali saya akan memberi tahu Anda tentang pengalaman porting saya, termasuk perubahan yang harus saya lakukan pada berbagai utilitas sehingga mereka bekerja pada Win64.


Terima kasih telah membaca Sysinternals Newsletter.

Diterbitkan Senin, 20 Agustus 2001 19:03 oleh ottoh

[Arsip Buletin ^] [< Volume 3, Nomor 1] [Volume 4, Angka 1 >]