Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введени11е_в_ОС-1 (1).doc
Скачиваний:
14
Добавлен:
22.09.2019
Размер:
1.15 Mб
Скачать

2.5Режим реального времени

Рассмотрение режима реального времени возможно в двух аспектах:

  • приемлемое для пользователя время отклика ОС на его запрос;

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

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

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

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

Контрольные вопросы

  1. В чем отличие истинного и кажущегося распараллеливания?

  2. Какова аппаратная основа истинного распараллеливания?

  3. В чем состоит задача планирования в многопрограммном режиме выполнения пакета?

  4. Перечислите достоинства и недостатки пакетного режима и режима разделения времени.

  5. Какова основная задача режима реального времени?

3Общая архитектура

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

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

3.1Ядро и вспомогательные модули

Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы (рис.5):

  • ядро — модули, выполняющие основные функции ОС;

  • модули, выполняющие вспомогательные функции ОС.

Утилиты, системные обрабатывающие программы, библиотеки

Ядро операционной системы

Аппаратура (физическая машина)

Рис.5. Трехслойная схема операционной системы

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

Модули ядра выполняют базовые функции ОС по управлению:

  • процессами,

  • памятью,

  • устройствами ввода-вывода,

  • файлами.

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

В состав ядра входят модули, реализующие следующие функции:

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

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

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

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

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

Вспомогательные модули ОС обычно подразделяются на следующие группы:

  • системные обрабатывающие программы — текстовые или графические редакторы, компиляторы, компоновщики, отладчики;

  • утилиты — программы, решающие отдельные задачи управления и сопровождения компьютерной системы, такие, например, как программы разметки дисков, архивирования данных;

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

  • программы предоставления пользователю дополнительных услуг (калькулятор, возможно, игры).

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

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

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

Рис.6. Взаимодействие между ядром и вспомогательными модулями ОС