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

Buletin Internal Sistem Volume 1, Nomor 4

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


5 Agustus 1999 - Dalam masalah ini:

  1. APA YANG BARU DI INTERNAL SISTEM

    • Portmon v3.0
    • Frob v1.5
    • ListDLLs v2.1
    • BOOT baru. Opsi INI
    • PsList v1.0
    • Agustus "Internal NT"
    • Hal-Hal Yang Tidak Begitu Baru
  2. BERITA INTERNAL

    • Koreksi Re: Perlindungan File Sistem
    • Win2K RC1 DDK Dirilis
    • The Win2K AWE API
    • WinDev '99 Barat
  3. APA YANG AKAN TERJADI

    • Alat DiskEdit Tidak Terdokumentasi SP4

SPONSOR: PERANGKAT LUNAK WINTERNALS

Buletin Internal Sistem 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. Produk Perangkat Lunak Winternals termasuk FAT32 untuk Windows NT 4.0, ERD Commander (kemampuan boot-disk untuk Windows NT), dan NTRecover.

Winternals Software mengumumkan rilis utilitas pemulihan sistem terbarunya, Remote Recover. Pemulihan Jarak Jauh memungkinkan Anda mengakses drive komputer yang tidak dapat di-boot melalui TCP/IP dari mana saja di perusahaan Anda. Hemat waktu dan dukung dolar dengan mengoreksi driver, sistem file, dan masalah konfigurasi dari jarak jauh yang menjaga sistem NT atau Win9x tetap off-line. Unduh versi uji coba baca-saja gratis di http://www.sysinternals.com/rrecover.htm, dan beli versi baca/tulis di http://www.winternals.com.


Halo semuanya,

Selamat datang di edisi keempat buletin Systems Internals. Buletin saat ini memiliki 7000 pelanggan.

Dalam buletin terakhir saya menunjukkan bahwa saya akan membahas Windows 2000's (Win2K) AWE API. Saya menunjukkan bahwa AWE adalah singkatan dari "Ekstensi Jendela Alamat" (untuk pemula ke dunia Windows, API adalah singkatan dari "Antarmuka Pemrograman Aplikasi"). Halaman ini di situs Web pengembang perangkat keras Microsoft menjelaskannya seperti: http://www.microsoft.com/hwdev/NTDRIVERS/AWE.htm. Namun, pembaca Laxmikant Gunda mengarahkan saya ke URL lain di situs Web Microsoft, http://www.microsoft.com/windows/server/News/fromMS/intelpae.asp, di mana AWE ditunjuk sebagai API "Advanced Windowing Extensions". Jelas, "Alamat" lebih masuk akal daripada "Tingkat Lanjut" dalam konteks API (yang saya jelaskan nanti dalam buletin ini), jadi dugaan saya bahwa beberapa penulis pemasaran memiliki mata mereka memainkan trik pada mereka saat mereka mencerna bahan teknis mentah untuk halaman berita.

Saya telah melihat kebingungan ini terjadi sebelumnya dalam cakupan teknis Microsoft. Terbaru, program penyiapan untuk rilis Beta 3 dari Kit Win2K Installable File Systems (IFS) mengumumkan dirinya pada layar splash-nya sebagai penyiapan untuk "Kit Sistem File Internal". 'I' di IFS selalu berdiri untuk "Dapat Diinstal", dan "Internal" tidak masuk akal di sini (kecuali mereka secara tidak sengaja merilis versi non-publik kit), jadi saya menebak bahwa kasus lain dari sesuatu yang kacau dalam terjemahan (atau coder penyiapan tidak memiliki anggota tim sistem file berguna dan menggunakan tebakan terbaik mereka).

Apa maksudku? Saya tidak benar-benar memilikinya, selain itu cepat atau lambat kita akan memiliki akronim diserbu, di mana pengembang dan orang pemasaran mulai secara tidak sengaja menggunakan akronim tiga huruf yang sama untuk menggambarkan teknologi yang berbeda. Seseorang dalam grup IIS (Internet Information Server) Microsoft akan memberi nama API baru yang disebut AIE ("Advanced ISAPI Extensions" - ISAPI adalah singkatan dari Internet Server API) dan seseorang di grup MTS (Microsoft Transaction Server) akan datang dengan AIE lain, "Pertukaran Antarmuka Atom". Dan saya yakin bahwa suatu hari seorang pemasaran atau penulis teknis akan diserahkan makalah teknis dari tim IIS yang mengacu pada "AIE", dan tidak mengetahui perbedaan antara database dan sistem file, akan menebak bahwa itu singkatan dari "Advanced Internet Explorer".

