Внутреннее устройство Windows. 7-е изд.

Введение

Седьмое издание книги «Внутреннее устройство Windows» предназначено для профессионалов (разработчиков, специалистов по безопасности и системных администраторов), желающих более глубоко разобраться в работе основных компонентов Microsoft Windows 10 и Windows Server 2016. Разработчики смогут лучше понять обоснование того или иного проектного решения при создании приложений для Windows, и смогут успешнее производить отладку сложных проблем.

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

Специалисты по безопасности узнают, как злоумышленники могут воспользоваться уязвимостями операционной системы и вызвать нежелательное поведение, а также ознакомятся с защитными мерами и средствами безопасности, реализованными в современных версиях Windows.

Прочитав эту книгу, вы будете лучше разбираться в работе Windows и в причинах того или иного поведения ОС.

История книги

Это седьмое издание книги, которая сначала называлась «Inside Windows NT» (Microsoft Press, 1992) и была написана Хелен Кастер (Helen Custer) еще до выхода Microsoft Windows NT 3.1. «Inside Windows NT» была первой книгой, написанной о Windows NT и предоставившей ключевую информацию о сути архитектуры и конструкции системы. «Inside Windows NT, Second Edition» (Microsoft Press, 1998) была написана Дэвидом Соломоном (David Solomon). Она дополнила исходную книгу описанием Windows NT 4.0, а материал излагался на более глубоком техническом уровне.

Книга «Inside Windows 2000, Third Edition» (Microsoft Press, 2000) вышла под авторством Дэвида Соломона (David Solomon) и Марка Руссиновича (Mark Russinovich). В нее было добавлено множество новых тем, например: запуск и завершение работы, внутреннее устройство служб, реестра, драйверов файловой системы и сети. В ней также были рассмотрены изменения, внесенные в ядро Windows 2000, например: модель драйверов Windows Driver Model (WDM), Plug and Play, диспетчер энергопотребления, Windows Management Instrumentation (WMI), шифрование, объект задания и службы терминалов. В книгу «Windows Internals, Fourth Edition» были включены обновления, связанные с выходом Windows XP и Windows Server 2003, и дополнительный контент, предназначенный для IT-профессионалов в применении их знаний внутреннего устройства Windows — например, в использовании основных инструментов из комплекта Windows Sysinternals и в анализе аварийных дампов.

Книга «Windows Internals, Fifth Edition» (Microsoft Press, 2009) была обновлена под выход Windows Vista и Windows Server 2008. В это время Марк Руссинович перешел на полную ставку в Microsoft (где он теперь является техническим директором Azure), а у книги появился новый соавтор Алекс Ионеску. В новом материале описан загрузчик образов, средства отладки пользовательского режима, механизм ALPC (Advanced Local Procedure Call) и Hyper-V. Следующее издание, «Windows Internals, Sixth Edition» (Microsoft Press, 2012), было полностью обновлено с учетом многочисленных изменений ядра в Windows 7 и Windows Server 2008 R2, с добавлением множества новых экспериментов в соответствии с изменениями в инструментарии.

Изменения, внесенные в седьмое издание

С выхода последнего издания этой книги система Windows прошла несколько обновлений, конечным результатом которых стал выход Windows 10 и Windows Server 2016. Система Windows 10, которая в настоящее время считается основной версией Windows, прошла несколько изданий, от первого выпуска до производственной версии. Каждая версия помечается номером версии из четырех цифр, обозначающим год и месяц выпуска, — например, Windows 10, версия 1703, которая была опубликована в марте 2017 года. Отсюда следует, что система Windows с выхода Windows 7 прошла как минимум шесть версий (на момент написания книги).

Начиная с Windows 8, корпорация Microsoft запустила процесс конвергенции ОС, полезный с точки зрения как разработчика, так и команды разработки Windows. В Windows 8 и Windows Phone 8 все началось с конвергенции ядра, затем в Windows 8.1 и Windows Phone 8.1 процесс продолжился конвергенцией современных приложений. История конвергенции завершилась в системе Windows 10, работающей на настольных/портативных компьютерах, серверах, XBOX One, телефонах (Windows Mobile 10), HoloLens и различных IoT-устройствах (Internet of Things).

С завершением грандиозной унификации пришло время для нового издания серии, которое наконец-то синхронизировалось с почти пятилетними изменениями и появлением более стабильной архитектуры ядра. Соответственно, в новом издании книги рассматриваются аспекты Windows с Windows 8 до Windows 10, версия 1703. Кроме того, в новом издании в число соавторов вошел Павел Йосифович.

Практические эксперименты

