Иван Савватеев

Моли Б.. Unix/Linux. Теория и практика программирования. М.: Кудиц-образ, 2004. - 576 с.    

Литература по "неэкономическому" программированию, в особенности на платформе Unix/Linux, занимает на книжных прилавках очень скромное место. Частично заполнить этот пробел решило издательство "Кудиц-образ".

Рецензируемая книга посвящена самым разнообразным вопросам программирования в Unix. Она состоит из 15 глав.

Первая глава - вводная, в ней дается общее представление о роли ОС, и в частности Unix, в системе программного обеспечения вычислительной машины; кроме того, рассматриваются функции команды more и пишется ее упрощенная версия.

В последующих главах разбираются следующие вопросы:

- идентификация пользователей;

- обработка файлов;

- работа с каталогами;

- файловые системы;

- программирование устройств (в особенности терминалов) и управление соединениями;

- сигналы и событийно ориентированное программирование;

- процессы и программы;

- программирование в командном процессоре shell;

- перенаправление ввода-вывода и программные каналы;

- взаимодействие локальных и удаленных процессов;

- соединения, протоколы и Web-серверы;

- использование дейтаграмм и серверы лицензий;

- нити (параллельные процессы);

- средства межпроцессного взаимодействия.

Завершается книга предметным указателем.

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

Книга не является учебником по Си; предполагается, что читатель достаточно хорошо знаком с этим языком. Естественно, требуется умение программировать на нем, хотя и не обязательно в Unix. Сам автор ставит целью добиться "понимания системного программирования" - это издание очень хорошо, хотя и в упрощенном виде, показывает, как в действительности все это работает.

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

Единственным большим упущением является отсутствие CD-ROM’а или хотя бы дискеты с текстами программ, приведенных в книге. Пусть даже самые длинные из них занимают всего несколько страниц, однако перспектива набирать их вручную не очень вдохновляет.

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

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