Бөлісу құралы:


[Архив бюллетеней ^] [ Том 1, Число 3] [<Том 1, Число 5 >]

Внутренние информационные бюллетени системы том 1, номер 4

http://www.sysinternals.com
Авторские права (C) 1999 Марк Руссинович


5 августа 1999 г. — в этой проблеме:

  1. НОВЫЕ ВОЗМОЖНОСТИ ВНУТРЕННИХ СИСТЕМ

    • Портмон версии 3.0
    • Frob версии 1.5
    • Список БИБЛИОТЕК DLL версии 2.1
    • Новая загрузка. Параметры INI
    • PsList версии 1.0
    • Август "NT Internals"
    • Не так-новые вещи
  2. ВНУТРЕННИЕ НОВОСТИ

    • Исправление повторно: защита файлов системы
    • Выпущена версия Win2K RC1 DDK
    • The Win2K AWE API
    • WinDev '99 Запад
  3. ЧТО ПРОИСХОДИТ

    • Средство Undocumented DiskEdit с пакетом обновления 4 (SP4)

СПОНСОР: WINTERNALS SOFTWARE

Информационный бюллетень по внутренним системам спонсируется По Winternals, в Интернете http://www.winternals.com. Winternals Software является ведущим разработчиком и поставщиком расширенных системных средств для Windows NT/2K. Продукты Winternals Software включают FAT32 для Windows NT 4.0, ERD Commander (возможность загрузки диска для Windows NT) и NTRecover.

Winternals Software объявляет о выпуске своей последней программы восстановления системы, удаленного восстановления. Удаленное восстановление позволяет получить доступ к дискам неизменяемого компьютера через TCP/IP из любого места в вашей организации. Экономите время и поддержку долларов, удаленно исправляя драйвер, файловую систему и проблемы конфигурации, которые хранят системы NT или Win9x вне линии. Скачайте бесплатную пробную версию http://www.sysinternals.com/rrecover.htmтолько для чтения и приобретите версию для чтения и записи по адресу http://www.winternals.com.


Здравствуйте!

Добро пожаловать в четвертый выпуск бюллетеня System Internals. В настоящее время информационный бюллетень имеет 7000 подписчиков.

В последнем бюллетене я указал, что я буду охватывать API AWE Windows 2000 (Win2K). Я отметил, что AWE означает "Расширения адресного окна" (для новичков в мире Windows API означает "Интерфейс программирования приложений"). Эта страница на веб-сайте разработчика оборудования Майкрософт описывает его следующим образом: http://www.microsoft.com/hwdev/NTDRIVERS/AWE.htm. Однако читатель Laxmikant Gunda указал мне на другой URL-адрес на веб-сайте Майкрософт, http://www.microsoft.com/windows/server/News/fromMS/intelpae.aspгде AWE назначается API расширенных расширений окон. Очевидно, что "Адрес" имеет больше смысла, чем "Advanced" в контексте API (который я описываю позже в этом бюллетене), поэтому я думаю, что некоторые маркетинговые писатели имели свои глаза играть трюк на них, как они переварили сырой технический материал для страницы новостей.

Я видел, что эта путаница произошла раньше в техническом охвате Майкрософт. В последнее время программа установки для бета-версии 3 комплекта установочных файловых систем Win2K (IFS) объявила о себе на экране-заставке в качестве установки для набора внутренних файловых систем. "I" в IFS всегда стоял для "Installable", и "Internal" не имеет большого смысла здесь (если они случайно выпустили недоступную версию комплекта), поэтому я думаю, что его другой случай чего-то обрезается в переводе (или программа установки кодировщик не имеет удобной файловой системы и используя их лучшее предположение).

