Рецензии

Александр Чубуков

Фролов А. В., Фролов Г. В. Программирование для Windows NT. Части 1 и 2. (Библиотека системного программиста, т. 26). М, ДИАЛОГ-МИФИ, 1996.

В двухтомнике “Программирование для Windows NT” рассмотрены основы функционирования WinNT, которая в последнее время как у нас, так и за рубежом приобрела среди профессиональных ОС широкую популярность, чему способствовало, в частности, появление и распространение все большего числа 32-разрядных приложений. Современные инструментальные средства программирования на различных языках высокого уровня позволяют вести разработку приложений для Windows 95 и NT, практически не имея основательных знаний об устройстве самой ОС. Надо отдать должное разработчикам инструментальных средств (Delphi, JBuilder, PowerBuilder и т. п.) - созданные с их помощью программы во многих случаях отвечают необходимым требованиям пользователей. Однако когда к программе предъявляются дополнительные требования, например по быстродействию, надежности или многопоточности, возникают проблемы. Их решение возможно лишь при оптимальном взаимодействии приложения с ОС, в которой оно “трудится”. При написании коммерческих программ-приложений аналогичные сложности неизбежно выплывают на поверхность и требуют соответствующего решения, в том числе и при создании корпоративных систем. Хотя современные инструментальные средства, как правило, предоставляют разработчику возможности системного программирования, все же для серьезной адаптации, оптимизации и повышения надежности приложений необходимы дополнительные знания по меньшей мере основ функционирования ОС. Например, в Delphi с целью построения многопоточных приложений предусмотрен абстрактный класс Tthread. Для использования этого класса совершенно необходимы четкие представления о том, как организовываются и исполняются потоки в пределах одного приложения, в противном случае попытка реализации многопоточной программы неизбежно приведет к некорректной работе и даже к зависанию системы или ее части.

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

В первом томе рассмотрены такие нетривиальные с точки зрения программирования задачи, как управление памятью, мультизадачность, управление процессами, синхронизация задач, работа с файловой системой NTFS. Достаточно подробно изложены вопросы работы с виртуальной памятью, ее организации и управления ею. При рассмотрении проблем мультизадачности уделено внимание запуску задач и процессов и управлению запущенными задачами, а также вопросам синхронизации задач с помощью событий. При описании файловой системы NTFS показаны ее преимущества по сравнению с 16-разрядной файловой системой FAT, приведены основные функции для работы с файлами и, главное, особенности использования этих функций.

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

Приводимые в издании многочисленные исходные тексты разнообразных программ и примеров при их изучении могут оказать существенную помощь как системным программистам, так и разработчикам прикладных программ для Win32 на языке Си++. А поскольку авторы раскрывают механизм функционирования Windows NT, то книга может оказаться весьма полезной (в той или иной части) для программиста, создающего профессиональные приложения в этой среде, в том числе и с помощью не Microsoft’овских инструментальных средств, таких, как Delphi фирмы Inprise. Авторы анализируют основные различия ОС, приводя данные, основанные на собственном опыте работы с этими системами.

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

Телефон издательства “Диалог-МИФИ”: (095) 320-4377.

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