В XVII-XVIII веках медицинские науки привлекали особый интерес широкой публики и изучение устройства человеческого тела было повальным увлечением. Для благородных дам и синьоров считалось хорошим тоном присутствовать на публичных вскрытиях и слушать ученые комментарии.
В XXI веке эту традицию решила возродить на новый лад компания Microsoft (www.microsoft.ru), организовавшая в Москве семинар “Внутреннее устройство Windows 2000/XP/Server 2003 и их настройка”. В качестве “паталогоанатома” был приглашен известный специалист по изучению ядра Windows NT Дэвид Соломон (www.solsem.com).
Дэвид Соломон: “Много полезных инструментов
содержится на CD, прилагаемом к книге”
В начале семинара он почтил память Digital, где проработал 10 лет, участвуя в создании операционной системы VMS. C 1992 г. г-н Соломон занимается исследованием “анатомии” систем семейства Windows NT, писательством и преподаванием. Он соавтор книги “Внутреннее устройство Microsoft Windows 2000”, написанной вместе с Марком Руссиновичем, русское издание которой было выпущено в 2001 г. издательствами “Русская редакция” и “Питер”. Являясь независимым (от Microsoft) экспертом, Дэвид тем не менее был допущен к исходным текстам Windows и поэтому теперь не имеет права использовать свои знания для создания коммерческого ПО. У его коллеги Марка Руссиновича отношения с корпорацией складывались по-иному. Его знания внутреннего устройства этой ОС почерпнуты непосредственно из результатов анализа системы, осуществлявшегося в том числе и путем обратного инжиниринга. Поскольку такие действия противоречат лицензионному соглашению, это вызвало напряженность во взаимоотношениях с корпорацией, но так как ПО, созданное Марком (см. www.sysinternals.com и www.winternals.com), пользуется большой популярностью и способствует лучшему пониманию происходящих в системе процессов, а стало быть, косвенно популяризирует и продукты Microsoft, она смотрит на эти действия сквозь пальцы. Тандем Дэвида и Марка чем-то напоминает союз теории и практики: первый знает код, но не имеет права разрабатывать коммерческое ПО, второй может создавать ПО, но не располагает точными знаниями об исходном коде.
Семинар явился сокращенным вариантом пятидневного курса, читаемого г-ном Соломоном, и имел целью дать ИТ-профессионалам базовые знания по архитектуре ядра Windows, научить их диагностировать и устранять проблемы, связанные с процессами, потоками и памятью, а также обучить искусству реанимации, которое заключается в умении анализировать аварийный дамп системы и пользоваться отладчиками. Материал, предложенный слушателям семинара, сильно перекликался с содержимым упомянутой выше книги, но ни в коем случае не дублировал ее. Как в театре зрители получают удовольствие от самой постановки, чего не дает простое чтение сценария, так и здесь слушатели наслаждались устроенным представлением.
Действо происходило в присутствии более 700 системных администраторов и разработчиков ПО, до предела заполнивших большой конференц-зал гостиницы “Рэдиссон-Славянская”. Манера выступать перед публикой выдавала большого мастера, а умение держать в руках скальпель, т. е. клавиатуру, произвело впечатление не на меня одного - набираемый им на экране текст появлялся с той же скоростью, с которой лилась устная речь.
Основное внимание уделялось семейству персональных систем Windows XP, в том числе были разобраны особенности новой, работающей на процессорах Itanium 64-разрядной версии, которую планируется дополнить поддержкой Opteron. Конечно же не обошлось и без упоминания операционной системы Windows Server 2003, ее Microsoft представит в апреле. Архитектура ядра системы изменилась мало, в ней нет ни новых подсистем, ни новых API. Внутренний номер версии Windows Server 2003 - 5.2, тогда как у Windows XP - 5.1, а у Windows 2000 - 5.0. Тем не менее в ядро был внесен ряд изменений, а получившаяся система удостоилась высокой оценки Дэвида Соломона:” Я никогда не работал, не работаю и не буду работать в Microsoft, - сказал он, - но все же рекомендую переходить на Windows Server 2003, поскольку она более производительна и в ней исправлены некоторые недоработки в области безопасности”.
Кратко коснулся г-н Соломон и Windows XP Embedded, объяснив, почему эта ОС не является операционной системой реального времени в строгом смысле этого слова. Дело в том, что она не гарантирует реакции в отведенный интервал времени. “Если такие системы будут использованы в системах управления, например, самолетами - я откажусь летать”, - заявил он.
Значительная часть семинара была посвящена различным инструментам, с помощью которых можно проводить исследования поведения системы и приложений. Часть из них встроены в систему, другие входят в дополнительные наборы (Resource Kit и Support Kit), поставляемые отдельно, некоторые специально разработаны представителями третьих фирм, таких, например, как Sysinternals. Несмотря на широкое распространение инструментария первого типа, правильно пользоваться ими умеют далеко не все. И здесь вина не только пользователей и системных администраторов, но также и Microsoft, не снабдившей их развернутой документацией и использовавшей в них названия, скорее запутывающие суть дела, чем проясняющие. Пример - программа Task Manager. Ее первая закладка называется Applications, а реально она показывает список лишь некоторых окон верхнего уровня, запущенных в системе. Состояние приложения, отображаемое в колонке Status этой закладки, тоже способно ввести в заблуждение неискушенного пользователя: Running означает, что приложение ожидает оконного ввода-вывода, а Not responding - что приложение работает!
В качестве альтернативного инструмента для мониторинга Дэвид предложил утилиту Process Explorer, разработанную Sysinternals и свободно доступную на сайте компании. Эта утилита позволяет не только определить, какая задача потребляет процессорное время и память, но также и установить полный путь к ее образу, командную строку, с помощью которой задача была запущена, переменные окружения, родительский процесс, маркер доступа, открытые описатели (Handlers), загруженные DLL и проецируемые файлы.
Другим полезным инструментом, позволяющим исследовать поведение программ в части ввода-вывода, является FileMon. На глазах у изумленной публики открывались любопытные подробности выполнения этих операций стандартными программами Windows.
Следующей интересной сферой применения программ является их взаимодействие с системным реестром. Для отслеживания этого вида активности предназначена программа Regmon.
Несмотря на некоторый хакерский оттенок подобных мероприятий, корпорация Microsoft, безусловно, больше выигрывает, устраивая подобные семинары-представления. Побывав на них, люди лучше начинают понимать эту довольно сложную систему, обучаются решению проблем, возникающих из-за неграмотно спроектированного ПО, работающего в Windows, и у них пропадает желание переходить на иные платформы. Также нельзя не отметить хорошую организацию всего мероприятия.
Российское представительство Microsoft планирует провести еще один аналогичный семинар, на который в качестве докладчика должен приехать Джеффри Рихтер, автор другой известной книги о внутреннем устройстве Windows - “Windows для профессионалов”.