«Системное программирование в Windows 2000»
Автор: Ал Вильямс
Издательство: «Питер», Санкт-Петербург.
Дата издания: 2001 г.
Объем: 624 с.
Книга Ала Вильямса «Системное программирование в Windows 2000» представляет собой выполненный издательством «Питер» перевод оригинала, изданного The Coriolis Group.
В этой работе дается представление об операционной системе Windows 2000, что называется, «с высоты птичьего полета». При этом читатель получит как минимум необходимых знаний об истории ее создания, вариантах ОС, архитектуре и особенностях системы, так и подробную информацию о средствах разработки программного обеспечения.
Материал книги организован следующим образом: сначала дается подробное изложение темы, а затем - краткие рекомендации по решению тех или иных задач. Жаль, что автор избегает библиографических ссылок, ограничиваясь лишь упоминанием ресурсов в Internet. Единственное исключение - ссылка на книгу по ActiveX, да и та принадлежит перу… редактора.
А. Вильямс дополнил основную часть специальным приложением, в котором указал на возможности Windows 2000, которым не хватило места на страницах книги, но это ни в коей мере не умаляет ее достоинств.
Книга состоит из двенадцати глав и двух приложений, а также включает компакт-диск со всеми листингами приведенных примеров. Первая глава начинается с рассказа об ActiveX; автор разъясняет возможности данной технологии, в том числе сравнивая ее с Java.
Затем рассматриваются вопросы, связанные с выполнением программ под управлением Windows 2000. Возможности новой ОС продемонстрированы также на примерах различных способов запуска программ; создания потоков при помощи интерфейса Windows API, стандартной библиотеки C++ и в MFC; использования локальной памяти потока, нитей и альтернатив потокам.
Развитие ОС давно требует тщательного анализа проблем синхронизации исполняемых программ, и в этой книге автор уделяет им достаточно места. В частности, речь идет о синхронизации потоков с помощью ряда механизмов, базирующихся на объектах и специальных вызовах. Конкретные примеры решений, предложенные в данной главе, касаются выбора метода синхронизации, предотвращения взаимного блокирования потоков, использования событий, мьютексов, критических секций и семафоров, а также блокирования переменных и т. д.
Кроме того, читатели могут познакомиться с возможностями Windows 2000, связанными с обработкой многих потоков и задач. Автор подробно рассказывает о том, как происходят обмен данными между процессами и управление памятью с использованием механизмов работы с очередями к областям памяти, каналам и компьютерам сети.
Также в одной из глав рассматриваются подходы и решения, относящиеся к безопасности Windows. Принятая разработчиками ОС концепция сведена к двум основным функциям: проверке уровня доступа и контролю действий клиента. Данные функции базируются на идентификаторах, ключах доступа и других механизмах, в частности, работающих со спецификациями Kerberos, системами обеспечения пользователей ключами и контроля их использования.
Автор уделяет должное внимание и системным журналам Windows 2000.
Среди рассмотренных в книге функций Windows 2000 следует выделить возможность работы с графической оболочкой с помощью библиотеки шаблонов ATL (ActiveX Template Library), существенно облегчающей разработку серверов ActiveX.
Актуальность программных продуктов в «эпоху» Internet принято ставить в зависимость от того, насколько сложно их использовать в сети. Предпоследняя глава книги посвящена программированию сетевых приложений. Из нее читатели узнают, какие методы работы с Internet поддерживает Windows 2000, как использовать ресурсы URL, объектные модели сценариев, диалоговые окна HTML или Internet-механизмы библиотеки MFC.
И, наконец, Ал Вильямс рассказывает о консольных приложениях, создаваемых с помощью средств Win-dows 2000, и о службах - программах, работающих вне контекста пользователя.
Второе приложение к книге называется «Windows 2000: одиссея программирования». По мнению автора, в ближайшем будущем Windows 2000 станет стандартной платформой, особенно для корпоративных пользователей, а самой серьезной угрозой традиционным методам разработки приложений для Windows является Internet, что, скорее всего, приведет к развитию независимых от платформы языков программирования.