Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[Проектирование операционных систем] - Курс лек....doc
Скачиваний:
22
Добавлен:
14.11.2018
Размер:
347.14 Кб
Скачать

Принцип модульности

Отражает технологические и эксплуатационные свойства операционной системы. Наибольший эффект от его использования достигается при распространении данного принципа на саму ОС, прикладное программное обеспечение и аппаратную часть.

Под модулем, в общем случае, понимают функциональный элемент рассматриваемой операционной системы, имеющий оформление, законченное и выполненное в пределах требований системы, и средства сопряжения с подобными элементами или системами более высокого уровня или другой системы.

Разделение на модули чаще всего выполняется по функциональному признаку. Кроме того, при построении модуля обязательно учитывается его будущее использование.

Модули можно разделить на три группы:

  • Модули однократного использования - модули, в которых исходные данные заданы и не могут быть в дальнейшем модифицированы.

  • Повторно используемые модули - модули, значения данных в которых устанавливаются перед выполнением (а старые значения обнуляются либо при завершении работы модулей, либо в начале).

  • Реентерабельные модули - модули, для которых память для данных распределяется перед их выполнением. Сами по себе такие модули не содержат данных и могут выполняться одновременно несколькими различными процессами.

Принцип функциональной избирательности

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

При формировании ядра следует руководствоваться принципом достаточности.

Несмотря на то, что набор модулей, составляющих ядро, в каждом конкретном случае различно, выделим некоторые "постоянные" компоненты:

  • Модуль обработки прерываний.

  • Модуль управления памятью.

  • Модуль планирования диспетчеризации.

  • Модуль ввода/вывода.

  • Модуль страничного обмена.

Собственно все эти компоненты связаны друг с другом, и исключение из ядра любого из них приведет к неработоспособности системы.

Модули постоянно находящиеся в оперативной памяти называют резидентными, а подгружаемые по требованию – транзитными.

Принцип перемещаемости

Этот принцип предусматривает построение модулей, выполнение которых не зависит от их реального расположения в памяти. Использование этого принципа базируется на косвенной адресации команд и данных, а так же организации виртуальной памяти. В принципе, можно добиться такой ситуации, когда каждый модуль будет работать в своем адресном пространстве и ни коим образом не сможет попасть в адресное пространство "соседей".

Принцип защиты

Этот принцип определяет необходимость разработки мер, ограждающих программу и данные пользователей от искажений и нежелательных влияний друг на друга, а так же пользователей на ОС и наоборот. Программы должны быть защищены как при исполнении, так и во время хранения. Обычно этот принцип реализуется при помощи многоконтекстности работы процессора. Т.е. процессор выполняет инструкции в зависимости от текущих привилегий. Использование привилегированных команд прикладными программами запрещено.

Защита кода во время исполнения:

  • Контекстная защита. Изоляция виртуальных адресных пространств.

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

Защита программ и данных во время хранения (защита файлов):

  • Защита доступа на уровне паролей и аккредитаций.

Принцип независимости от внешних устройств

Позволяет одинаково управлять внешними устройствами, не зависимо от их технических характеристик. При этом связывание программы с устройством происходит не в момент планирования выполнения, а в момент трансляции, или даже позже.

Принцип генерируемости

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

Принцип открытости и наращивания

Открытая ОС доступна для анализа пользователям, администраторам и т.д.

Наращиваемая ОС позволяет не только использовать возможности генерации, но и вводить в ее состав новые модули, совершенствовать существующие и т.д.

Принцип функциональной избыточности

Этот принцип предусматривает проведение одной и той же работы различными средствами.

Принцип использования стандартных значений

Данный принцип основан на хранении в системе описаний процессов, модулей, параметров работы и тому подобной информации используемой неявно, если явно не заданы иные значения.

Основные концепции ОС

Процесс

Определения

  • Процесс – некоторая деятельность, связанная с исполнением программы на процессоре.

  • Процесс – система действий, реализующая определенную функцию в вычислительной системе и оформленная так, что управляющая программа вычислительной системы может перераспределять ресурсы этой системы, в целях обеспечения мультипрограммирования.

Управления процессами является одной из важнейших функций операционных систем.