Aku juga melihat kebingungan akronim di tempat lain. Artikel Majalah Windows NT terbaru yang membahas port serial dan paralel menggunakan istilah "port COM" dalam teksnya. Setelah editor salin melewati dengan lulus akhir dan artikel diterbitkan frasa telah menjadi "port COM (Model Objek Komponen)".

Seperti biasa, berikan buletin kepada teman-teman yang menurut Anda mungkin menarik.

Terima kasih!

-Tanda

APA YANG BARU DI INTERNAL SISTEM

PORTMON V3.0

Portmon telah ditingkatkan dengan cara utama dengan rilis 3.0-nya. Portmon adalah aplikasi pemantauan port serial dan paralel untuk Windows 95/98/NT/2K. Versi 3.0 memperkenalkan:

  • kemampuan penyorotan pemfilteran dan output tingkat lanjut
  • kemampuan untuk memantau aktivitas port serial dan paralel pada sistem jarak jauh
  • dukungan log-ke-file dan pencetakan
  • integrasi clipboard
  • pengaturan yang memungkinkan Anda menentukan berapa banyak data baca/tulis yang akan dicatat

Unduh Portmon v3.0 di http://www.sysinternals.com/portmon.htm.

FROB V1.5

Windows NT 4.0 Server menyediakan administrator tanpa kemampuan untuk mengontrol panjang kuantum (giliran) yang diberikan penjadwal utas NT ke utas. Pada Windows 4.0 Workstation, applet Sistem di Panel Kontrol memiliki tab Performa dengan slider yang memungkinkan Anda menunjuk peningkatan kuantum untuk utas latar depan (slider juga ada di Server, tetapi tidak melakukan apa pun). Kuantum yang lebih pendek umumnya menghasilkan aplikasi yang lebih responsif terhadap input pengguna, sementara kuantum panjang baik untuk sistem yang didedikasikan untuk menjalankan aplikasi server non-interaktif.

Program Frob dari Systems Internals memberi Anda tingkat kontrol yang lebih halus yang sama atas panjang kuantum pada Workstation dan di Server, memungkinkan Anda untuk menyetel kuantum ke beban kerja yang Anda jalankan pada sistem. Namun, karena Frob memodifikasi pengaturan internal ke kernel NT, Frob harus diperbarui untuk bekerja dengan setiap Paket Layanan baru. Frob v1.5 sekarang tersedia, dan menyediakan kompatibilitas dengan Paket Layanan 5.

Anda dapat mengunduh Frob v1.5 di http://www.sysinternals.com/ntfrob.htm.

LISTDLLS V2.1

ListDLL adalah utilitas baris perintah yang menunjukkan informasi versi terperinci tentang DLL yang telah dimuat proses. ListDLL mengekstrak informasi versi dari file pada disk yang sesuai dengan jalur file DLL yang dimuat, dan mendapatkan nama jalur menggunakan antarmuka yang tidak terdokumentasi. Terkadang file DLL di disk diperbarui setelah aplikasi memuatnya, dalam hal ini ListDLL menunjukkan informasi versi yang salah.

ListDLLs v2.1 mengenali ketika ada perbedaan antara versi dll pada disk dan yang dimuat, menandai perbedaan dalam outputnya. Ketika ada perbedaan ListDLl mencetak waktu tautan file pada disk dan file yang dimuat. Waktu tautan file executable dan DLL terletak di header format file Portable Executable (PE) yang digunakan NT untuk mengemasnya.

Unduh ListDLLs v2.1 di http://www.sysinternals.com/listdlls.htm.

BOOT BARU. OPSI INI

Win2K Beta 3 memperkenalkan tiga BOOT baru. Tombol INI. Ketiganya terkait dengan Intel Physical Address Extensions (PAE), teknologi yang diperkenalkan Intel dengan Pentium Pro untuk memungkinkan sistem x86 mengatasi memori fisik hingga 64GB. Secara tradisional, sistem x86 hanya dapat mengatasi memori fisik 4GB, tetapi dengan PAE dan chipset 450NX, penghalang ini rusak. Win2K adalah sistem operasi Microsoft pertama yang akan memanfaatkan PAE (Sun Solaris 7 dan SCO UnixWare 7 sudah mendukung PAE). Sebenarnya ada build khusus dari kernel Win2K, bernama ntkrnlpa.exe, yang memiliki dukungan bawaan. NTLDR, boot loader Win2K, bertanggung jawab untuk memuat kernel standar, ntoskrnl.exe, atau yang mendukung PAE, berdasarkan apakah sistem mampu mengatasi lebih dari 4GB memori dan memiliki jumlah yang ada.

