Принципы построения операционных систем
Наиболее важными принципами, закладываемыми в основу построения операционных систем, являются следующие: принцип модульности, принцип виртуализации, принцип мобильности (переносимости), принцип совместимости, принцип открытости, принцип генерации операционной системы из программных компонентов. Необходимо отметить, что не все из перечисленных принципов реализованы в существующих операционных системах.
· Принцип модульности. Операционная система строится из множества программных модулей. Под модулем понимают функционально законченный элемент системы, выполненный в соответствии с принятыми межмодульными интерфейсами. По своему определению модуль предполагает легкий способ его замены другим при необходимости. Принцип модульности отражает технологические и эксплуатационные свойства системы. Наибольший эффект его использования достижим в случае, когда принцип распространен одновременно на операционную систему, прикладные программы и аппаратуру. Принцип модульности является одним из основных в UNIX-системах.
· Принцип виртуализации. Любая операционная система, являясь средством распределения ресурсов и организуя по определенным правилам управление процессами, скрывает от пользователя и его приложений реальные аппаратные и иные ресурсы, заменяя их некоторой абстракцией. Операционная система существенно изменяет наши представления о компьютере. Она виртуализирует его, добавляя ему функциональности, удобства управления, предоставляя средства организации параллельных вычислений и т.д. Именно благодаря операционной системе мы воспринимаем компьютер совершенно иначе, чем без нее. Одним из аспектов принципа виртуализации является независимость программ от внешних устройств. Связь программы с этими устройствами производится не в процессе ее создания, а в период планирования исполнения. В результате перекомпиляция программы при работе с новым устройством не требуется.
· Принцип мобильности. Мобильность означает возможность легкого переноса операционной системы на другую аппаратную платформу. Мобильная операционная система обычно разрабатывается с помощью специального языка высокого уровня, предназначенного для создания системного программного обеспечения. Одним из таких языков является язык C, который был специально создан для того, чтобы написать на нем очередную версию операционной системы UNIX. В последние годы язык C++ также стал использоваться для этих целей, поскольку идеи объектно-ориентированного программирования оказались плодотворными не только для прикладного, но и для системного программирования.
· Принцип совместимости. Соблюдение этого принципа гарантирует способность операционной системы выполнять программы, написанные для других систем или для более ранних версий данной операционной системы, а также для другой аппаратной платформы.
· Принцип открытости. Этот принцип иногда трактуют как принцип расширяемости системы. Открытая операционная система доступна для анализа как пользователям, так и системным специалистам. Прекрасные возможности для расширения ОС предоставляет подход к структурированию операционной системы по типу клиент-сервер с использованием микроядерной технологии. В соответствии с этим подходом операционная система строится как совокупность привилегированной управляющей программы и набора непривилегированных служб – «серверов». Основная часть операционной системы может оставаться неизменной, в то время как добавляются новые службы или изменяются старые. К открытым ОС прежде всего следует отнести UNIX-системы и Linux.
· Принцип генерируемости. Согласно этому принципу исходное представление ядра системы должно обеспечивать возможность настройки, исходя из конкретной конфигурации вычислительного центра и круга решаемых задач. Под генерацией ОС понимается ее сборка из отдельных программных модулей. Процесс генерации осуществляется с помощью специальной программы-генератора. В наши дни при использовании персональных компьютеров с принципом генерируемости можно столкнуться разве что при работе с Linux. В этой системе имеется возможность не только использовать какое-либо готовое ядро, но и самому сгенерировать (скомпилировать) такое ядро, которое будет оптимальным для данного конкретного персонального компьютера и решаемых на нем задач. В остальных ОС конфигурирование системы под соответствующий состав оборудования осуществляется на этапе установки, причем в большинстве случаев не представляется возможным серьезно вмешаться в этот процесс.
Дата добавления: 2014-12-13; просмотров: 5400;