Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСиСП / ОС лекции.doc
Скачиваний:
43
Добавлен:
24.02.2016
Размер:
875.52 Кб
Скачать

2. Основы работы многозадачных ос

Архитектура ОС

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

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

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

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

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

Реальные ОС, как правило, сочетают в себе комбинацию различных архитектурных подходов.

Ядро ОС.

Все современные ОС предполагают выполнение программных задач на аппаратной платформе, обеспечивающей по крайней мере 2 режима функционирования процессора:

  • Режим ядра (супервизора) – в котором программа может выполнять все команды процессора

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

Под процессом подразумевается загруженная в память и готовая к исполнению программа.

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

На ядро, как правило, возлагаются такие основные функции:

  • обработка прерываний;

  • создание и уничтожение процессов;

  • переключение процессов из одного состояния в другое;

  • синхронизация и взаимодействие процессов;

  • поддержка операций ввода-вывода;

  • поддержка файловой системы;

  • учет работы системы и использования ресурсов пользователями;

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

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

Соседние файлы в папке ОСиСП