Ketiga BOOT baru. Sakelar INI ditujukan untuk men-debug driver perangkat yang dirancang untuk bekerja dengan sistem memori besar (sistem dengan lebih dari 4GB). Yang pertama, /PAE, memiliki NTLDR memuat versi PAE kernel bahkan jika komputer tidak memiliki lebih dari 4GB memori yang ada. Yang kedua, /NOPAE, memaksa NTLDR untuk memuat kernel standar. Terakhir, sakelar /NOLOWMEM memiliki kernel Win2K hanya menggunakan memori fisik di atas 4GB. Ini memaksa semua alamat fisik yang digunakan oleh Win2K untuk memerlukan lebih dari 32-bit untuk mewakilinya, dan dengan demikian menjalankan penanganan driver perangkat dari alamat fisik besar.

Temukan daftar BOOT yang paling lengkap. Sakelar INI tersedia di http://www.sysinternals.com/bootini.htm.

PSLIST V1.0

Sebagian besar rasa kapal UNIX dengan alat baris perintah yang disebut 'ps' yang digunakan administrator untuk mencantumkan proses CPU dan statistik memori. NT memiliki alat berbasis GUI yang setara, Task Manager, tetapi NT tidak dilengkapi dengan versi baris perintah. Windows NT Resource Kit mencakup dua alat baris perintah 'ps'-like, pstat dan pumon. PsList menunjukkan kombinasi informasi yang tersedia dengan pstat dan pumon, tetapi tidak memiliki kemampuan yang tidak dimiliki alat Resource Kit: Anda dapat menggunakan PsList untuk mengkueri informasi proses pada sistem jarak jauh.

PsList mengambil beberapa bendera yang memungkinkan Anda melihat statistik CPU, memori, atau utas proses, dan sakelar yang memungkinkan Anda menentukan komputer NT yang berbeda untuk dikueri. PsList menggunakan Penghitung Kinerja bawaan NT untuk mendapatkan informasi yang ditunjukkannya, dan berfungsi pada NT 3.51, 4.0 dan Win2K.

Unduh PsList di http://www.sysinternals.com/pslist.htm.

AGUSTUS "INTERNAL NT"

Kolom "Internal NT" saya dalam edisi Agustus Dari Windows NT Magazine adalah "Inside Win2K Reliability Enhancements, Part 1". Ini pertama dalam seri tiga bagian menjelaskan fitur Win2K yang ditujukan untuk membantu administrator mendapatkan sistem setelah menjadi tidak dapat diboot. Ini termasuk booting "mode aman" dan Konsol Pemulihan.

Pada awal Agustus, versi online artikel Windows NT Magazine hanya dapat diakses oleh pelanggan, dan artikel diposting secara on-line dengan setiap masalah baru. Jika Anda belum berlangganan, silakan buka tautan langganan di http://www.sysinternals.com/publ.htm untuk mendapatkan diskon langganan Systems Internals.

HAL-HAL YANG TIDAK BEGITU BARU

Jika Anda belum menakut-nakuti teman atau dua orang dengannya, lihat Sistem Internals Bluescreen Screen Saver. Versi 2.0 menampilkan versi Win2K dari Blue Screen of Death (BSOD) dan urutan startup Win2K saat Anda menjalankannya pada sistem Win2K. Saya bangga mengatakan bahwa Bluescreen Screen Saver baru-baru ini telah dianugerahi lima bintang, peringkat tertinggi mungkin, dari Ziff-Davis's Software Library.

Unduh Bluescreen Screen Saver v2.0 di http://www.sysinternals.com/bluescrn.htm.

BERITA INTERNAL

KOREKSI RE: PERLINDUNGAN FILE SISTEM