Какова моя точка? У меня нет одного, кроме того, что раньше или позже мы будем иметь акроним перерасход, где разработчики и маркетинговые люди начинают непреднамеренно использовать те же три буквы акронимов для описания различных технологий. Кто-то в группе IIS (Internet Information Server) будет называть новый API с именем AIE ("Расширенные расширения ISAPI" — ISAPI означает API Internet Server) и кто-то в группе ASP (Microsoft Transaction Server) будет придумать другой AIE, "Атомарный интерфейс Exchange". И я уверен, что однажды маркетинговый человек или технический писатель будет передан техническому документу из команды IIS, которая ссылается на "AIE", и не зная разницы между базой данных и файловой системой, будет предположить, что это означает "Advanced Internet Explorer".

Я тоже видела акронимную путаницу на работе в других местах. В последней статье журнала Windows NT Magazine обсуждаются последовательные и параллельные порты, используемые термином COM-порт в своем тексте. После того, как редактор копирования прошел с окончательным проходом, и статья была опубликована, фраза стала портом COM (компонентная объектная модель).

Как обычно, пожалуйста, передайте бюллетень друзьям, что вы думаете, может найти его интересно.

Спасибо!

-Метка

НОВЫЕ ВОЗМОЖНОСТИ ВНУТРЕННИХ СИСТЕМ

PORTMON ВЕРСИИ 3.0

Портмон был улучшен основными способами с его выпуском 3.0. Portmon — это последовательное и параллельное приложение мониторинга портов для Windows 95/98/NT/2K. В версии 3.0 представлено:

  • расширенные возможности фильтрации и выделения выходных данных
  • возможность отслеживать последовательную и параллельную активность портов в удаленных системах
  • Поддержка журнала в файл и печать
  • Интеграция буфера обмена
  • Параметр, позволяющий указать, сколько данных для чтения и записи в журнал

Скачать Portmon версии 3.0 по адресу http://www.sysinternals.com/portmon.htm.

FROB версии 1.5

Windows NT 4.0 Server предоставляет администраторам возможность управлять длиной квантовых (поворотов), которые планировщик потоков NT предоставляет потокам. На рабочей станции Windows 4.0 в панель управления есть вкладка "Производительность" с ползунок, который позволяет назначить квантовый импульс для потоков переднего плана (ползунок также присутствует на сервере, но это не делает ничего). Более короткие квантовые результаты обычно приводят к приложениям, которые более быстро реагируют на входные данные пользователей, в то время как длинные квантовые вычисления хорошо подходит для систем, предназначенных для запуска неинтерактивных серверных приложений.

Программа Frob из system Internals обеспечивает одинаковую более детальную степень контроля над квантовыми длинами на рабочей станции и на сервере, что позволяет настроить квантовые вычисления для рабочей нагрузки, выполняемой в системе. Тем не менее, так как frob изменяет параметры внутри ядра NT, его необходимо обновить, чтобы работать с каждым новым пакетом обновления. Frob версии 1.5 теперь доступен и обеспечивает совместимость с пакетом обновления 5.

Вы можете скачать Frob версии 1.5 по адресу http://www.sysinternals.com/ntfrob.htm.

LISTDLLS версии 2.1

ListDLLs — это программа командной строки, показывающая подробные сведения о версиях библиотек DLL, загруженных процессами. ListDLLs извлекает сведения о версии из файлов на диске, соответствующих путям файлов загруженных БИБЛИОТЕК DLL, и получает имена путей с помощью незадокументированных интерфейсов. Иногда файл DLL на диске обновляется после того, как приложение уже загрузило его, в этом случае списки DLL отображают неверные сведения о версии.

ListDLLs версии 2.1 распознает разницу между версиями библиотеки DLL на диске и загруженными версиями, помечает разницу в выходных данных. При несоответствии списков DLL выводит время ссылки файла на диске и загруженного файла. Время связывания исполняемых и DLL-файлов находятся в заголовке формата переносимого исполняемого файла (PE), который NT использует для их упаковки.

Скачивание списков DLL версии 2.1 по адресу http://www.sysinternals.com/listdlls.htm.

НОВАЯ ЗАГРУЗКА. ПАРАМЕТРЫ INI

