Э. Таненбаум, М. ван Стеен. «Распределенные системы. Принципы и парадигмы».
Полвека длится эпоха современных компьютерных систем, и за это время с ними произошли необычайные изменения. Если на заре становления компьютерных технологий организации имели в своем распоряжении в лучшем случае лишь несколько единиц вычислительной техники, то сегодня информационную инфраструктуру предприятий составляет множество соединенных между собой устройств с выходом в высокоскоростные глобальные сети. На смену централизованным системам, состоящим из одного компьютера и его периферии, пришли сети, т. е. распределенные системы.
В своей новой книге «Распределенные системы. Принципы и парадигмы» ее авторы Эндрю Таненбаум и Маартен ван Стеен дают, по их собственным словам, «достаточно вольное определение базового понятия»: «Распределенная система — это набор независимых компьютеров, которые их пользователи воспринимают как единую объединенную систему». Этим утверждением очерчивается круг рассматриваемых в книге вопросов, поскольку оно охватывает как аппаратную, так и программную составляющую современной информационной инфраструктуры.
Э. Таненбаум — личность масштабная, не нуждающаяся в представлении. Появившиеся в Советском Союзе еще в конце 70-х гг., его книги сразу же стали бестселлерами среди специалистов по операционным системам (автор долгие годы работал в области создания компиляторов, автоматических средств построения компиляторов, а также конструирования операционных систем, компьютерных сетей и распределенных систем). В настоящее время профессор Таненбаум возглавляет отделение вычислительной техники университета Врие в Амстердаме. За его плечами — колоссальный практический опыт руководства выполнением ряда успешных проектов по разработке известных программных пакетов (для создания переносимых компиляторов Amsterdam Compiler Kit, а также миниатюрного клона UNIX — MINIX). В настоящее время он занимается разработкой глобальной распределенной системы, допускающей масштабирование на миллионы пользователей, и при этом сосредоточился на вопросах локализации мобильных агентов, архитектуре систем и адаптивном распределении и тиражировании. Над этим же проектом работает и другой автор — Маартен ван Стеен. Их плодотворное сотрудничество увенчалось написанием пяти книг и более 90 статей.
Представляемый фундаментальный труд состоит из двух частей, где, соответственно, рассматриваются принципы и парадигмы. Описанию принципов построения распределенных систем посвящены семь начальных глав. В них излагаются такие базовые понятия, как процессы и связь между ними посредством правил (протоколов), именование, синхронизация, непротиворечивость и тиражирование, защита от сбоев и защита от проникновения извне. Определяя в качестве основной задачи, стоящей перед распределенными системами, упрощение доступа к удаленным ресурсам и обеспечение их совместного использования, авторы отмечают одно из их основных преимуществ — достижение экономии за счет организации коллективной работы. Платой за это является возникновение проблем обеспечения безопасности, решение которых по мере числа подключений и увеличения степени совместного использования ресурсов становится все более важным. К основополагающим характеристикам распределенных систем относят также прозрачность, открытость, масштабируемость. Книга изобилует примерами (фрагментами программ), иллюстрирующими взаимодействие в клиент-серверной архитектуре. Описание систем защиты подкрепляется конкретными образцами известных продуктов (Kerberos, SESAME).
Реальные распределенные системы обычно строятся на основе некой парадигмы (например, «все кругом — это файлы»). В последних главах книги рассматриваются различные парадигмы — системы объектов, распределенные файловые системы (в частности, NFS, Coda, Plan9, XFS, SFS), системы документов и системы согласования, описываются и сравниваются построенные на их основе реальные системы.
Обширный преподавательский опыт авторов сказывается в методическом подходе к построению книги: главы организованы как циклы лекций, и каждая из них завершается подробным списком вопросов и заданий. В конце приводится аннотация литературы для дополнительного изучения темы, а также список цитируемых работ. Труд адресован студентам старших курсов учебных заведений, где готовят специалистов в области компьютерных дисциплин. Полезна она будет и преподавателям, а также всем тем, кто хотел бы составить целостное представление об устройстве современного компьютерного мира, ресурсы которого в подавляющем большинстве случаев оказываются распределенными.
Книгу (Э. Таненбаум, М. ван Стеен, «Распределенные системы. Принципы и парадигмы». — ПИТЕР, 2003 г. — 878 стр.) можно приобрести в книжных магазинах. Ориентировочная цена — 462 руб.