Dalam buletin terakhir saya menyatakan bahwa System File Protection (SFP) Win2K memungkinkan aplikasi seperti Paket Layanan (SPs) dan perbaikan panas memperbarui file sistem dengan memanggil ekspor SFP fungsi bernama SfcTerminateWatcherThread. Meskipun SFP memang mengekspor fungsi itu, SPs dan perbaikan panas tidak menggunakan fungsi saat memperbarui file sistem. Sebaliknya, mereka dapat memperbarui file sistem karena mengganti file sistem yang ada dengan file yang ditandatangani secara digital oleh Microsoft. SFP mendeteksi pembaruan, tetapi memungkinkannya untuk tetap ada karena SFP memverifikasi bahwa file baru ditandatangani secara digital. Koreksi lain mengenai cakupan SFP saya adalah bahwa setelah Win2K Beta 3 Microsoft mengubah nama SFP menjadi Windows File Protection (WFP).

Pastikan untuk memeriksa edisi September Windows NT Magazine, tempat Anda akan menemukan kolom Internal NT saya "Di dalam Win2K Reliability Enhancements, Part 2", yang menjelaskan WFP dan penandatanganan file digital Microsoft secara rinci.

WIN2K RC1 DDK DIRILIS

Anda dapat mengunduh rilis Win2K RC1 dari Device Driver Development Kit (DDK) Microsoft sekarang di http://www.microsoft.com/ddk/ddk2kRC1.htm. Anda dapat mengunduh kit secara gratis, atau menelusuri dokumentasi secara on-line.

THE WIN2K AWE API

Saya sudah menyebutkan API AWE dalam pengantar buletin ini, dan mereferensikan halaman Web di Microsoft tempat Anda dapat mempelajari lebih lanjut: http://www.microsoft.com/hwdev/NTDRIVERS/AWE.htm. Pada sistem dengan memori fisik lebih dari 4GB, kernel berkemampuan PAE Win2K - ntkrnlpa.exe - mampu memanfaatkan semua memori fisik komputer tanpa modifikasi pada aplikasi. Win2K Advanced Server akan menggunakan memori fisik hingga 8GB dan Win2K Datacenter Server akan menggunakan memori fisik hingga 64GB.

Sementara setiap aplikasi pada sistem memori besar memiliki paling banyak memori virtual 2GB saat pembuangannya (3GB jika BOOT /3GB. Sakelar INI ditentukan), jumlah memori fisik yang ditetapkan ke semua aplikasi yang dieksekusi dapat sama dengan jumlah memori fisik. Selain itu, pada Win2K cache sistem file diberi maksimum memori virtual 960MB, tetapi jumlah data file yang di-cache dapat jauh lebih besar memori fisik yang ditetapkan ke cache dapat melebihi 960MB.

API AWE memberi aplikasi individu kemampuan untuk mengontrol memori fisik secara langsung, dan lebih dari batas 2GB atau 3GB yang tersirat oleh ukuran ruang alamat virtual mereka. Ide dasar di balik API AWE adalah bahwa aplikasi menunjuk sebagian ruang alamat virtualnya sebagai "jendela" ke dalam memori fisik. Kemudian mengalokasikan sepotong memori fisik. Batas atas jumlah memori fisik yang dapat dialokasikan aplikasi pada dasarnya adalah jumlah memori fisik pada sistem dikurangi memori non-halaman yang sudah dialokasikan oleh kernel, driver perangkat, dan aplikasi lain menggunakan API AWE. Ketika aplikasi ingin mengakses bagian dari memori fisik yang telah dialokasikannya, aplikasi memetakan memori ke jendela alamat virtualnya. Dengan demikian, jumlah memori fisik yang dapat diakses aplikasi dengan pemetaan tertentu dibatasi oleh ukuran jendela yang dipesannya. Akhirnya, ketika aplikasi dilakukan dengan memori fisik, aplikasi hanya membebaskan memori dan menutup (membatalkan alokasi) jendela alamat virtual yang dibuatnya.

API yang sesuai dengan tindakan ini diekspor oleh kernel32.dll dan sebagai berikut:

  • Aplikasi memanggil VirtualAlloc dengan bendera MEM_PHYSICAL dan MEM_RESERVE untuk membuat jendela alamat virtual
  • AllocateUserPhysicalPages mengalokasikan memori fisik untuk aplikasi
  • Aplikasi menggunakan MapUserPhysicalPages untuk memetakan bagian memori fisik ke jendelanya
  • FreeUserPhysicalPages membebaskan memori fisik yang dialokasikan aplikasi

