От авторов
В этой книге не было бы такой глубины и точности изложения технических сведений без поддержки, замечаний и предложений ключевых членов команды разработчиков Microsoft Windows 2000. И мы хотели бы поблагодарить ряд сотрудников Microsoft как за их рецензии, так и за то время, которое они потратили объясняя нам бесчисленные детали устройсва операционной системы.
- В первую очередь — Дэйва Катлера (Dave Cutler), заслуженного ведущего инженера и первого архитектора Microsoft Windows NT. Дэйв разрешил Дэвиду Соломону доступ к исходному коду и всячески поддерживал его преподавательскую деятельность, посвященную объяснению деталей внутреннего устройства Windows NT, а также его работу над вторым изданием книги «Внутреннее устройство Windows NT». Помимо рецензирования главы по процессам и потокам, Дэйв ответил на массу вопросов об архитектуре ядра и написал для нашей книги вступительную статью об истории создания Windows 2000.
- Джима Олчина (Jim Allchin) — за предисловие к этой книге и за то, что он подтолкнул нас включить в книгу главу, посвященную поддержке сетей.
- Лью Пераццоли (Lou Perazzoli), заслуженного инженера (ранее директора Windows 2000 Base Team и автора первого диспетчера памяти для Windows NT). Лью был основным игроком в те времена, когда готовилось второе издание книги «Внутреннее устройство Windows NT» (он писал тогда предисловие), и оставался таковым на первых этапах разработки Windows 2000.
- Роба Шорта (Rob Short), вице-президента Windows 2000 Base Team, который позаботился о том, чтобы нам предоставили все ресурсы и доступ к нужным людям. Роб также определял общее содержание книги.
- Лэнди Уэнга (Landy Wang), ведущего разработчика диспетчера памяти, — за дружеское отношение несмотря на то, что мы своими вопросами часто прерывали его работу. Лэнди всегда охотно соглашался просматривать черновики глав и объяснять нам детали самой сложной части системы, даже когда в коридоре его ждала целая очередь!
- Марка Луковски (Mark Lucovsky), заслуженного инженера и архитектора Windows 2000 Base Team, — за ответы на технические вопросы по многим аспектам операционной системы.
- Ричарда Уарда (Richard Ward) — за рецензирование уймы черновых вариантов главы, посвященной безопасности, и раздела по сервисам. Кроме того, Ричард неоднократно встречался с нами для обсуждения различной технической информации.
- Джона Верта (John Vert), который рецензировал разделы по обработке прерываний, HAL и реестру. Джон также был для нас основным источником сведений о решениях по архитектуре Windows NT на ранних этапах ее развития.
- Нила Клифта (Neil Clift), чьи глубокие познания в компонентах ядра Windows 2000 помогли нам устранить несколько шероховатостей в наших материалах, относящихся к диспетчеру объектов и ряду других областей.
- Дэна Лавингера (Dan Lovinger) — за рецензирование глав по диспетчеру кэша, устройствам внешней памяти, и файловым системам.
- Адриана Они (Adrian Oney) и Нар Ганапати (Nar Ganapathy) — за рецензирование главы по вводу-выводу и помощь в более четком изложении материалов о поддержке Plug and Play. Адриан совершенно не считался со своим временем и прояснил нам некоторые из самых запутанных аспектов подсистемы ввода-вывода.
- Тома Фаута (Tom Fout), который руководил подготовкой содержания для главы по поддержке сетей и координировал ее рецензирование основными разработчиками.
- Драгоса Самботина (Dragos Sambotin) — за рецензирование раздела по реестру.
- Прэрита Гарга (Praerit Garg) и Роберта Рейчела (Robert Reichel) — за рецензирование главы по безопасности.
- Майкла Мастона (Michael Maston) и Алана Уорвика (Alan Warwick) — за рецензирование раздела по WMI.
- Кита Каплана (Keith Kaplan) — за рецензирование глав по внешней памяти и файловым системам.
- Катарину ван Инген (Catharine van Ingen) — за рецензирование главы по внешней памяти.
- Дэвида Голдса (David Golds), Брайена Эндрюса (Brian Andrews) и Марка Збиковски (Mark Zbikowski) — за рецензирование главы по файловым системам.
- Тима Мура (Tim Moore), Ришарда Котта (Ryszard Kott), Марио Герцеля (Mario Goertzel), Юн Линь (Yun Lin), Стивена Нельсона (Steven Nelson), Айлэн Кэрон (Ilan Caron), Гердипа Сингха Полла (Gurdeep Singh Pall), Дэвида Орбитса (David Orbits) и других разработчиков сетевой поддержки, которые помогли улучшить структуру и точность изложения главы по сетевой поддержке.
- Андрэ Вако (Andre Vachon) — за помощь в доводке отладчиков ядра (и создание по сути нового их набора!).
- Джона Шварца (Jon Schwartz), который рецензировал большинство глав. Спасибо за ценные комментарии!
- Джозефа Джоя (Joseph Joy) — за рецензирование первых двух глав с точки зрения читателя.
Мы также хотим поблагодарить сотрудников Microsoft Press за их вклад в эту книгу (двое из которых после нее уволились).
- Эрика Стру (Eric Stroo), ранее одного из менеджеров Microsoft Press (теперь он наслаждается остатком жизни), который, как и в случае с предыдущим изданием, жестко требовал соблюдать план выпуска книги, но оказывал всяческую поддержку.
- Бена Райена (Ben Ryan), ранее одного из выпускающих редакторов Microsoft Press (теперь он работает у другого издателя), который принял бразды правления у Эрика и наседал на нас с несколько меньшим напором.
- Салли Стикни (Sally Stickney), редактора проекта, которая вновь поразила нас виртуозным владением английским языком и своим терпением. Салли, на этот раз Вы были еще любезнее.
- Джин Росс (Jean Ross), научного редактора, которая стремилась отловить любую, даже самую мелкую, несогласованность технической информации. Джин всегда восхищала нас своей дотошностью.
Мы также выражаем признательность Марку Смиту (Mark Smith), Карен Форстер (Karen Forster), Дайанне Рассел (Dianne Russell) и остальным сотрудникам журнала Windows 2000 Magazine (www.win2000mag.com) за предоставленное разрешение позаимствовать для книги материалы из колонки Марка «;Internals».
Наконец, особой благодарности заслуживают несколько внешних рецензентов.
- Джейми Ханрахан (Jamie Hanrahan) из Azius Developer Training (www.azius.com), соавтор учебного курса по внутренней архитектуре Windows NT/Windows 2000, на основе которого и родилась эта книга. Джейми, у которой настоящий талант доходчиво объяснять сложнейшие вещи, предоставила нам отдельные материалы, а также ряд схем и рисунков.
- Брайен Кэтлин (Brian Catlin), тоже из Azius Developer Training, рецензировала главы 2, 3 и 9, а также сделала ряд крайне полезных замечаний и предложений, которые позволили добиться более четкого изложения материала.
- Джеффри Рихтер (Jeffrey Richter) из Wintellect (www.wintellect.com), как и в предыдущем издании, рецензировал несколько глав и вообще всячески умасливал авторов: как хороши были все эти обеды с Джефом в Бельвю в конце долгих трудных дней...
- Рич Нивз (Rich Neves) из ReefEdge Inc. (www.reefedge.com) рецензировал главы по вводу-выводу и сетевой поддержке.
- Эндрю Таненбаум (Andrew Tanenbaum) из Амстердамского университета, который сделал нам уйму предложений о том, как улучшить структуру и подачу материала в главе по файловым системам.
- Джон Трейси (John Tracey) из IBM Research рецензировал главу по сетевой поддержке.
- Кит Мур (Keith Moore), ранее работавший в Microsoft, рецензировал главу по сетевой поддержке.
Были и другие люди, которые отвечали на наши вопросы в коридорах или кафетериях, — если мы вас пропустили, пожалуйста, простите нас!
Благодарности Дэвида Соломона
Когда Марк Руссинович предложил мне сотрудничать в подготовке третьего издания, я обрадовался и в то же время занервничал. Согласится ли Microsoft с тем, что над официальной книгой по внутренней архитектуре их основной операционной системы будет работать столь известный хакер Windows NT? И смогу ли я хоть как-то соответствовать квалификации такого эксперта по Windows NT?
К счастью, все разрешилось благополучно, и мы с Марком получили большое удовольствие от совместной работы над этим проектом. Хотя у Марка не было доступа к исходному коду (только я имел право на это), меня постоянно изумляло, как быстро он решал технические проблемы, используя свой дизассемблированный двоичный файл Ntoskrnl.exe вместе с SoftlCE. (Мы даже вели счет, кто кого научил очередной «ерунде».)
Я должен поблагодарить Марка за многие новые материалы, которые появились в третьем издании: главы 4, 5, 10 и 13. Марк также внес существенный вклад в главы 3, 8, 9 и 12.
Кроме того, хочу выразить признательность жене Марка, Сьюзан, которая так долго терпела меня в доме Марка и готовила такие вкусные ленчи, обеды и крепкий кофе!
Спасибо Фрэнку Артейлу (Frank Artale) за то, что в свое время предложил мне написать второе издание книги «Внутреннее устройство Windows NT», и за всю поддержку от группы Windows NT Development (особенно от Лью Пераццоли и Дэйва Катлера) в период работы над тем изданием.
Хочу поблагодарить маму и папу. Вы меня вырастили, всегда поддерживали и дали возможность стать тем, кем я стал сегодня.
И последнее, но не менее важное. Выражаю признательность своей жене, Шелли, и нашим трем детям, Дэниэлю, Ребекке и Саре, за то, что выдержали еще один книжный проект. На этот раз мне реже прощали опоздания — и поделом.
Благодарности Марка Руссиновича
Второе издание книги «Внутреннее устройство Windows NT» произвело на меня сильное впечатление. Дэйв проделал фантастическую работу, детально и ярко описав принципы внутренней работы Windows NT и в то же время предложив интересные эксперименты. Я было начал работать над собственной книгой по внутренним механизмам Windows NT, но быстро понял, что дотянуть ее до уровня Дэйва у меня не выйдет. В надежде, что он вдруг согласится, я послал Дэйву предложение совместно поработать над третьим изданием. У меня задрожали коленки, когда он согласился взять меня на борт, и я признателен ему за этот шанс.
Как уже говорил Дэйв, мы многому научились друг у друга и отлично провели время. По-моему, Дэйв был мне полезнее, чем я ему, но сплав наших столь разных подходов сделал эту книгу лучше. Зачастую наши общие ресурсы позволяли решать такие сложные задачи, над которыми поодиночке мы корпели годами. Надеюсь, мы еще поработаем вместе над следующими изданиями.
Я также хочу поблагодарить Брайса Когсуэлла (Вrусе Cogswell) и Эдвина Брэша (Edwin Brasch) из Winternals Software за их терпение и поддержку в течение нескольких месяцев, которые я отдал этой книге.
Я должен выразить признательность Ричу Нивзу (Rich Neves) за то, что он оказался таким хорошим другом и официально разрешил мне тратить часть рабочего времени в IBM Research на эту книгу.
Мои родители, Николас и Вера Руссиновичи, поддерживали и ободряли меня на протяжении всех лет учебы, постоянно внушая мне, что учиться надо как можно больше. Мой отец, который ушел из жизни, пока я писал эту книгу, особенно гордился бы таким достижением.
И наконец, хочу поблагодарить жену, Сьюзан, моего самого дорогого человека в жизни. Она не только составляла компанию, жертвуя мне многие вечера и уикэнды, которые я посвящал написанию книги, но и постоянно подбадривала меня. Ее терпеливое отношение к моим вездесущим компьютерам несомненно заслуживает медали.
Сайт управляется системой
uCoz