РЕЦЕНЗИИ

Сорокина С., Тихонов А., Щербаков А. Программирование драйверов и систем безопасности. Учебное пособие. СПб: БХВ-Петербург; М., издатель - Молгачева С. В., 2003. - 256 с.

Системное программирование всегда было наиболее сложной сферой труда программиста. Даже такие задачи, как распознавание образов и рукописный ввод, вызывают скорее алгоритмические (математические, если угодно), но не собственно "программистские" трудности. Однако системное программирование под Windows является задачей вдвойне сложной - уж очень ревниво Microsoft оберегает свои тайны.

Предлагаемая небольшая по объему книжка состоит из пяти частей.

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

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

Третья часть посвящена сетевой архитектуре NT. Если вас интересует только создание "обычных" драйверов, ее можно пропустить, но знакомство с сетевыми компонентами ОС и соответствующими API всегда полезно - хотя бы для общего развития.

В четвертой части анализируется сетевая архитектура NT с точки зрения возможностей реализации средств защиты и расчета производительности. Именно в этой части даются рекомендации по встраиванию самодельных средств защиты и мониторинга в операционную систему.

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

Самый существенный недостаток книги - отсутствие форматов управляющих блоков и таблиц, используемых операционной системой. По собственному опыту мне известно, что грамотно оформленное описание структур данных зачастую дает больше для понимания алгоритмов работы операционной системы, чем ее исходный текст, не снабженный комментариями. Разумеется, Microsoft ограничивает доступ к подобным материалам, но часть информации все-таки имеется в DDK (Device Driver Kit) и IFS (Installable File System) Kit. Добраться до этих самых Kit’ов простому смертному не всегда возможно из-за их высокой стоимости, и включение части информации из них в книгу было бы очень полезным.

Несмотря на указанный недостаток, книга дает весьма четкое и ясное представление о структуре и функционировании Windows NT. Знакомство с ней может оказаться полезным всякому, кому интересно не только нажимать на кнопки, но еще и понимать, что же при этом происходит. Конечно, от читателя потребуется весьма высокая подготовка. По крайней мере он должен уметь профессионально программировать хотя бы на одном из традиционных языков высокого уровня, в том числе с прямым использованием функций API, разбираться в программах на обычном Си (не С++) и иметь представление об ассемблере.

Версия для печати