Даже без доступа к исходному коду Windows вы многое можете почерпнуть о внутреннем устройстве Windows из таких инструментальных средств, как отладчик ядра, утилиты из пакета Sysinternals и инструменты, разработанные специально для этой книги. Когда инструментальное средство может быть использовано для показа или демонстрации некоторых аспектов внутреннего поведения Windows, действия, которые можно попытаться выполнить самостоятельно, описаны во врезках «ЭКСПЕРИМЕНТ». Они встречаются по всей книге, и мы хотим, чтобы вы провели все эти эксперименты по мере чтения книги — наглядное доказательство внутренней работы Windows сильнее отпечатается в вашей памяти, чем простое чтение описания этой работы.

Незатронутые темы

Windows это большая и сложная ОС. В этой книге мы не описываем все, что имеет отношение к внутреннему устройству Windows, но делаем упор на рассмотрение основных системных компонентов. Например, в книге не дается описание COM+, распределенной объектно-ориентированной программной инфраструктуры Windows, или среды Microsoft .NET Framework, которая является основой приложений с управляемым кодом. Поскольку книга посвящена внутреннему устройству, а не использованию, программированию или системному администрированию, в ней не рассматриваются вопросы использования, программирования или настройки Windows.

Предупреждение и предостережение

Поскольку в данной книге рассматривается недокументированное поведение внутренней архитектуры и функционирования операционной системы Windows (например, внутренних структур и функций ядра), в материале книги возможны изменения между выпусками.

Под «возможными изменениями» не обязательно имеется в виду, что подробности, рассмотренные в данной книге, будут меняться от выпуска к выпуску, но не рассчитывайте на то, что они не претерпят вообще никаких изменений. Любое программное обеспечение, использующее эти недокументированные интерфейсы в будущих релизах Windows, может оказаться неработоспособным. Хуже того, программы, работающие в режиме ядра (например, драйверы устройств) и использующие эти недокументированные интерфейсы, могут при запуске новых выпусков Windows вызвать фатальный сбой с возможной потерей данных.

Одним словом, никогда не используйте внутреннюю функциональность Windows, разделы реестра, поведение, API или любые другие недокументированные подробности, описанные в книге, при разработке любых программ, предназначенных для конечного пользователя или любых других целей, кроме исследования и документирования. Поиск официальной документации по конкретным темам всегда следует начинать с MSDN (Microsoft Software Development Network).

Что мы ожидаем от читателя

Книга предполагает, что читатель уверенно работает с Windows на уровне опытного пользователя, а также понимает основные концепции операционных систем и оборудования: регистры процессора, память, процессы и программные потоки. В некоторых разделах книги также может пригодиться понимание функций, указателей и других конструкций языка программирования C.

Структура книги

Книга разделена на две части (как и в шестом издании); первую часть вы сейчас держите в руках.

• Глава 1 «Концепции и средства» знакомит читателя с концепциями внутреннего строения Windows и представляет основные инструменты, используемые в книге. Чрезвычайно важно начать чтение с этой главы, потому что в ней содержится вся вводная информация, необходимая для понимания остального материала.

• В главе 2 «Архитектура системы» представлена архитектура и основные компоненты Windows; некоторые из них изложены достаточно подробно. Другие концепции более подробно рассматриваются в последующих главах.

• Глава 3 «Процессы и задания» содержит подробное описание реализации процессов в Windows и различных операций с ними. Также здесь описаны задания как механизмы управления наборами процессов и поддержки контейнеров Windows.

• Глава 4 «Потоки» рассказывает об управлении, планировании и других операциях с программными потоками в Windows.

• Глава 5 «Управление памятью» показывает, как диспетчер памяти работает с физической и виртуальной памятью и как процессы и драйверы могут использовать память.

• Глава 6 «Подсистема ввода/вывода» показывает, как работает система ввода/вывода в Windows и как она интегрируется с драйверами устройств для формирования механизмов работы с периферийными устройствами ввода/вывода.

• Глава 7 «Безопасность» посвящена различным механизмам безопасности, встроенным в Windows. В частности, здесь рассматриваются защитные меры, которые сейчас стали частью системы борьбы с эксплойтами.

Благодарности

Прежде всего мы хотим поблагодарить Павла Йосифовича (Pavel Yosifovich), присоединившегося к этому проекту. Его участие сыграло исключительно важную роль для выпуска книги; только благодаря многим ночам, проведенным им за изучением подробностей Windows и сбором информации об изменениях в шести выпусках Windows, эта книга появилась на свет.

