А.В.Гордеев, А.Ю.Молчанов Системное программное обеспечение «Питер». 2001, 736 с.: ил. |
Хорошо известно, что исторически программисты довольно давно поделились на две большие касты: тех, кто непосредственно общается с компьютером, и тех, кому ближе постановка задачи и ее решение. Первых назвали системными, а других — прикладными программистами. Казалось бы, нынешнее время приблизило к компьютеру всех, но круг забот у программистов остался своим. Вот и последние редакции государственного образовательного стандарта по специальностям направления «Информатика и вычислительная техника» предписывает для них раздельное обучение. Потому следует признать весьма актуальным издание учебника «Системное программное обеспечение», подготовленное на базе курсов, читавшихся в Санкт-Петербургском государственном университете аэрокосмического приборостроения. Естественно, что книга предназначена для студентов технических вузов, но она может быть рекомендована и обычным подготовленным пользователям, стремящимся расширить свои знания в данной области. Весь материал сконцентрирован в двух частях. Одна из них посвящена операционным системам и средам, а другая — трансляторам, формальным языкам и грамматикам.
Авторы придерживаются традиционного понимания системного программного обеспечения (СПО). Они полагают, что программы и их комплексы являются общими для всех, кто совместно использует технические средства компьютера для создания новых программ и работы с существующими. Таким образом, СПО включает следующие устойчивые группы: операционные системы (ОС), системы управления файлами (СУФ), интерфейсные оболочки для взаимодействия пользователя ОС и программной среды, системы программирования и утилиты. В учебнике вводятся понятия операционной среды как программной, в которой выполняются прикладные программы пользователей, вычислительного процесса и ресурса. Изложены здесь и основные способы управления вычислительными процессами, виды ресурсов, а также приведена классификация ОС. Отдельная глава посвящена вопросам управления задачами и памятью с помощью ОС и тому, как это делается на современных PC. Иллюстрация взаимодействия ОС с аппаратной платформой в курсе проводится на микропроцессорах i80Ё86. Весьма подробно рассмотрены концепции организации в ОС управления вводом-выводом файловых систем. Также изложены принципы архитектуры ОС и интерфейсов прикладного ПО (API), а реализация его функций показана на различных уровнях: ОС, системы программирования и с помощью внешних библиотек. Приведен пример платформно-независимого интерфейса POSIX. Имеются тексты программ для Windows (WinAPI) и для Linux (POSIX API).
Выработке актуальных навыков программирования посвящены главы, в которых рассматривается проектирование параллельных взаимодействующих вычислительных процессов и описываются современные ОС, в частности UNIX, Linux, OS/2 Warp и QNX.
Системная поддержка средств программирования охвачена в книге материалами глав о формальных языках и грамматиках, регулярных и контекстно-свободных языках (КСЯ), их классах и грамматиках. Кроме того, читатель знакомится с основными принципами построения трансляторов и с общей схемой их работы, в том числе с компиляторами и интерпретаторами, таблицами идентификаторов и лексическими (сканерами) и синтаксическими анализаторами, а также с проблемами генерации и оптимизации кода. Отдельная глава рассказывает о современных системах программирования, приводя в качестве примеров таких систем предложенные корпорациями Borland Pascal, Delphi, C++ Builder и Microsoft Visual Basic, Visual C++. Причем важно, что делается это в историческом контексте. Очень кратко в книге отражена концепция .NET и системы программирования под ОС Linux и UNIX, в частности программирование проекта GNU и Borland Kylix. Разработка ПО для Интернета представлена практически в виде отсылочной информации, касающейся языков HTML, Perl, Java и Java Script.
Теперь о впечатлениях от книги. Несомненно, она будет встречена читателями с интересом, чему способствует и то обстоятельство, что издатели придерживаются высокого стандарта, выпуская свою продукцию на рынок. Это относится не только к дизайну, но прежде всего — к содержанию. Каждая глава снабжена контрольными вопросами и задачами, что повышает эффективность работы читателя над книгой. Той же цели служат списки доступной литературы и корпоративных адресов, где можно получить дополнительные сведения, полезные для углубления знаний по курсу. Отдельно стоит отметить достигнутый авторами добротный стиль подачи информации.