Win2K Beta 3 представляет три новых boot. Коммутаторы INI. Все три связаны с расширениями физических адресов Intel (PAE), технологией Intel, представленной с Помощью Технологии Intel Pro, позволяющей системам x86 решать до 64 ГБ физической памяти. Традиционно системы x86 могут обращаться только к 4 ГБ физической памяти, но с PAE и набором микросхем 450NX этот барьер нарушен. Win2K — это первая операционная система Майкрософт, которая будет использовать преимущества PAE (Sun Solaris 7 и SCO UnixWare 7 уже поддерживают PAE). На самом деле существует специальная сборка ядра Win2K с именем ntkrnlpa.exe, которая имеет встроенную поддержку. NTLDR, загрузчик Win2K, отвечает за загрузку стандартного ядра, ntoskrnl.exe или paE- в зависимости от того, может ли система обращаться к более чем 4 ГБ памяти и имеет этот объем.

Все три новых ЗАГРУЗКИ. Коммутаторы INI предназначены для отладки драйверов устройств, предназначенных для работы с большими системами памяти (системами с более чем 4 ГБ). Во-первых, /PAE, nTLDR загружает версию ядра PAE, даже если компьютер не имеет более 4 ГБ памяти. Второй параметр /NOPAE заставляет NTLDR загружать стандартное ядро. Наконец, параметр /NOLOWMEM имеет ядро Win2K только для использования физической памяти выше 4 ГБ. Это заставляет все физические адреса, используемые Win2K, требовать более 32-разрядных адресов для их представления и, следовательно, выполняет обработку драйверов устройств больших физических адресов.

Найдите самый полный список ЗАГРУЗКИ. Доступные коммутаторы INI http://www.sysinternals.com/bootini.htm.

PSLIST версии 1.0

Большинство вариантов отправки UNIX с помощью средства командной строки под названием ps, который администраторы используют для перечисления статистики ЦП и памяти. NT имеет эквивалентное средство на основе графического интерфейса, диспетчер задач, но NT не поставляется без версии командной строки. Набор ресурсов Windows NT включает два инструмента командной строки ps, pstat и pumon. PsList показывает сочетание сведений, доступных с pstat и pumon, но имеет возможность, которая не имеет средства набора ресурсов: вы можете использовать PsList для запроса сведений о процессе в удаленной системе.

PsList принимает несколько флагов, позволяющих просматривать статистику ЦП, памяти или потока, а также параметр, позволяющий указать другой компьютер NT для запроса. PsList использует встроенные счетчики производительности NT для получения сведений, которые отображаются, и он работает на NT 3.51, 4.0 и Win2K.

Скачать PsList по адресу http://www.sysinternals.com/pslist.htm.

АВГУСТ "NT INTERNALS"

Мой столбец "NT Internals" в августовом выпуске Windows NT Magazine : "Внутри усовершенствований надежности Win2K, часть 1". Первый в трех частях серии описывает функции Win2K, направленные на то, чтобы помочь администраторам получить систему после того, как она стала неизменяемой. К ним относятся загрузка в безопасном режиме и консоль восстановления.

По состоянию на начало августа в строке статей Windows NT Magazine доступны только подписчикам, а статьи публикуются в строке с каждой новой проблемой. Если вы еще не подписаны, перейдите по ссылке http://www.sysinternals.com/publ.htm подписки, чтобы получить скидку на подписку System Internals.

НЕ ТАК-НОВЫЕ ВЕЩИ

Если вы еще не напугали друга или двух с ним, ознакомьтесь с системным синим экраном saver. Версия 2.0 отображает версию Win2K синего экрана смерти (BSOD) и последовательность запуска Win2K при запуске в системе Win2K. Я горжусь тем, что синяя экранная заставка недавно была награждена пятью звездами, самым высоким рейтингом, из библиотеки программного обеспечения Ziff-Davis.

Скачивание синим экрана saver версии 2.0 по адресу http://www.sysinternals.com/bluescrn.htm.

ВНУТРЕННИЕ НОВОСТИ

ИСПРАВЛЕНИЕ RE: СИСТЕМНАЯ ЗАЩИТА ФАЙЛОВ