Kemampuan aplikasi untuk memanipulasi memori beberapa GB secara langsung adalah analisa untuk program intensif memori seperti server database, server email, server Web, analisis keuangan, dan aplikasi ilmiah.

Meskipun kemampuan untuk menggunakan lebih dari 4GB memori fisik hanya diizinkan pada versi Win2K tertentu, API AWE hadir di semua versi. Ini berarti bahwa pada sistem Win2K Professional dengan memori 4GB, misalnya, API AWE masih memberikan aplikasi intensif memori kemampuan mengelola lebih dari 2 atau 3GB data dalam memori fisik.

API AWE memiliki antarmuka mode kernel yang setara di mana kernel32.dll mendasarkan API mode pengguna. Driver dapat mengalokasikan memori fisik menggunakan MmAllocatePagesForMdl, yang merupakan mode kernel yang setara dengan AllocateUserPhysicalPages. Fungsi ini memiliki prototipe dalam file Win2K DDK ntddk.h, tetapi tidak terdokumentasi. Prototipenya adalah:

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

LowAddress adalah alamat fisik terendah yang dapat diterima yang ingin dialokasikan dan HighAddress adalah yang tertinggi. SkipBytes adalah jumlah byte yang harus dipertahankan kernel bebas di atas LowAddress dan di bawah alamat di mana ia mulai mengalokasikan memori fisik. TotalBytes adalah jumlah byte yang ingin dialokasikan driver. Nilai pengembalian fungsi adalah MDL yang jika non-nol menjelaskan memori fisik yang telah diberikan kernel pada driver. Untuk mengakses bagian memori, driver harus membuat sub-MDL dari MDL yang dikembalikan yang menjelaskan bagian memori fisik yang sesuai. Ketika driver ingin mengakses memori fisik yang dijelaskan oleh sub-MDL, driver harus memetakan sub-MDL menggunakan MmGetSystemAddressForMdlSafe.

Driver menggunakan MmFreePagesFromMdl, mode kernel yang setara FreeUserPhysicalPagesdengan , untuk membebaskan memori fisik yang telah dialokasikan dengan MmAllocatePagesForMdl. Fungsi ini juga diprototi dalam ntddk.h:

NTKERNELAPI
VOID
MmFreePagesFromMdl (
    IN PMDL MemoryDescriptorList
    );

Perhatikan bahwa driver bertanggung jawab untuk membatalkan alokasi MDL yang dikembalikan dengan MmAllocatePagesForMdl panggilan ke ExFreePool, karena MmFreePagesFromMdl tidak membebaskan MDL.

WINDEV '99 BARAT

Edisi West Coast 1999 dari konferensi utama untuk pengembang Windows mendekati dengan cepat. WinDev '99 Barat berlangsung 13-18 September di Santa Clara Marriot di California. Sejumlah nama besar dalam pengembangan Windows berbicara, termasuk Jeff Richter, Jeff Prosise, dan Don Box. Aku akan berada di sana dengan Jamie Hanrahan dan Brian Catlin di jalur pengemudi perangkat. Presentasi saya mencakup tutorial sepanjang hari di internal NT, serta satu pada penulisan driver sistem file Windows NT/2K dan satu pada masalah pengembangan driver perangkat tingkat lanjut. Datang dan menyapa!

Kunjungi halaman Web WinDev West di http://www.butrain.bu.edu/windev/.

APA YANG AKAN TERJADI

NT 4.0 SP4 DISKEDIT

Windows NT 4.0 Service Pack 4 dikirim dengan utilitas yang bagus pada CD-nya yang mungkin tidak diperhatikan banyak orang: DiskEdit. Dan tidak heran: alat ini tidak diinstal ke hard disk, dan dilengkapi tanpa dokumentasi. Hampir pasti bahwa itu adalah alat yang digunakan secara internal oleh pengembang sistem file Microsoft yang secara tidak sengaja dikirim pada CD. DiskEdit adalah harta karun bagi orang-orang yang telah melewatkan alat jenis Norton Utilities Disk Edit untuk Windows NT, atau hanya ingin menjelajahi struktur data NTFS dan FAT di disk. Lain kali saya akan memberi Anda beberapa instruksi tentang cara menggunakan DiskEdit.


Terima kasih telah membaca Buletin Internal Sistem.

Diterbitkan Kamis, Agustus 05, 1999 19:13 PM oleh ottoh

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