Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Mashechkin_I_V_-_Operatsionnye_sistemy_lektsii.doc
Скачиваний:
22
Добавлен:
06.11.2018
Размер:
2.33 Mб
Скачать

Структура ос.

Ядро (kernel) – резидентная часть ОС, работающая в режиме супервизора. («обычно» работает в режиме физической адресации).

Интерфейсы системных вызовов

(API – Application Program Interface)

||

Динамически подгружаемые драйверы физических и

виртуальных устройств – обращение

к ним не требует сверх аппарата.

||

Ядро ОС – программы обработки прерываний

и драйверы наиболее быстрых устройств.

Автоматически включается режим супервизоров.

«Системный вызов» - обращение к ОС за предоставление той или

иной функции ( возможности, услуги, сервиса).

Описание  стандартная библиотека

программ.

Существует 2 уровня организации ОС:

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

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

. . .

. . .

. . .

Микроядро

аппаратура

Логические ф-ции ОС

•управление процессами

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

управление ОП

ОС может реализовывать разные стратегии распределения ОП и степени защиты

•планирование

выбор очередности программ для начала обработки, распределение энергии для многопроцессорных устройств, доступ к внешним устр-вам

•управление устройствами и ФС

Планирование.

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

Обобщенный жизненный цикл процесса:

Но это только самые явные этапы планирования.

Типы ОС

Многое определяется стратегиями планирования в данных ОС. С точки зрения типов ОС планирования традиционно выделяют 3 типа:

  1. Пакетная ОС

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

Первоначально на перфокартах, позже в буфере ввода программ.

Переключение выполнения процессов происходит только в одном из случаев:

Выполнение процесса завершено

Возникло прерывание

Был фиксирован факт зацикливания процесса

Примитивная, но критический эффект – минимизация накладных расходов.

  1. Система разделения времени

Базируется на квантировании времени. Квант времени ЦПнекоторый фиксированный ОС промежуток времени работы ЦП.

Переключение выполнения процессов происходит только в одном из случаев:

Исчерпался выделенный квант времени

Выполнение процесса завершено

Возникло прерывание

Был фиксирован факт зацикливания процесса

варьируя размер кванта, можно добиться разных результатов.

  1. ОС реального времени

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

Обычно обеспечивают управление техническим оборудованием.

Примером такой организации планирования ЦП может быть следующая схема. Планировщик построен на двухуровневой схеме. Мы считаем, что множество задач может содержать, предположим, счетные задачи и интерактивные задачи. Первый уровень определяет приоритет между двумя классами задач и либо отдает ЦП сначала счетной задаче, либо интерактивной задаче. А второй уровень определяет то, о чем мы говорили перед этим, т.е. как выбрать задачу в пределах одного класса и как ее прервать. Такая смешанная система может работать следующим образом. Первый уровень планирования будет работать по такому принципу: если в данный момент нет ни одной интерактивной задачи, готовой к выполнению (а это вполне реальная ситуация, если пользователи занимаются редактированием текста), то ЦП передается счетным задачам, но добавляется одно условие: как только появляется хотя бы одна интерактивная задача, счетная задача прерывается и управление передается блоку интерактивных задач.

Типы процессов.

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

  «Легковесные процессы» - нити - работают в мультипрограммном режиме одновременно с активировавшей их задачей и используют ее виртуальное адресное пространство.

Также процессы можно классифицировать как процессы с однонитевой организацией и с многонитевой.

о днонитевой процесс многонитевый процесс

Понятие процесса можно определить несколькими способами. Как исполняемый код;

собственное адресное пространство, которое представляет собой совокупность виртуальных адресов, которые может использовать процесс;

ресурсы системы, которые назначены процессу ОС;

хотя бы одна выполняемая нить.

Одна из основных характеристик процесса – контекст – совокупность данных, характеризующих актуальное состояние процесса. Контекст включает в себя 2 составляющие:

1) Пользовательская составляющая – текущее состояние программы (совокупность машинных команд, размещенных в ОЗУ)

2) Системная составляющая

– информация идентификационного характера (PID процесса, PID «родителя»…)

– информация о содержимом регистров (РОН, индексные регистры, флаги...)

– информация, необходимая для управления процессом (состояние процесса, приоритет....)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]