
- •Введение.
- •Эволюция операционных систем. Появление первых операционных систем
- •Операционные системы и глобальные сети Развитие ос в 80-ые годы
- •Особенности современного этапа развития операционных систем
- •Требования к современным ос
- •2. Назначение и функции операционной системы Операционные системы для автономного компьютера
- •Ос как виртуальная машина
- •Управление файлами и внешними устройствами
- •Защита данных и администрирование
- •Пользовательский интерфейс
- •Сетевые операционные системы
- •Функциональные компоненты сетевой ос
- •Одноранговые и серверные сетевые операционные системы
- •Ос в одноранговых сетях
- •Ос в сетях с выделенными серверами
- •3. Архитектура операционной системы
- •Ядро и вспомогательные модули ос
- •Ядро в привилегированном режиме
- •Многослойная структура ос
- •4. Процессы и потоки
- •Мультипрограммирование
- •Мультипрограммирование в системах пакетной обработки
- •Мультипрограммирование в системах разделения времени
- •Мультипрограммирование в системах реального времени
- •Мультипроцессорная обработка
- •Понятия «процесс» и «поток»
- •Мультипрограммирование на основе прерываний Назначение и типы прерываний
- •Механизм прерываний
- •5. Управление памятью Функции ос по управлению памятью
- •Свопинг
- •Примечание
- •Кэширование данных Иерархия запоминающих устройств
- •Кэш — память
- •Принцип действия кэш – памяти
- •Проблема согласования данных
- •6. Ввод - вывод и файловая система
- •Задачи ос по управлению файлами и устройствами
- •Организация параллельной работы устройств ввода - вывода и процессора
- •Согласование скоростей обмена и кэширование данных
- •Разделение устройств и данных между процессами
- •Динамическая загрузка и выгрузка драйверов
- •Поддержка нескольких файловых систем
- •Многоуровневые драйверы
- •Логическая организация файловой системы
- •Цели и задачи файловой системы
- •Типы файлов
- •Атрибуты файлов
- •Индексная логическая организация
- •Физическая организация файловой системы
- •Диски, разделы, секторы, кластеры
- •Физическая организация fat
- •Файловые операции Два способа организации файловых операций
- •Механизм контроля доступа
- •Восстанавливаемость файловых систем Причины нарушения целостности файловых систем
Механизм прерываний
Механизм прерываний поддерживается аппаратными средствами компьютера и программными средствами операционной системы. Аппаратная поддержка прерываний имеет свои особенности, зависящие от типа процессора и других аппаратных компонентов, передающих сигнал запроса прерывания от внешнего устройства к процессору (таких, как контроллер внешнего устройства, шины подключения внешних устройств, контроллер прерываний, являющийся посредником между сигналами шины и сигналами процессора). Особенности аппаратной реализации прерываний оказывают влияние на средства программной поддержки прерываний, работающие в составеОС.
При использовании опрашиваемых прерываний процессор получает от запросившего прерывание устройства только информацию об уровне приоритета прерывания (например, номере IRQ на шине ISA или номере IPL на шине Sbus компьютеров SPARC). С каждым уровнем прерываний может быть связано несколько устройств и соответственно несколько программ -обработчиков прерываний.При возникновении прерывания процессор должен определить, какое устройство из тех, которые связаны с данным уровнем прерываний, действительно запросило прерывание. Это достигается вызовом всех обработчиков прерываний для данного уровня приоритета, пока один из обработчиков не подтвердит, что прерывание пришло от обслуживаемого им устройства. Если же с каждым уровнем прерываний связано только одно устройств т., определение нужной программы 'обработки прерывания происходи! немедленно, как и при векторном прерывании. Опрашиваемые прерывания поддерживают шины ISA, EISA, МСА, PCI и Sbus.
Обобщенно последовательность действий аппаратных и программных средств по обработке прерывания можно описать следующим образом.
1. При возникновении сигнала (для аппаратных прерываний) или условия (для внутренних прерываний) прерывания происходит первичное аппаратное распознавание типа прерывания. Если прерывания данного типа в настоящий момент запрещены (приоритетной схемой или механизмом маскирования), то процессор продолжает поддерживать естественный ход выполнения команд. В противном случае в зависимости от поступившей в процессор информации (уровень прерывания, вектор прерывания или тип условия внутреннего прерывания) происходит автоматический вызов процедуры обработки прерывания, адрес которой находится в специальной таблице операционной системы, размещаемой либо в регистрах процессора, либо в определённом месте оперативной памяти.
2. Автоматически сохраняется некоторая часть контекста прерванного потока, которая позволит ядру возобновить исполнение потока процессора после обработки прерывания. В это подмножество обычно включаются значения счётчика команд, слова состояния машины, хранящего признаки основных режимов работы процессора (пример такого слова - регистр EFLAGS в Intel Pentium), а также нескольких регистров общего назначения, которые требуются программе обработки прерывания. Может быть сохранён и полный контекст процесса, если ОС обслуживает данное прерывание со сменой процесса. Однако в общем случае это не обязательно, часто обработка прерываний выполняется без вытеснения текущего процесса.
3. Одновременно с загрузкой адреса процедуры обработки прерываний в счётчик команд может автоматически выполняться загрузка нового значения слова состояния машины (или другой системной структуры, например селектора кодового сегмента в процессоре Pentium), которое определяет режимы работы процессора при обработке прерывания, в том числе работу в привилегированном режиме. В некоторых моделях процессоров переход в привилегированный режим за счёт смены состояния машины при обработке прерывания является единственным способом смены режима. Прерывания практически во всех мультипрограммных ОС обрабатываются в привилегированном режиме модулями ядра, так как при этом обычно нужно выполнить ряд критических операций, от которых зависит жизнеспособность системы, - управлять внешними устройствами, перепланировать потоки и т. п.
4. Временно запрещаются прерывания данного типа, чтобы не образовалась очередь вложенных друг в друга потоков одной и той же процедуры. Детали выполнения этой операции зависят от особенностей аппаратной платформы, например, может использоваться механизм маскирования прерываний. Многие процессоры автоматически устанавливают признак запрета прерываний в начале цикла обработки прерывания, в противном случае это делает программа обработки прерываний.
5. После того как прерывание обработано ядром операционной системы, прерванный контекст восстанавливается, и работа потока возобновляется с прерванного места. Часть контекста восстанавливается аппаратно по команде возврата из прерываний (например, адрес следующей команды и слово состояния машины), а часть - программным способом, с помощью явных команд извлечения данных из стека. При возврате из прерывания блокировка повторных прерываний данного типа снимается.
Выводы
- Мультипрограммирование, или многозадачность (multitasking), - это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются сразу несколько программ
- Мультипрограммирование применяется для повышения эффективности вычислительной системы, которая может пониматься как:
- Пропускная способность - количество задач, выполняемых вычислительной системой в единицу времени
- Удобство работы пользователей, заключающееся в том, что они имеют возможность интерактивно работать одновременно с несколькими приложениями на одной машине
- Реактивность системы - способность системы выдерживать заранее заданные (возможно, очень короткие) интервалы времени между запуском программы и получением результата
- В зависимости от выбранного критерия эффективности ОС делятся на системы пакетной обработки, системы разделения времени и системы реального времени;
- В операционных системах, где существуют и процессы, и потоки, процесс рассматривается операционной системой как заявка на потребление всех видов ресурсов, кроме одного - процессорного времени. Этот ресурс распределяется операционной системой между другими единицами работы - потоками, которые и получили своё название благодаря тому, что они представляют собой последовательности (потоки выполнения) команд.
- Система прерываний позволяет ОС реагировать на внешние события, происходящие асинхронно вычислительному процессу
- В зависимости от источника прерывания делятся на три больших класса:
- Внешние прерывания, связанные с сигналами от внешних устройств <* Внутренние прерывания, возникающие в результате ошибок вычислений
- Программные прерывания, представляющие собой удобный способ вызова процедур операционной системы