Основные черты программирования
Приведенный выше краткий обзор особенностей КЛОС показывает, что при разработке подсистем на базе КЛОС — как подсистем самой операционной системы, так и подсистем «пользователя» — целесообразно использовать естественную технологию КЛОС. Это кластерная технология построения иерархических подсистем.
Базовый объект технологии — кластер — обладает следующими крайне важными особенностями: ориентацией на объектное программирование, асинхронностью выполнения, адекватной синхронизацией и защищенностью.
Особенно существенна связь объекта с синхронизацией операций над объектом, поскольку обычно наиболее трудно обнаруживаемые ошибки в асинхронных подсистемах связаны именно с неверной синхронизацией. При централизации всех синхронизационных действий в самом объекте синхронизации ошибки будут находиться проще и их труднее будет сделать. Более того, защищенность касается не только памяти кластеров (отсутствие общих данных и передача параметров по значению), но и межкластерных ссылок (подключений) и взаимной идентификации кластеров. Механизм подключений, защищаемых ядром от кластеров, в сочетании с возможностью гибкой перенастройки связей обеспечивает удобную защиту такого рода.
Вместе с тем подход к защите в КЛОС не страдает догматизмом — в отлаженных подсистемах межкластерная защита может быть снята без переделки программ.
Указанные свойства базового объекта сохраняются и для составных объектов — подсистем. По своему внешнему интерфейсу подсистема вообще неотличима от кластера и это является отражением важного принципа независимости клиента от способа реализации объекта. Можно ли реализовать объект в виде одного кластера или нужна внутренняя асинхронность в объекте и потребуется создать целую подсистему — это никак не влияет ни на те кластеры—клиенты, которые будут обращаться на входы объекта, ни на программиста, использующего объект как компонент своей подсистемы.
Метки: кластер, ОС, КЛОС