Принципы построения ос

  1. принцип модульности. Модуль – функционально законченный элемент, выполняемый в соответствии с принятым межмодульным интерфейсом. Модуль выделяется по функциональному признаку. Модульная организация позволяет легко (из)заменять неправильно работающие модули в ОС. Чаще всего используются реентерабельные и привилегированные модули.
  2. принцип функциональной избирательности. Для организации эффективной работы ОС, необходимо выделить некоторые модули и хранить их в ОЗУ. Эти модули составляют ядро ОС. Ядро:
    1. Модули по управлению системы прерываний;
    2. Средство управления выполнения программ (загрузка, приостановка, остановка);
    3. Модули по управлению процессом (распределение процессорного времени), т.е. диспетчеры программ;
    4. Модули по управлению выделения памяти. В зависимости от ОС в ядро могут ещё входить другие модули;
    5. Транзитные модули (загружаются в ОЗУ по мере необходимости, при нехватке ОЗУ могут быть выгружены из памяти).
  3. принцип генерируемости ОС. Подразумевает собой возможность генерации ОС в зависимости от аппаратного обеспечения. Процесс генерации обычно производится один раз, перед достаточно долгим режимом эксплуатации. Для генерации необходимо наличие нескольких компонентов:
    1. Исходный код ОС;
    2. Компилятор с языка программирования на котором система написана;
    3. Специальная программа и входной язык для неё, который позволяет управлять процессом генерации.

ОС с открытым системным кодом – Linux (UNIX), есть возможность тонкой настройки ядра для конкретного процессора.

  1. принцип функциональной избыточности. В состав ОС должно входит несколько типов ПО для выполнения одинаковых функций (поддержка разных файловых систем).
  2. принцип виртуализации. Позволяет представить ресурсы ОС в виде определённого набора планировщиков и мониторов и использует единую схему распределения ресурсов. Наибольшее проявление – концепция виртуальной машины (воспроизводит архитектуру реальной машины, но может обладать произвольными характеристиками).
  3. принцип совместимости. Способность выполнять программы для другой ОС или даже для другой аппаратной платформы.
    2 уровня совместимости:

a. по выполняемому коду (бинарная). Условия совместимости:

1. На уровне команд процессора (одна и та же платформа);

2. Совместимость на уровне системных вызовов;

3. Совместимость на уровне библиотечных вызовов, если являются динамично связываемыми.

b. 2. по исходному коду. Требуется выполнение следующих условий:

1. Наличие компилятора платформы, на котором написана программа;

2. Совместимость на уровне системных вызовов;

3. Совместимость на уровне библиотечных вызовов.

принцип открытой наращиваемой ОС (открыт исходный код). Целостность ОС сохраняется (UNIX). Открытая операционная система доступна для анализа как пользователям, так и системным специалистам, обслуживающим вычислительную систему. Наращиваемая (модифицируемая, развиваемая) ОС позволяет не только использовать возможности генерации, но и вводить в ее состав новые модули, совершенствовать существующие и т.д. Другими словами, следует обеспечить возможность легкого внесения дополнений и изменений в необходимых случаях без нарушения целостности системы. Прекрасные возможности для расширения предоставляет подход к структурированию ОС по типу клиент-сервер с использованием микро-ядерной технологии. В соответствии с этим подходом ОС строится как совокупность привилегированной управляющей программы и набора непривилегированных услуг (серверов). Основная часть ОС остается неизменной, и в то же время могут быть добавлены новые серверы или улучшены старые. Этот принцип иногда трактуют как расширяемость системы.

принцип мобильности (переносимости). ОС должна легко переноситься на другую аппаратную платформу. Правила создания переносимых ОС:

0. ОС должна быть написана на языке высокого уровня, для которой существует компилятор на аппаратной платформе. В основном, современные ОС пишут на языке "С".

1. Необходимо избегать кода, который непосредственно работает с аппаратным обеспечением.

принцип обеспечения безопасности и защиты:

0. Защита системы от пользователя;

1. Защита от несанкционированного доступа.

В 1983 г. придуманы критерии оценки надёжности ОС. Существуют 4 класса безопасности:

Класс D. Относятся системы, не удовлетворяющие системам предыдущих классов (небезопасный);

Класс C. Обеспечение защиты данных от ошибок пользователя. ОС должна иметь следующие средства:

  1. Средства секретного входа;
  2. Обязательно наличие избирательного контроля доступа;
  3. Средства учёта и наблюдения (аудит);
  4. Необходима инициализация памяти при её освобождении. Современные ОС относятся к этому классу.

Класс B. Основаны на помеченных данных и есть наличие распределения пользователей по категориям, любой пользователь имеет рейтинг доступа к данным.

Класс A. Самый высокий уровень безопасности. Необходимо, чтобы имелось формальное (математическое) доказательство безопасности ОС. Примерно 90% процессорного времени тратится на систему безопасности. В наше время используются классы B и C.

6,Файловая структура –