[Архив бюллетеней ^] [ Том 2, Число 5] [<Том 3, Число 2 >]
Информационный бюллетень внутренних систем 3, номер 1
http://www.sysinternals.com
Авторские права (C) 2001 Марк Руссинович
18 апреля 2001 г. — в этой проблеме:
РЕДАКЦИОННЫЙ
НОВЫЕ ВОЗМОЖНОСТИ SYSINTERNALS
- PsService версии 1.01
- PsFile версии 1.0
- PsExec версии 1.11
- HandleEx версии 4.0
- DebugView версии 4.11
- Внутри Windows 2000, 3rd Ed.
- Журнал Windows 2000 февраля
- Sysinternals в Корпорации Майкрософт
ВНУТРЕННИЕ СВЕДЕНИЯ
- Холодные сочетания клавиш
- Сообщения отладки PnP
- Решение обратной инженерии
- Новые системные вызовы Windows XP
- Отключенная сеть
- WinDev
- TechEd США
ЧТО ПРОИСХОДИТ
- Предварительная выборка Windows XP
СПОНСОР: WINTERNALS SOFTWARE ~~~~~ ~
Информационный бюллетень Sysinternals спонсируется Winternals Software в Интернете http://www.winternals.com. Winternals Software является ведущим разработчиком и поставщиком расширенных системных средств для Windows NT/2K. Продукты Winternals Software включают FAT32 для Windows NT 4.0, NTFSDOS Professional Edition (драйвер NTFS/write NTFS для DOS) и удаленное восстановление.
Winternals гордится объявлением Defrag Commander NE версии 1.2, недорогим решением для дефрагментации предприятия, которое добавляет поддержку NT 4 к существующей поддержке Windows 95/98/Me и Windows 2000. Defrag Commander NE использует встроенные дефрагментаторы Windows 2000 и Windows 95/98/Me и добавляет собственный мощный дефрагментатор для Windows NT 4. Теперь вы можете управлять расписаниями дефрагментации во всей организации Windows из простой оснастки MMC , даже не устанавливая клиентское программное обеспечение в системах NT или Windows 2000. 10-системная лицензия доступна для онлайн-покупки только за $ 169, и агрессивные скидки на количество доступны. Дополнительные сведения см. по адресу http://www.winternals.com.
Здравствуйте!
Добро пожаловать в информационный бюллетень Sysinternals. В настоящее время бюллетень имеет 31500 подписчиков.
Одна из первых вещей, которые вы заметите при установке бета-версии Windows XP, — это измененный пользовательский интерфейс с именем Luna. Luna look-and-feel pervades все аспекты интерфейса, от поведения меню запуска до проектирования меню приложений и диалоговых окон. Это общее преобразование достигается с помощью подсистемы тем. Темы описаны в файлах стиля темы (файлы, которые заканчиваются .msstyles
) и в файле темы Luna, luna.msstyle
находится в \Windows\Resources\Themes\Luna
. В том же каталоге вы найдете подкаталог с именем Shell, в котором находится shellstyle.dll. Не ясно, как XP использует библиотеку DLL , загруженную обозревателем, и содержит html-таблицу стилей, похороненную в ней, но экспорт не выполняется. Так как comdlg.dll и kernel32.dll импортировать его, и каждое приложение получает копию этих БИБЛИОТЕК DLL, каждый процесс также получает загруженную копию \Windows\System32\UxTheme.DLL
клиентской библиотеки тем. Эта библиотека DLL экспортирует такие функции, как IsThemeActive
, IsAppThemed
, GetCurrentThemeName
и DrawThemeBackground
GetThemeColor
.
Реестр находится в том месте, где указана текущая тема, а также настроена на извивность темы. HKEY_CURRENT_USER\Software\Microsoft\Plus!\Themes
Найдите ключ с именемApply
, где отображаются такие значения, как "цвета" и "значки", которые указывают, где должна быть активна тема. Под ключом Current
подключа есть путь к msstyles-файлу для текущей темы.
Учитывая, что "скиннинг" стал ярость для таких приложений, как WinAmp и Медиаплеер Windows, вы предположите, что Корпорация Майкрософт опубликует инструмент, который позволит третьим сторонам разрабатывать свои собственные темы, или по крайней мере документировать формат .msstyles
библиотеки DLL файла и оболочки, чтобы сторонние стороны могли разрабатывать редакторы тем. Но ты была бы неправильной. В разделе "Microsoft Windows XP: что в нем для разработчиков?" (опубликовано в Интернете http://msdn.microsoft.com/library/default.asp?URL=/library/techart/winxpintro.htm), Корпорация Майкрософт дает понять, что они не намерены разрешать сторонние темы:
"На первый взгляд потенциал для нескольких стилей Windows XP может выглядеть как функциональность кожи в таких приложениях, как Окно Медиаплеер, но существуют различия. Темы изменяют визуальный стиль операционной системы, но по-прежнему предоставляют согласованный пользовательский интерфейс с более ранними версиями Windows. Это важно, так как темы применяются на уровне системы. Изменения, применимые к коже приложения, например удалению кнопок, не подходят на уровне операционной системы. Форматы файлов темы не являются общедоступными; Корпорация Майкрософт сохраняет элемент управления конструктором для тем, чтобы обеспечить согласованный пользовательский интерфейс и обеспечить непрерывность разработки. Комплект разработчика темы не будет доступен в Windows XP".
Аргумент я уверен, что они делают для такой позиции, заключается в том, что сторонние темы могут каким-то образом нарушить пользовательский интерфейс, и пользователи будут вызывать поддержку Майкрософт для помощи. Почему у них нет того же страха с Медиаплеер Windows, я не знаю. Тем не менее, существуют способы применения внешнего вида темы к рабочему столу и приложениям. Посетите http://www.wincustomize.com/ , чтобы найти настольные кожи Windows, такие как новая кожа Aqua-Soft (кожа WindowBlinds - http://www.windowblinds.net), которая дает Windows внешний вид и чувствовать себя на рабочем столе Apple OS X. И учитывая сохраняемость сообщества кожи в том, чтобы выяснить, как скину все выпущено, я уверен, что есть люди прямо сейчас обратный формат темы Майкрософт. Это только вопрос времени, прежде чем кто-то выпускает редактор тем, независимо от политики Майкрософт по контролю тем.
Так что будет делать Корпорация Майкрософт при появлении редакторов тем Windows XP и сторонних тем? Нам придется ждать и видеть, но поведение Apple может дать нам предварительную версию. Несколько дней назад Apple выпустила компанию разработку редактора тем для Mac OS прекращение и отмена порядка: http://www.macworld.co.uk/news/main_news.cfm?NewsID=2773. Разработчик темы остерегается.
Пожалуйста, передайте бюллетень друзьям, вы думаете, может быть заинтересован в его содержимом.
Спасибо!
-Метка
НОВЫЕ ВОЗМОЖНОСТИ SYSINTERNALS
PSSERVICE V1.01
Набор ресурсов NT 4 и Win2K имели служебную программу управления службой командной строки, SC до тех пор, пока я могу вспомнить. SC позволяет просматривать и изменять состояние и конфигурацию служб Win32 в локальных или удаленных системах. PsService — это бесплатный клон SC с несколькими дополнительными функциями.
Первым является то, что PsService позволяет подключаться к удаленным системам с помощью альтернативных учетных данных пользователя. Это полезно в тех случаях, когда учетная запись, из которой вы запускаете, не имеет прав администратора в удаленной системе, но у вас есть доступ к учетной записи, которая делает. Второй — это возможность поиска PsService. Если вы когда-либо забыли, какая система в вашей сети работает под управлением DNS, DHCP или другой службы, вы найдете полезное средство поиска, так как оно позволяет указать имя службы и сообщить компьютерам, на которых запущена служба.
PsService использует API Service Control Manager, для которого можно найти полную документацию в пакете SDK для платформы, и PsService не требует установки клиентского программного обеспечения.
Скачать PsService версии 1.01 по адресу http://www.sysinternals.com/ntw2k/freeware/psservice.shtml.
PSFILE V1.0
PsFile — это средство, созданное в ответ на запросы о том, что преодолевает ограничения команды net file в Windows NT/2K. Вы можете использовать встроенную команду net в NT и Win2K с параметром "file" для перечисления файлов, открытых другими компьютерами на общих ресурсах, экспортированных системой. Однако чистая команда усекает имена длинных путей и работает только в локальной системе.
PsFile использует одни и те же API (достаточно, API Net, который документируется в пакете SDK для платформы) в качестве чистой команды, но не усечены имена файлов и работает как локально, так и удаленно, без необходимости установки клиентского программного обеспечения.
Скачать PsFile версии 1.0 по адресу http://www.sysinternals.com/pstools.htm.
PSEXEC V1.11
PsExec — это приложение командной строки для Windows NT/2K, которое позволяет выполнять программы в удаленных системах. Что делает его особенно мощным, это то, что он удаленно включает консольные программы, чтобы вы могли их запускать в интерактивном режиме. Например, если запустить исполняемый файл командной строки (cmd.exe) в удаленной системе с помощью PsExec, у вас есть удаленная оболочка, и вам не нужно устанавливать клиентское программное обеспечение.
Помимо использования в качестве упрощенной telnet, PsExec позволяет удаленно включить "только локальные" приложения. IpConfig, встроенное средство, показывающее сетевую конфигурацию системы, не может показать конфигурацию удаленных систем. Однако с помощью PsExec можно удаленно запустить его и просмотреть выходные данные локально.
В некоторых случаях учетная запись, в которой выполняется приложение, важно. Приложению может потребоваться запустить учетную запись, чтобы изменения, внесенные в реестр или файлы, происходили в правильном контексте безопасности. В других случаях может потребоваться запустить приложение в другом случае, отличном от того, в котором выполняется PsExec, и еще в другие времена, когда вы хотите запустить удаленное приложение в системной учетной записи. PsExec поддерживает все эти ситуации.
По умолчанию PsExec выполняет программы в контексте безопасности с олицетворением. Это означает, что если вы запускаете PsExec в учетной записи администратора, удаленный процесс будет выполняться в учетной записи администратора. Из-за ограничений на силу олицетворения удаленный процесс не будет иметь доступа к сетевым ресурсам в удаленной системе. Если указать имя пользователя и пароль в командной строке PsExec, PsExec запускает удаленный процесс в альтернативной учетной записи, а удаленный процесс имеет доступ к любым сетевым ресурсам, доступным из этой учетной записи. Наконец, параметр командной строки позволяет направлять PsExec для запуска удаленного процесса в системной учетной записи — той же учетной записи, в которой выполняются службы Win32.
Скачать PsExec версии 1.11 по адресу http://www.sysinternals.com/ntw2k/freeware/psexec.shtml.
HANDLEEX V4.0
HandleEx — это многоплановое средство, показывающее список процессов, активных на компьютере, а также дескриптор для открытых ресурсов операционной системы и загруженных библиотек DLL. Его средство поиска и подробное представление свойств процесса, дескриптора и DLL делает HandleEx идеальным средством для отслеживания проблем с версией DLL, обработки утечек и процесса, доступного к конкретному файлу или каталогу.
Если вы следили за обновлениями Sysinternals, обратите внимание, что HandleEx перескочил два основных номера версий за последние несколько месяцев. Первое основное обновление версии 3.0 представило ряд функций, таких как значки приложений в представлении процесса, подсказки для всех элементов списка, гораздо более эффективное обновление и улучшенная функция поиска, где можно щелкнуть элементы результатов в диалоговом окне поиска и перейти к соответствующей дескриптору или записи DLL.
Возможно, наиболее полезные функции для разработчиков, однако, являются "выделение обновлений" и перемещенное выделение БИБЛИОТЕК DLL. Выделение обновления относится к поведению HandleEx при обновлении представления. Новые элементы, включая процессы, дескриптора или загруженные библиотеки DLL, которые не были представлены до обновления, выделены зеленым цветом, а элементы, которые больше не существуют, выделены красным цветом. Помимо визуального подсказки к изменениям, это позволяет ярко видеть утечки дескрипторов во время выполнения, где новые открытые дескрипторы отображаются зеленым после обновления.
Выделение HandleEx, перемещаемое с помощью DLL, связано с перемещением библиотеки DLL, термином, описывающим поведение загрузчика модуля в Windows, в котором он не может учитывать предпочтительный "базовый адрес" разработчиков, указанных при сборке библиотеки DLL. Код, который компоновщик (средство, используемое для окончательного этапа сборки DLL или EXE), создает для библиотеки DLL ссылки на память внутри библиотеки DLL с предположением, что загрузчик будет учитывать базовый адрес библиотеки DLL. Диапазон памяти в процессе загрузки библиотеки DLL, начинающейся с базового адреса и вместив размер загруженного образа DLL, должен быть свободен, чтобы библиотека DLL загружалась по своему предпочтительному базовому адресу. Если базовый адрес учитывается для нескольких процессов, эффективность использования памяти достигается, так как все процессы используют одну и ту же память кода DLL.
Если загрузчик не может учитывать базовый адрес библиотеки DLL, например если другой уже использует нужный диапазон адресов, загрузчик должен выполнить "перемещение", который включает обновление всех ссылок на память внутри библиотеки DLL, чтобы отразить фактический адрес загрузки библиотеки DLL. Помимо замедления времени загрузки процесса (как правило, незаметно), перемещаемый образ DLL нельзя совместно использовать с другими процессами, которые загружают библиотеку DLL по предпочтительному базовому адресу. Это означает, что вы фактически получаете вторую копию библиотеки DLL, использующую память.
Если вы находитесь в режиме DLL, можно выбрать параметр "Выделить перемещенные библиотеки DLL", в результате чего HandleEx отображает записи для библиотек DLL, которые не загружаются по предпочтительному базовому адресу желтым. Разработчики могут сбрасывать базовые адреса библиотеки DLL, чтобы избежать перемещения.
Что касается перехода HandleEx к версии 4.0? Эта последняя версия HandleEx обеспечивает полный просмотр платформы Win9x/Me. Теперь можно выбрать процесс и просмотреть открытые дескрипторы, как и при запуске HandleEx в WinNT/2K/XP. Не только это, но и как и в WinNT/2K/XP, просмотр свойств событий, мьютексов и семафоров показывает информацию о состоянии (удерживаемых, сигнальных).
Скачать HandleEx 4.0 по адресу http://www.sysinternals.com/ntw2k/freeware/handleex.shtml.
DEBUGVIEW версии 4.11
DebugView — это служебная программа разработчика, которая позволяет записывать выходные данные отладки из приложений или драйверов в локальной системе или удаленный — даже из нескольких систем одновременно. В этом последнем выпуске добавлена совместимость с Windows XP Beta 2, некоторыми функциями удобства использования и функцией, направленной на разработчиков драйверов устройств в WinNT/2K/XP.
Диалоговое окно фильтрации DebugView позволяет определить маски фильтров и исключить их, чтобы сузить их в выходных данных отладки, которые вы хотите просмотреть. Кроме того, можно указать до 5 различных фильтров выделения, каждый из которых имеет другой настраиваемый цвет. Ранее, если у вас были проекты, требующие разных фильтров, необходимо повторно ввести фильтры при каждом переключении проектов. С помощью DebugView 4.11 можно сохранить фильтры в файл для быстрой перезагрузки. Как и раньше, DebugView начинается с фильтров, которые вы активировали при предыдущем выходе.
Иногда его необходимо записать отладочную трассировку выходных данных для последующего анализа или сравнения с другими трассировками. До новой версии DebugView единственным способом просмотра файла журнала было загрузить его в текстовый редактор, что означало, что не удалось применить полезные фильтры выделения. Теперь вы можете загрузить файл журнала DebugView обратно в DebugView, что позволяет просмотреть выходные данные, которые вы видели при первоначальной записи. Использование нескольких окон DebugView позволяет сравнивать трассировки.
Последняя новая функция, ведение журнала во время загрузки, дополняет поддержку аварийного дампа DebugView в NT/Win2K. Благодаря поддержке аварийного дампа DebugView вы записываете выходные данные из драйвера устройства, и если драйвер завершает работу системы, и вы включили аварийные дампы (полный или ядро), используйте DebugView для извлечения выходных данных отладки драйвера из дампа, позволяя увидеть выходные данные драйвера прямо до точки сбоя.
Ведение журнала во время загрузки позволяет записывать выходные данные драйверов, которые загружают во время загрузки в качестве драйверов начальной загрузки или системного запуска. Драйвер DebugView записывает и буферизирует до 1 МБ выходных данных отладки во время загрузки после включения ведения журнала во время загрузки. После запуска системы приложение DebugView импортирует буферированные выходные данные для просмотра. И если драйвер завершает работу во время загрузки и включен аварийный дампы, поддержка аварийного дампа DebugView позволяет увидеть выходные данные драйвера, созданного до сбоя.
Скачать DebugView версии 4.11 по адресу http://www.sysinternals.com/ntw2k/freeware/debugview.shtml.
ВНУТРИ WINDOWS 2000, 3RD EDITION
Официальная книга на внутренних устройствах Windows 2000 теперь доступна! Этот выпуск, соавтор Дэвид Соломон (www.solsem.com) и Марк Руссинович, превышает 40 % больше, чем предыдущий, с новым охватом сети, подключаемых модулей и воспроизведения, управления питанием, служб, реестра, WMI, загрузки и завершения работы и хранения. Он также включает компакт-диск с несколькими мощными инструментами, недоступными в других местах, для изучения внутренних компонентов Windows 2000.
Если вы перейдете на страницу Amazon.com для книги, обратите внимание, http://www.amazon.com/exec/obidos/ASIN/0735610215/o/qid%3D957490318/sr%3D8-1/ref%3Daps%5Fsr%5Fb%5F1%5F1/103-5793119-3499040/systemsinternals/107-2386425-6078131что только два отзыва были размещены с момента выпуска книги в сентябре. Если у вас есть книга, мы настоятельно рекомендуем вам поделиться своим мнением с другими потенциальными читателями.
Просмотрите оглавление книги и порядок сейчас http://www.sysinternals.com/insidew2k.htm.
ФЕВРАЛЬ ЖУРНАЛА WINDOWS 2000
Ознакомьтесь с февральской проблемой Журнала Windows 2000 для моей статьи по анализу аварийного дампа NT/Win2K. Эта статья начинается с работы с основами настройки аварийных дампов и объясняет, как операционная система создает аварийный дампов (с указаниями о том, почему дампа может завершиться сбоем). Затем я объясню, где вы можете получить последние средства анализа дампа и пройти по использованию мощной новой служебной программы Майкрософт, Kanalyze. Наконец, я кратко рассмотрим использование отладчика ядра для проверки дампа. Даже если только небольшая часть дампов показывает их причину с анализом, следует найти информацию полезной.
Статья публикуется в Интернете по ссылке http://www.sysinternals.com/publ.shtml, где можно найти ссылки на все наши публикации.
SYSINTERNALS AT WWW.MICROSOFT.COM
Sysinternals появился в еще более статьях Базы знаний Майкрософт (KB) с момента последнего бюллетеня, что привело к общему объему ссылок на средства Sysinternals до 17.
Q274038: PRB: ошибка ASP 8002801d "Библиотека не зарегистрирована"
http://support.microsoft.com/support/kb/articles/Q274/0/38.ASP
В этой статье пользователи направляются в Regmon для устранения ошибок активных страниц сервера.Q232830: HOWTO: определение владения дескриптором файлов
http://support.microsoft.com/support/kb/articles/Q232/8/30.ASP
Хотите знать, какой процесс открыт? Эта статья базы знаний направляет вас к HandleEx.Q2163868: PRB: нарушение доступа во время установки приложения при использовании файла
http://support.microsoft.com/support/kb/articles/Q216/3/68.ASP
Приложения установки Visual Basic могут завершиться сбоем, если файл, который они пытаются скопировать, используется. HandleEx делает идеальным инструментом для отслеживания процесса, который вмешивается.Q286198: HOWTO: отслеживание ошибок "Запрещено разрешение" в файлах DLL
http://support.microsoft.com/support/kb/articles/Q286/1/98.ASP
Используя Filemon (в статье также упоминается Regmon), вы можете увидеть, какой процесс приложения COM или JSON получает ошибку "отказано в доступе".Q246199: ОШИБКА: измененные параметры языкового стандарта в расширенной хранимой процедуре могут вызвать неправильные результаты
http://support.microsoft.com/support/kb/articles/Q246/1/99.ASP
В этой статье рекомендуется использовать списки DLL для просмотра используемой версии библиотеки среды выполнения C.Q196453. Устранение неполадок NTVDM и пользователей ошибок http://support.microsoft.com/support/kb/articles/Q196/4/53.ASP запуска WOW при запуске 16-разрядных приложений указывает на Filemon, чтобы узнать, какие файлы имеет 16-разрядная подсистема среды (NTVDM) имеет ошибки доступа.
ВНУТРЕННИЕ СВЕДЕНИЯ
ХОЛОДНЫЕ СОЧЕТАНИЯ КЛАВИШ
Многие из вас, вероятно, просматривают клавиши Windows на более новой клавиатуре как ключ просто занимает место. Я был таким образом до недавнего времени, когда я наткнулся на сочетания клавиш Windows для операции, которую я часто выполняю, и теперь я ношу логотип от клавиши с моим частым использованием. Я думала, что я делюсь некоторыми сочетаниями клавиш, которые я считаю полезными, все из которых работают на всех версиях Windows.
Действие | Ярлык |
---|---|
Запуск диспетчера задач | CTRL+SHIFT+ESCAPE |
Диалоговое окно "Свойства системы" | Windows+Break |
Свертывает все окна | Windows+m |
Развернуть все окна | Windows+M |
Открытие компьютера | Windows+e |
Поиск файла | Windows+f |
Открытие диалогового окна выполнения | Windows+r |
После того как я определил эти с помощью проб и ошибок, Дэвид Соломон отметил, что они документируются в Windows 2000 справки в разделе "Естественные сочетания клавиш".
СООБЩЕНИЯ ОТЛАДКИ PNP
Если вы разрабатываете драйверы plug-and-play для Windows 2000, вы можете быть удивлены, чтобы узнать, что вы можете коаксировать даже розничную сборку Windows 2000 для создания обширных сообщений отладки системы подключаемых модулей и воспроизведения во время его перечисления и загрузки драйверов. Разорвать отладчик ядра в начале загрузки системы и задать для внутренней переменной PnpEnumDebugLevel
ядра значение 2 (большинство сообщений с уровнем 1). Ниже приведен пример выходных данных, которые отображаются в диспетчере PnP, который загружает драйвер swenum (драйвер шины перечисления программного обеспечения):
.
IopCallDriverAddDevice: Processing devnode 0xfe503208
IopCallDriverAddDevice: DevNode flags going in = 0x000019
IopCallDriverAddDevice: Will load driver
IopCallDriverAddDevice: Opening registry key Root\SYSTEM\0000
IopCallDriverAddDevice: Class GUID is {4D36E97D-E325-11CE-BFC1-08002BE10318}
IopCallDriverAddDevice: Unable to open GUID\Properties key {4D36E97D-E325-11CE-BFC1-08002BE10318} - 0xc0000034
IopCallDriverAddDevice: Value Service [Type 1, Len 14] @ 0xe14ee82c
IopCallDriverAddDevice: Service Name swenum
IopCallDriverAddDevice: DriverName is \Driver\swenum
IopCallDriverAddDevice: Driver Reference 0xff3a8af0
IopCallDriverAddDevice: Adding Services (type 0)
IopCallDriverAddDevice: Adding Services (type 1)
IopCallDriverAddDevice: Adding Services (type 2)
IopCallDriverAddDevice: Adding driver 0xff3a8af0
IopCallDriverAddDevice: Routine returned 00000000
.
РЕВЕРСИВНАЯ ИНЖЕНЕРИЯ
Те из вас, которые последовали за Sysinternals, знают, что у меня нет доступа к любому исходному коду Windows (кроме источников драйверов, которые передаются в DDK), и что я узнаю о хитростях его реализации через трудоемкое использование SoftICE и мой собственный дизассемблер.
Я столкнулись со статьей "Обратная инженерия: необходимая функция или незаконное действие?" (http://www.planetit.com/techcenters/docs/security/news/PIT20010123S0001)Это описывает январские решения 9-го окружного суда США в случае между Sony и Connectix, который будет интересовать тех из вас, которые будут делать аналогичным образом. Sony привела дело против Connectix после того, как Connectix разработала свою "Виртуальную игровую станцию", программу, которая позволяет запускать игры Sony PlayStation на компьютере, и суд постановил, что Connectix был в рамках закона, когда он реверсивно инженер PlayStation (через дизассембли) так, чтобы позволить им развивать свой эмулятор.
Хотя область законности реверсивной инженерии, особенно учитывая лицензии на сжатие, которые запрещают его, по-прежнему расплывчато, этот случай сводится к стороне обратной инженерии.
ОБНОВЛЕНИЯ ЯДРА WINDOWS XP
В отличие от перемещения между NT 4 и Windows 2000, ядро Windows XP пережило более тонкие изменения, многие из которых направлены на улучшение производительности. API ядра, доступные разработчикам драйверов, были развернуты с более чем 200 новыми экспортируемыми функциями ядра, заполняя некоторые предыдущие отверстия. Например, Filemon и другое средство Sysinternals получают имя процесса, выполняющего операцию, путем попадания в блок среды незадокументированного процесса в Windows XP, который сможет вызываться PsGetProcessImageFileName
. Существует почти 3-десятки новых вызовов Ps-call для получения и настройки атрибутов процесса, новых интерфейсов API вывода отладки, которые позволяют классифицировать тип вывода и уровень отладки, а также новый системный вызов для сохранения кустов реестра. Существует также несколько API, таких как ZwQueryBootOptions
, ZwSetBootEntryOrder
и ZwDeleteBootEntry
для редактирования 64-разрядной версии Windows XP-эквивалент Boot.ini, которая вместо хранения в файле хранится в ненулевой памяти.
Однако есть более значительные изменения на вершине ядра, большинство из которых полагаются на драйверы устройств или поддержку ядра. Например, есть служба восстановления системы, которая с помощью драйвера фильтра файловой системы (sr.sys), отслеживает изменения файлов, чтобы система была откатена до предыдущей точки во времени. Существует драйвер фильтра хранилища с именем volsnap.sys, который может при сотрудничестве драйверов файловой системы сделать копию тома на определенный момент времени. Существует быстрая служба переключения пользователей, которая использует поддержку служб терминалов, встроенную в ядро, чтобы позволить нескольким пользователям входить в систему и переключаться между ними, а также повысить поддержку API дефрагментации, предоставляемую драйверами файловой системы.
Корпорация Майкрософт опубликовала технический документ, описывающий множество улучшений в http://www.microsoft.com/hwdev/Whistler/download/Whistler_kernel.zip. Существует различные степени детализации, оставляя много вопросов о реализации и поведении без ответа, но это довольно хороший общий обзор. Конечно, вы можете посмотреть на будущие информационные бюллетени и статьи Sysinternals, и мои статьи журнала Windows 2000, чтобы ответить на некоторые из них.
ОТКЛЮЧЕННЫЕ СЕТИ
Большая часть моих центров разработки в приложениях с поддержкой сети, но в Windows 2000 вы не можете протестировать такие приложения при загрузке отключенного компьютера (например, ноутбука) в конфигурации по умолчанию. Это связано с тем, что стек TCP/IP не активируется, если система не обнаруживает сетевое подключение. Это означает, например, что dir \\laptop\c$
(где "ноутбук" — это имя компьютера), а ping 127.0.0.1
оба — сбой в отключенных системах. Если у вас есть компьютер на основе домена, это также может привести к болезненным задержкам во время загрузки.
Существует два обходных решения. Одним из них является установка адаптера обратной связи Майкрософт, который является виртуальным сетевым адаптером, который можно установить с помощью мастера оборудования. Во-вторых, необходимо отключить смысл мультимедиа, который предотвращает обнаружение отключенной системой, задав значение реестра, как описано в статье базы знаний Майкрософт Q239924: http://support.microsoft.com/support/kb/articles/Q239/9/24.ASP. При любом из этих подходов стек TCP/IP активен даже в отключенных системах, позволяя получить доступ к локальной системе через сетевые API и UNC-пути (например \\laptop\c$
).
WINDEV
Виндев, конференция разработчика Windows, проводится в этом году в Бостоне 11-15 июня. Все лучшие имена в Win32, системах и программировании .NET будут там, и это единственный раз в этом году, когда вы можете присутствовать на сессии во внутренних системах Windows 2000, представленных Дэвидом Соломоном (www.solsem.com) и мной. Дэйв и я совместно предоставляю дневное руководство "Внутри Windows 2000 Основы" в первый день. Я также обучаю сеанс по механизмам взаимодействия между процессами программирования в Windows и тем, что нового в Windows XP.
Вы можете просмотреть абстракты для моих переговоров и найти ссылку на веб-сайт Windev на сайте http://www.sysinternals.com/ntw2k/info/talk.shtml.
TECHED US
TechEd — это премьер-конференция Майкрософт, рисование 10 000 человек и продажа за последние несколько лет. В этом году его проведение в Атланте, Джорджия с 17 июня по 21 июня, и в то время как основное внимание уделяется .NET, корпорация Майкрософт пригласила меня представить "Обзор средств sysinternals" и "Введение в анализ аварийного дампа Windows NT/2000". Дэвид Соломон также будет там, выступая в Windows 2000 по управлению памятью и процессам и внутренним потокам.
Для тех, кто вы в Европе, вы можете увидеть Дэвида и меня представить те же сессии в TechEd Europe, которая находится в Барселоне 3-6 июля.
Просмотр моих абстрактов и переход по ссылке на домашнюю страницу TechEd из http://www.sysinternals.com/ntw2k/info/talk.shtml.
ЧТО ПРОИСХОДИТ
В WINDOWS XP PREFETCHING
Одним из наиболее заметных улучшений в Windows XP является время быстрой загрузки. Предварительная выборка является основой улучшения. XP отслеживает доступ к диску во время загрузки, сохраняя сведения для использования в последующей загрузке, где они используют данные для загрузки приложений в память, прежде чем они ссылаются. В следующий раз я перейдю в механизмы предварительной подготовки, чтобы объяснить, как XP реализует их.
Благодарим вас за чтение бюллетеня Sysinternals.
Опубликовано в среду, 18 апреля 2001 г. 7:04 по ottoh