Основные принципы построения ОС
Принцип
модульности
Под модулем в общем случае понимают функционально законченный элемент системы, выполненный в соответствии с принятыми межмодульными интерфейсами. По своему определению модуль предполагает возможность без труда заменить его на другой при наличии заданных интерфейсов. Способы обособления составных частей ОС в отдельные модули могут существенно различаться, но чаще всего разделение происходит именно по функциональному признаку. В значительной степени разделение системы на модули определяется используемым методом проектирования ОС (восходящее или нисходящее проектирование).
Особо важное значение при построении ОС имеют привилегированные, повторно входимые и реентерабельные модули, так как позволяют более эффективно использовать ресурсы вычислительной системы. Достижение реентерабельности реализуется различными способами. В некоторых системах реентерабельность программы получается автоматически, благодаря неизменяемости кодовых частей программ при исполнении (из-за особенностей системы команд машины), а также автоматическому распределению регистров, автоматическому отделению кодовых частей программ от данных и помещению последних в системную область памяти. Естественно, что для этого необходима соответствующая аппаратная поддержка. В других случаях это достигается программистами за счет использования специальных системных модулей.
Принцип модульности
отражает технологические и
Принцип функциональной избирательности
В ОС выделяется некоторая
часть важных модулей, которые должны
постоянно находиться в оперативной
памяти для более эффективной
организации вычислительного
Принцип генерируемости ОС
Основное положение
этого принципа определяет такой
способ исходного представления
центральной системной
Упомянутый раньше
принцип модульности
В остальных современных распространенных ОС для персональных компьютеров конфигурирование ОС под соответствующий состав оборудования осуществляется на этапе инсталляции, а потом состав драйверов и изменение некоторых параметров ОС может быть осуществлено посредством редактирования конфигурационного файла.
Принцип функциональной избыточности
Принцип функциональной
избыточности: Этот принцип учитывает
возможность проведения одной и
той же работы различными средствами.
В состав ОС может входить несколько
типов мониторов (модулей супервизора,
управляющих тем или другим видом
ресурса), различные средства организации
коммуникаций между вычислительными
процессами. Наличие нескольких типов
мониторов, нескольких систем управления
файлами позволяет
Принцип
виртуализации
Принцип виртуализации:
построение виртуальных ресурсов, их
распределение и использование
в настоящее время применяется
практически в любой ОС. Этот принцип
позволяет представить
Наиболее естественным
и законченным проявлением
- единообразная по
логике работы виртуальная
- произвольное количество
виртуальных процессоров,
- произвольное количество
внешних виртуальных устройств,
Одним из аспектов виртуализации является организация возможности выполнения в данной ОС приложений, которые разра-батывались для других ОС. Другими словами, речь идет об организации нескольких операционных сред.
Принцип независимости программ от внешних устройств
Принцип совместимости
Одним из аспектов совместимости является способность ОС выполнять программы, написанные для других ОС или для более ранних версий данной ОС, а также для другой аппаратной платформы. Необходимо разделять вопросы двоичной совмести-мости и совместимости на уровне исходных текстов приложений.
Двоичная совместимость
достигается в том случае, когда
можно взять исполняемую
Совместимость на уровне исходных текстов требует наличия соответствующего транслятора в составе системного программного обеспечения, а также совместимости на уровне библиотек и системных вызовов. При этом необходима перекомпиляция имеющихся исходных текстов в новый выполняемый модуль.
Гораздо сложнее достичь двоичной совместимости между процессорами, основанными на разных архитектурах. Для того чтобы один компьютер выполнял программы другого (например, программу для ПК типа IBM PC желательно выполнить на ПК типа Macintosh фирмы Apple), этот компьютер должен работать с машинными командами, которые ему изначально непо-нятны. В таком случае процессор типа 680×0 (или PowerPC) должен исполнять двоичный код, предназначенный для процессора i80×86. Процессор 80×86 имеет свои собственные дешифратор команд, регистры и внутреннюю архитектуру. Процессор 680×0 не понимает двоичный код 80×86, поэтому он должен выбрать каждую команду, декодировать ее, чтобы определить, для
чего она предназначена,
а затем выполнить
Одним из средств
обеспечения совместимости
Принцип открытости и наращиваемости
Принцип открытости и наращиваемости : Открытая операционная система доступна для анализа как пользователям, так и системным специалистам, обслуживающим вычислительную систему. Наращиваемая (модифицируемая, развиваемая) ОС позволяяет не только использовать возможности генерации, но и вводить в ее состав новые модули, совершенствовать существующие и т.д. Другими словами, следует обеспечить возможность легкого внесения дополнений и изменений в необходимых случаях без нарушения целостности системы. Прекрасные возможности для расширения предоставляет подход к структурированию ОС по типу клиент-сервер с использованием микро-ядерной технологии. В соответствии с этим подходом ОС строится как совокупность привилегированной управляющей программы и набора непривилегированных услуг (серверов). Основная часть ОС остается неизменной, и в то же время могут быть добавлены новые серверы или улучшены старые. Этот принцип иногда трактуют как расширяемость системы.
Принцип мобильности
Принцип мобильности: операционная система относительно легко должна перено- ситься с процессора одного типа на процессор другого типа и с аппаратной платформы одного типа, которая включает наряду с типом процессора и способ организации всей аппаратуры компьютера (архитектуру вычислительной системы), на аппаратную платформу другого типа. Заметим, что принцип переносимости очень близок принципу совместимости, хотя это и не одно и то же. Создание переносимой ОС аналогично написанию любого перено-симого кода, при этом нужно следовать некоторым правилам:
- большая часть
ОС должна быть выполнена на
языке, имеющемся на всех
- важно минимизировать или, если возмож-но, исключить те части кода, которые непосредственно взаимодействуют с аппаратными средствами. Зависимость от аппаратуры может иметь много форм. Некоторые очевидные формы зависимости включают прямое манипулирование регистрами и другими аппаратными средствами. Наконец, если аппаратнозависимый код не может быть полностью исключен, то он должен быть изолирован в нескольких хорошо локализуемых модулях. Аппаратнозависимый код не должен быть распределен по всей системе. Например, можно спрятать аппаратно-зависимую структуру в програмно задаваемые данные абстрактного типа.
Введение стандартов POSIX преследовало цель обеспечить переносимость создаваемого программного обеспечения.
Принцип обеспечения безопасности вычислений
Принцип обеспечения
безопасности вычислений: обеспечение
безопасности при выполнении вычислений
является желательным свойством
для любой
Правила безопасности защищают ресурсы одного пользователя от других и устанавливают квоты на ресурсы для предотвращения захвата всех ресурсов одним пользователем.
Основы стандартов в области безопасности вычислений были заложены в документе под названием «Критерии оценки наземных компьютерных систем» и изданном Национальным центром компьютерной безопасности США (NCSC – National Computer Security Center) в 1983 г. В соответствии с ним безопасной считается система, посредством специальных механизмов контролирующая доступ к информации так, что доступ к ней получают только лица с соответствующими полномочиями или процессы, выполняющиеся от их имени.
Определено 4 уровня безопасности А (высший) – D (низший). При этом в класс D попадают системы, у которых выявлено несоответствие всем трём высшим классам. Класс С делится на два уровня: С1 обеспечивает защиту данных от ошибок пользователя, но не от злоумышленников, а С2 защищает данные в обоих ситуациях. На уровне С2 должны присутствовать:
– секретность входа
(идентифицируя пользователей
– контроль доступа (информирование владельца данных о лицах, имеющих доступ к данным и их правах на пользование ими);
– наблюдение и учет
за ситуацией с безопасностью (фиксация
попыток получить доступ, создать
или удалить системные реестры)
– защита памяти (удаление содержимого памяти предыдущего сеанса работы перед началом нового).
Системы уровня В реализуют контроль доступа (каждый пользователь имеет рейтинг защиты и доступ только в соответствии с этим рейтингом). Эти системы защищены от ошибочного поведения пользователя.
Уровень А требует дополнительно формального, математически доказанного соответствия системы требованиям безопасности. Однако А-уровень занимает своими управляющими механизмами до 90% процессорного времени. Более безопасные системы не только снижают продуктивность, но и ограничивают число доступных приложений.
Различные коммерческие структуры, например банки, поддерживают безопасность своих систем, как правило на уровне С2.
Микроядерные ОС
Микроядро ОС – некоторая
стержневая её часть, служащая основой
модульных и переносимых
Ядро рассматривается как небольшой модуль, работающий в приоритетном режиме и поддерживающий остальную часть ОС, рассматриваемую в виде набора серверных приложений.Основой многих микроядерных систем является технология микроядра Масh, созданная в университете Карнеги Меллон. Микроядро включает только те функции, которые необходимы для определения абстрактных сред обработки приложений, а также для совместной работы их в системе клиент-сервер. В результате микроядро обеспечивает только следующие пять типов сервисов:
− управление виртуальной памятью;
− задания и потоки;
− межпроцессные коммуникации (IPC Inter-Process-Communication);
− управление поддержкой ввода-вывода и прерываниями;
− сервисы набора хоста (Host − главный компьютер, сейчас ПК с IP-адресом) и процессора.
Другие подсистемы (системы управления файлами, поддержка внешних устройств, программные интерфейсы) размещаются в системных сервисах и работают в форме приложений микроядра. Микроядро создаёт прикладную мультипрограммную среду, обеспечивающую использование виртуальных мультипроцессов (т.е. без требования о действительной мультипроцессности системы).
Благодаря малым
размерам и поддержке системных
сервисов программирования и прикладных
программ микроядро проще ядра монопольных
ОС. В микроядре функции ОС разбиваются
на модули, конфигурируемые различными
способами, позволяя наращивать ОС добавлением
новых модулей. Микроядра также
создают стандартную
Определенной сложностью использования микроядерного подхода на практике является замедление скорости выполнения системных вызовов при передаче сообщений через микроядро по сравнению с классическим подходом. Однако имеет место и обратное явление: из-за малых размеров кода микроядра хорошо поддерживают режим реального времени, требующихся для мультимедиа, управления устройствами и высокоскоростных коммуникаций.
Наиболее ярким представителем микроядерных ОС является ОС реального времени QNХ. Её микроядро поддерживает только планирование и диспетчеризацию процессов, взаимодействие процессов, обработку прерываний и сетевые службы низшего уровня (см. далее). Объем ядра 8-46 Кбайт.
Минимальная QNX кроме ядра содержит менеджер процессов (создание процессов и управление ими и памятью), файловую систему и менеджер устройств. Эти дополнительные компоненты находятся вне ядра и не увеличивают его размеров.
Монолитные
операционные системы
Монолитные ОС отличаются тем, что, несмотря на их сильную структурированность, в них трудно удалить один из уровней многоуровневой структуры. Также сложно и добавить в такую ОС новые
функции. Поэтому
такие ОС реализуются на основе технологии
«клиент-сервер», позволяющей с минимальными
трудностями реализовать
Технология «клиент-сервер» предполагает наличие двух программных компонентов:
1) клиента, являющегося
потребителем некоторого
2) сервера, являющегося поставщиком этого сервиса.
Взаимодействие между клиентом и сервером стандартизируется, следовательно, сервер может обслуживать клиентов, реализованных различными способами. Инициатором обмена обычно является клиент, посылающий серверу запрос на обслуживание. Один и тот же программный компонент может быть по отношению к другим компонентам, как клиентом, так и сервером.Модель «клиент-сервер» является удобным концептуальным средством ясного представления функций любого программного элемента. Она применяется не только при построении ОС, но и на всех уровнях программного обеспечения.При поддержке монолитных ОС возникает ряд проблем, связанных с тем, что все функции макроядра работают в едином адресном пространстве. Это − возникновение конфликтов между частями ядра, сложность подключения к ядру новых драйверов и т.п. Поэтому микроядерные системы разрабатываются сейчас чаще, чем монолитные. Следует отметить также, что использование технологии «клиент-сервер» не обязательно делает систему микроядерной. Например, ОС Windows NT, построенная по технологии «клиент-сервер», тем не менее, является монолитной.
Принципы построения интерфейсов ОС
ОС всегда выступает
как интерфейс между
1) управления процессами, в том числе:
1.1 запуск, остановка и снятие задач с выполнения;
1.2 задание и модификация приоритета задачи;
1.3 взаимодействие задач между собой (механизмы сигналов, семафорические примитивы, очереди, конвейеры, почтовые ящики);
1.4RРС (remote procedure call) − удалённый вызов подпрограмм
2) управление памятью, в том числе:
2.1 запрос на выделения блока памяти;
2.2 освобождение памяти;
2.3 изменение параметров
блока памяти (статус доступа,
блокирование или
2.4 отображение файлов на память;
3) управление вводом-выводом, в том числе:
3.1 запрос на управление виртуальными устройствами;
3.2 файловые операции (запросы к файловой системе на создание, изменение и удаление данных).
Пользовательский
интерфейс реализуется с
Мультипрограммность
и многозадачность
По числу одновременно выполняемых задач операционные системы можно разделить на два класса:
многозадачные (Unix, OS/2, Windows);
однозадачные (например, MS-DOS).
Многозадачная ОС, решая
проблемы распределения ресурсов и
конкуренции, полностью реализует
мультипрограммный режим в
Приоритеты задач. Наследование приоритетов в ОС реального времени
Быстродействие ПЛК
или компьютера влияет на величину
динамической погрешности системы
автоматизации и запас ее устойчивости
при наличии обратной связи. Для
улучшения этих характеристик используют
быстродействующие модули ввода-вывода
и компьютер (ПЛК) с высокопроизводительным
процессором. Это позволяет улучшить
динамические характеристики системы,
однако большинство операционных систем
(ОС) не могут обеспечить одно и то
же время выполнения задачи при повторных
ее запусках, т.е. время выполнения является
случайной величиной. В некоторых
случаях непредсказуемость
Пусть, к примеру,
автомат подсчитывает количество бутылок
на конвейере. Если бутылки появляются
напротив датчика с периодом 1 с,
а время реакции системы на
появление бутылки составляет 0,7
с, то система кажется
Для устранения
этой проблемы был разработан
класс операционных систем, которые
обеспечивают
Стандарт POSIX {Portable Operating System Interface for Computer Environments) IEEE 1003.1 даёт следующее определение РВ: «реальное время в операционных системах — это способность операционной системы обеспечить требуемый уровень сервиса в определённый промежуток времени». Следовательно, ОС РВ отличаются своим поведением, а не внутренним принципом построения-Поэтому если вероятность появления недопустимо больших задержек достаточно низка для достижения требуемого уровня сервиса (например, если она меньше допустим вероятности отказа системы), то такая ОС в конкретном применении может рассматриваться как ОС РВ. В частности, в соответствии с определением стандарта POSIX операционная система Windows ХР при управлении медленными (тепловыми) процессами может рассматриваться как ОС РВ

- Основные принципы построения систем видеонаблюдения
- Основные принципы построения системы мониторинга экономического состояния промышленного предприятия
- Основные принципы построения системы отбора кадров
- Основные принципы построения цифровых измерительных приборов
- Основные принципы построения этики
- Основные принципы природопользования
- Основные принципы проведения закаливающих процедур
- Основные принципы построения и функционирования бюджетной системы Российской Федерации
- Основные принципы построения и функционирования логистической информационной системы
- Основные принципы построения и функционирования системы государственной службы
- Основные принципы построения локальных сетей
- Основные принципы построения локальных сетей
- Основные принципы построения локальных сетей
- Основные принципы построения налоговой политики и инструменты воздействия налоговой системы на экономику Казахстана