Книга не содержала бы столько технических подробностей и не была бы настолько точной, если бы не участие и поддержка ключевых участников группы разработки Microsoft Windows и других экспертов из Microsoft. Мы хотим поблагодарить людей, которые предоставили технические рецензии и/или исходный материал для книги или просто обеспечивали поддержку и помогали авторам: Акила Шринивасан (Akila Srinivasan), Алессандро Пилотти (Alessandro Pilotti), Андреа Аллиеви (Andrea Allievi), Энди Лурс (Andy Luhrs), Арун Кишан (Arun Kishan), Бен Хиллис (Ben Hillis), Билл Мессмер (Bill Messmer), Крис Клейнханс (Chris Kleynhans), Дипу Томас (Deepu Thomas), Юджин Бак (Eugene Bak), Джейсон Ширк (Jason Shirk), Джеремайя Кокс (Jeremiah Cox), Джо Бялек (Joe Bialek), Джон Ламберт (John Lambert), Джон Ленто (John Lento), Джон Берри (Jon Berry), Кай Су (Kai Hsu), Кен Джонсон (Ken Johnson), Лэнди Ванг (Landy Wang), Логан Габриэль (Logan Gabriel), Люк Ким (Luke Kim), Мэтт Миллер (Matt Miller), Мэтью Вулман (Matthew Woolman), Мехмет Иган (Mehmet Iyigun), Мишель Бержерон (Michelle Bergeron), Минсан Ким (Minsang Kim), Мохамед Мансур (Mohamed Mansour), Нэйт Уорфилд (Nate Warfield), Нирадж Сингх (Neeraj Singh), Ник Джадж (Nick Judge), Павел Лебединский (Pavel Lebedynskiy), Рич Тернер (Rich Turner), Сарухан Карадемир (Saruhan Karademir), Саймон Поуп (Simon Pope), Стивен Финниган (Stephen Finnigan) и Стивен Хафнагел (Stephen Hufnagel).

Хочется еще раз поблагодарить Ильфака Гуилфанова (Ilfak Guilfanov) из компании Hex-Rays () за лицензии IDA Pro Advanced и Hex-Rays, которые были предоставлены Алексу Ионеску (Alex Ionescu) более 10 лет назад, благодаря чему он смог ускорить свой анализ ядра Windows, а также за непрестанную поддержку и разработку средств декомпиляции, сделавших возможным написание этой книги без доступа к исходному коду.

И наконец, авторы хотят поблагодарить замечательный коллектив Microsoft Press, воплотивший эту книгу в реальность. Для Девона Масгрейва (Devon Musgrave) этот проект стал последним на должности рецензента издательства, а Кейт Шауп (Kate Shoup) стала руководителем проекта. Шон Монингстар (Shawn Morningstar), Келли Тэлбот (Kelly Talbot) и Корина Лебеджоара (Corina Lebegioara) также внесли свой вклад в качество книги.

Список опечаток и качество книги

Мы приложили все усилия к тому, чтобы обеспечить точность материала книги и прилагаемого контента. Все ошибки, о которых было сообщено с момента публикации книги, указаны на сайте Microsoft Press по адресу:

Если вы обнаружите ошибку, которая еще не указана в списке, вы можете сообщить нам об этом на той же странице.

Если вам понадобится дополнительная поддержка, обратитесь в службу поддержки Microsoft Press по адресу .

Пожалуйста, учтите, что поддержка продуктов Microsoft по указанным выше адресам не предоставляется.

От издательства

Обращаем ваше внимание, что в данном издании были оставлены оригинальные скриншоты (с англоязычными названиями элементов интерфейса). В тексте книги использованы русские названия согласно официальной терминологии Microsoft (), а в скобках приведены англоязычные термины. Такой подход позволит вам легко ориентироваться в книге и использовать ее с любыми настройками ОС.

Оригинальное седьмое издание книги планируется выпустить в виде двух частей (как и шестое издание), поэтому на страницах данной книги вы найдете ссылки на вторую часть, которая (на момент выпуска первого тиража русскоязычного перевода) еще не была написана.

Ваши замечания, предложения, вопросы отправляйте по адресу (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

На веб-сайте издательства вы найдете подробную информацию о наших книгах.

Внутреннее устройство Microsoft Windows. 6-е изд. — СПб.: Питер, 2013. — 800 с.: ил. — (Серия «Мастер-класс»).

Показать оглавление

Комментариев: 6

Оставить комментарий

  1. JamesCen
    scottsdale health care studiomerliniortodonzia.it/cgi-bin/antibiotici.htm health care communities
  2. Franksog
    home remedy gingivitis studiomerliniortodonzia.it/cgi-bin/antibiotici.htm infant fever remedies
  3. KennethLib
    knee ache remedies studiomerliniortodonzia.it/cgi-bin/testosterone.htm lifetime health care
  4. KennethLib
    knee ache remedies studiomerliniortodonzia.it/cgi-bin/testosterone.htm lifetime health care
  5. KennethLib
    knee ache remedies studiomerliniortodonzia.it/cgi-bin/testosterone.htm lifetime health care
  6. KennethLib
    knee ache remedies studiomerliniortodonzia.it/cgi-bin/testosterone.htm lifetime health care