В последнем бюллетене я заявил, что система защиты файлов Win2K (SFP) позволяет приложениям, таким как пакеты обновления (SPS) и горячие исправления обновлять системные файлы, вызывая функцию SFP экспорта с именем SfcTerminateWatcherThread. Несмотря на то, что SFP экспортирует эту функцию, поставщики служб и исправления с горячими исправлениями не используют функцию при обновлении системных файлов. Вместо этого они могут обновлять системные файлы, так как они заменяют существующие системные файлы на те, которые цифрово подписаны корпорацией Майкрософт. SFP обнаруживает обновления, но позволяет им придерживаться, так как SFP проверяет, что новые файлы имеют цифровую подпись. Еще одна исправление в отношении покрытия SFP заключается в том, что после того, как Microsoft Win2K Beta 3 изменил имя SFP на Windows File Protection (МПП).

Обязательно ознакомьтесь с сентябрьской проблемой Windows NT Magazine, где вы найдете мой столбец NT Internals "Внутри улучшения надежности Win2K, часть 2", в котором подробно описаны МПП и цифровая подпись файлов Майкрософт.

ВЫПУЩЕНО WIN2K RC1 DDK

Теперь вы можете скачать выпуск Win2K RC1 пакета средств разработки драйверов устройств (DDK) корпорации Майкрософт http://www.microsoft.com/ddk/ddk2kRC1.htm. Вы можете бесплатно скачать комплект или просмотреть документацию по строке.

THE WIN2K AWE API

Я уже упомянул API AWE в введение в этот бюллетень и ссылался на веб-страницу в Майкрософт, где вы можете узнать больше: http://www.microsoft.com/hwdev/NTDRIVERS/AWE.htm. В системах с более чем 4 ГБ физической памяти ядро Win2K с поддержкой PAE (ntkrnlpa.exe) может воспользоваться всеми физическими памятью компьютера без изменений в приложениях. Расширенный сервер Win2K будет использовать до 8 ГБ физической памяти, а сервер Центра обработки данных Win2K будет использовать до 64 ГБ физической памяти.

Хотя каждое приложение в большой системе памяти имеет не более 2 ГБ виртуальной памяти в своем распоряжении (3 ГБ, если загрузка /3 ГБ. Указан параметр INI), сумма физической памяти, назначенной всем выполняемым приложениям, может равенства объема физической памяти. Кроме того, в Win2K кэш файловой системы назначается не более 960 МБ виртуальной памяти, но объем кэшированных данных файла может быть гораздо больше физической памяти, назначенной кэшу, может превышать 960 МБ.

API AWE предоставляет отдельным приложениям возможность напрямую управлять физической памятью и более 2 ГБ или 3 ГБ, подразумеваемым их размером виртуального адресного пространства. Основная идея API AWE заключается в том, что приложение назначает часть своего виртуального адресного пространства как окно в физическую память. Затем он выделяет блок физической памяти. Максимальное ограничение на объем физической памяти, которое может выделить приложение, — это, по сути, объем физической памяти в системе минус любой нестраничной памяти, уже выделенной ядром, драйверами устройств и другими приложениями с помощью API AWE. Когда приложение хочет получить доступ к части выделенной физической памяти, она сопоставляет память с окном виртуального адреса. Таким образом, объем физической памяти, к которому приложение может получить доступ с заданным сопоставлением, ограничено размером зарезервированного окна. Наконец, когда приложение выполняется с физической памятью, оно просто освобождает память и закрывает (освобождает) созданное окно виртуального адреса.

API, соответствующие этим действиям, экспортируются kernel32.dll и выполняются следующим образом:

  • Приложение вызывает VirtualAlloc с флагами MEM_PHYSICAL и MEM_RESERVE для создания окна виртуального адреса.
  • AllocateUserPhysicalPages выделяет физическую память для приложения
  • Приложение использует MapUserPhysicalPages для сопоставления частей физической памяти в его окне.
  • FreeUserPhysicalPages освобождает физическую память, выделенную приложением

