ЗНАЕТЕ ЛИ ВЫ?

Функции выполняемые ядром ОС требуют высокой скорости выполнения и для этого



Размещаются постоянно в оперативной памяти (резидентные модули).

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

Утилиты – приложения, решающие отельные задачи управления и сопровождения ОС

Системные обрабатывающие программы – текстовые и графические редакторы,

Компиляторы, компоновщики и т.п.

Программы предоставления пользователю дополнительных услуг – специальный

вариант пользовательского интерфейса, калькулятор, игры и т.п.

Библиотеки процедур – модули различного назначения, упрощающие разработку

Приложений.

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

Привилегированный режим процессора

— Для надежного управления работой приложений ядро ОС должно обладать некоторыми

Привилегиями по отношению к остальным приложениям.

— Обеспечивается привилегированный режим специальными средствами аппаратной

поддержки. Процессор компьютера поддерживает как минимум два режима работы –

Пользовательский (user mode) и привилегированный (kernel mode).

— Приложения в пользовательском режиме не могут выполнять некоторые критичные команды

(переключение процессора с задачи на задачу, доступ к механизму выделения и защиты

Областей памяти и т.п.).

— Между числом привилегий, поддерживаемых аппаратурой и операционной системой нет

Однозначного соответствия: (Прим.: процессор Intel поддерживает 4 режима работы

Процессора – операционные системы Windows используют два из них).

— Для реализации привилегированного режима достаточно поддержки двух режимов работы

— Повышение устойчивости ОС, обеспечивающееся использованием работы в

Привилегированном режиме, достигается за счет некоторого замедления, вызванного

Необходимостью переключения работы ядра.

— Архитектура ОС, основанная на разделении привилегированного режима для ядра и

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

Детализация структуры ядра

Ядро, являясь структурным элементом ОС, может быть логически разложен на ряд слоев:

— Средства аппаратной поддержки ОС

— Машинно-зависимые компоненты ОС (включает модули, отражающие специфику

аппаратной платформы компьютера)

— Базовые __________механизмы ядра (включает наиболее примитивные операции ядра –

Переключение контекстов процессов, диспетчеризация прерываний), модули

Выполняют решения принятые на более высоких уровнях

— Менеджеры ресурсов (реализует задачи стратегического управления), включает

Менеджеры – диспетчеры процессов, ввода-вывода и т.п.

— Интерфейсы системных вызовов (включает модули взаимодействия с приложениями и

Системными утилитами, функции API.

Архитектура ОС зависит от типа ядра

Монолитные

Многослойные (многоуровневые)

Модульные

Микроядерные (Micro-kernel)

Виртуальные машины

Экзоядерные (Exo-kernel)

Монолитные ядра– представляют традиционное построение, адекватное для сложных ОС. (ex.

UNIX)

• Код абстрактизации, контроля и администрации ресурсов полностью располагается в ядре

ОС.

• Каждая из процедур видима другими процедурами

Многослойные.модульные ядра – представляют современное проектирование ОС, которое

позволяет снизить сложность системы:

Ø каждый из уровней включает набор необходимых данных и процедур, которые :

• Могут обращаться к процедурам более высокого уровня

• Могут обращаться к процедурам низшего уровня

Ø высокая степень модульности

Ø низкая эффективность использования ресурсов.

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

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

(управление процессами, обработка прерываний, управление виртуальной памятью, пересылка

Сообщений). Данная часть ОС называется микроядром.

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

Пользовательском режиме – серверы ОС.

Взаимодействие между обычными приложениями и серверами ОС осуществляется через механизм

обращений. Клиентское приложение отправляет запрос к серверу ОС через микроядро ОС. Такой

Механизм обеспечивает защиту работы приложений.

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

предъявляемых к современным ОС:

— Переносимость (обусловлена малым числом модулей в аппаратно-зависимом

Микроядре)

— Расширяемость (добавление новых функций связано с включением новых серверов

ОС)

— Надежность (обусловлена изолированностью процессов)

— Поддержка распределенных вычислений (используется механизм взаимодействия

Приложений аналогичный взаимодействию в распределенных системах)

Недостаток

— Производительность (обладают меньшей производительностью)

Основным отличием ЭКЗО-ядерной архитектуры является то, что модули которые не входят в

Ядро не выносятся во внешние программы , а в библиотеки, которые связаны с прикладными

Программами.

Аппаратная зависимость ОС

Операционная система в процессе работы взаимодействует с аппаратными средствами

компьютера:

— Средства поддержки привилегированного режима

— Средства трансляции адресов

— Средства переключения процессов

— Защита областей памяти

— Система прерываний

— Системный таймер

Это делает ОС привязанной к определенной аппаратной платформе

Переносимость операционной системы

Если код операционной системы может быть сравнительно легко перенесен с процессора одного

Типа на процессор другого типа и с аппаратной платформы одного типа на аппаратную платформу

Другого типа, то такую ОС называют переносимой (portable), или мобильной.

Для того чтобы обеспечить свойство мобильности ОС, разработчики должны следовать

следующим правилам:

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

машинах, куда предполагается переносить систему;

• объем машинно-зависимых частей кода, которые непосредственно взаимодействуют с

Аппаратными средствами, должен быть по возможности минимизирован.

Под переносимостью операционной системы понимается способность использования ОС на

Различных аппаратных платформах с минимальными изменениями в ее структуре. Для

Уменьшения числа машинно-зависимых модулей разработчики ОС ограничивают

универсальность машинно-независимых __________модулей. Например, Windows разработана для

Нескольких типов процессоров и для многопроцессорных систем используются собственные

Модули.

Для обеспечения переносимости следуют следующим правилам:

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

планируемых платформ;

— Объем машино-зависимых частей кода должен быть минимизирован;

— Аппаратно-зависимый код должен быть изолирован в нескольких модулях

В идеале машино-зависимые модули ядра полностью экранируют остальную часть ОС от

Конкретных деталей аппаратной платформы (кэши, контроллеры прерываний и т.п.).

Совместимость операционных систем

Совместимость – возможность операционной системы выполнять приложения, написанные для

Других ОС.

Выделяют

— Двоичная совместимость – на уровне кодов (программные модули могут быть просто

Перенесены и запущены)

— Совместимость исходных текстов – приложения могут быть перекомпилированы в

Новый исполняемый модуль для ОС.

Совместимость на уровне кодов может быть достигнута с помощью эмуляции двоичного кода

T3. Управление процессами в ОС

1. Базовые понятия ОС: программа, задание, процесс, мультизадачность;

2. Жизненный цикл процесса и планирование процессов;

3. Контекст и дескриптор процесса;

4. Планирование процессов и алгоритмы планирования

Программы и задания

“Программа” – упорядоченная последовательность действий в виде машинных команд или

Инструкций исполнителю.

“Задание” - совокупность программы, набора команд языка управления заданиями, необходимых





Последнее изменение этой страницы: 2016-08-16; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.236.156.32 (0.008 с.)