Возможность непосредственного управления несколькими ГБ памяти приложениями — это логическое значение для программ с большим объемом памяти, таких как серверы баз данных, почтовые серверы, веб-серверы, финансовые анализы и научные приложения.

Хотя возможность использовать более 4 ГБ физической памяти разрешена только в некоторых версиях Win2K, API AWE присутствует во всех версиях. Это означает, что в системе Win2K Professional с 4 ГБ памяти, например API AWE по-прежнему предоставляет приложениям с большим объемом памяти возможность управлять более чем 2 или 3 ГБ данных в физической памяти.

API AWE имеет эквивалентные интерфейсы режима ядра, на которых kernel32.dll базирует API пользовательского режима. Драйвер может выделить физическую память с помощью MmAllocatePagesForMdl, который является эквивалентом режима ядра для AllocateUserPhysicalPages. Эта функция имеет свой прототип в файле Win2K DDK ntddk.h, но не является незадокументированным. Его прототип:

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

LowAddress — самый низкий допустимый физический адрес, который он хочет выделить, и HighAddress является самым высоким. SkipBytes — это количество байтов, которые ядро должно свободно хранить выше LowAddress и ниже адреса, с которого он начинает выделять физическую память. TotalBytes — это количество байтов, которые драйвер хочет выделить. Возвращаемое значение функции — это MDL, который, если ненулевая память описывает физическую память, которую ядро дало драйверу. Чтобы получить доступ к частям памяти, драйверу необходимо создать вложенные mdls из возвращаемого MDL, описывающего соответствующие части физической памяти. Если драйвер хочет получить доступ к физической памяти, описанной в sub-MDL, он должен сопоставить вложенный MDL с помощью MmGetSystemAddressForMdlSafe.

Драйверы используют MmFreePagesFromMdlэквивалент FreeUserPhysicalPagesядра для освобождения физической памяти, выделенной им MmAllocatePagesForMdl. Эта функция также прототипируется в ntddk.h:

NTKERNELAPI
VOID
MmFreePagesFromMdl (
    IN PMDL MemoryDescriptorList
    );

Обратите внимание, что драйвер отвечает за освобождение MDL, возвращенного MmAllocatePagesForMdl вызовом ExFreePool, так как MmFreePagesFromMdl не освобождает MDL.

WINDEV '99 WEST

Выпуск 1999 Западного побережья премьер-конференции для разработчиков Windows быстро приближается. WinDev '99 Запад происходит 13-18 сентября в Санта-Клара Марриот в Калифорнии. Ряд больших имен в разработке Windows говорят, в том числе Джефф Рихтер, Джефф Prosise и Don Box. Я буду там с Джейми Ханрахан и Брайан Катлин в дорожке водителя устройства. Мои презентации включают в себя дневное руководство по внутренним системам NT, а также один на написании драйверов файловой системы Windows NT/2K и один на сложных проблемах разработки драйверов устройств. Приезжайте и здравствуйте!

Посетите веб-страницу WinDev West на странице http://www.butrain.bu.edu/windev/.

ЧТО ПРОИСХОДИТ

NT 4.0 SP4 DISKEDIT

Windows NT 4.0 с пакетом обновления 4 (SP4) поставляется с нечеткой служебной программой на компакт-диске, что многие пользователи, возможно, не заметили: DiskEdit. И это не удивительно: средство не устанавливается на жесткий диск, и он не поставляется с документацией. Он почти уверен, что это инструмент, используемый разработчиками файловой системы Майкрософт, которые случайно поставляются на компакт-диске. DiskEdit — это сокровище для тех людей, которые пропустили средство редактирования диска Norton Utilities для Windows NT или просто хотите изучить структуры данных NTFS и FAT на диске. В следующий раз я предоставлю вам некоторые инструкции по использованию DiskEdit.


Благодарим вас за чтение бюллетеня внутренних систем.

Опубликовано в четверг, 05 августа 1999 г. 7:13 вечера по оттох

[Архив бюллетеней ^] [ Том 1, Число 3] [<Том 1, Число 5 >]