Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Принципы обработки прерываний




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

Вектор прерывания -

Каждое прерывание имеет свой номер (IRQ) и с ним связана определенная подпрограмма. Когда вызывается прерывание, процессор приостанавливает свою работу и выполняет прерывание: загружает адрес программы обработки прерывания и передает ей управление, после окончание ее работы управление передается основной программе, которая была прервана. Аппаратные прерывания относятся к прерываниям низшего уровня и им присваиваются младшие номера, обслуживает их базовая система в/в. Внутренние и программные прерывания относятся к верхнему уровню, имеют большие номера и обслуживает базовый модуль.

Планирование процессов. Состояния существования процессов.

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

Не следует смешивать понятия процесс и программа. Програм­ма — это план действий, а процесс это само действие, поэтому понятие процесса включает:

• программный код;

• данные;

• содержимое стека; (стек – это среда для размещения данных для возврата из подпрограммы)

• содержимое адресного и других регистров процессора.

 

Состояния существования процессов

На рис. 2 представлена диаграмма состояний,

показывающая три возможных состояния процесса:

1. Выполнение (процесс использует процессор).

2. Готовность (процесс временно приостановлен, чтобы позволить выполняться другому процессу).

3. Блокировка (процесс не может быть запущен прежде, чем произойдет некое внешнее событие).

1. Процесс блокируется, ожидая входных данных

2. Планировщик выбирает другой процесс

3. Планировщик выбирает этот процесс

4. Доступны входные данные

 

Рис. 2. Состояния процесса. Стрелками показаны возможные переходы между состояниями.

 

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

Каждый процесс представлен в операционной системе набором данных, называемых таблица управления процессом либо Блок управления процессом (ТУП (БУП)— PCВ — process control block). В РСВ процесс описывается набором значе­ний, параметров, характеризующих его текущее состояние и ис­пользуемых операционной системой для управления прохождением процесса через компьютер. Информация, хранящаяся в БУП:

§ текущее состояние процесса

§ уникальный идентификатор(номер) процесса

§ указатели памяти процесса

§ указатели выделенных ресурсов для процесса

§ область сохранения регистров, где хранится точка останова процессора

Понятие очереди

Входная очередь располагается во внешней памяти, во входной очереди процессы ожидают освобождения ресурса — адресного про­странства основной памяти.

Готовые к выполнению процессы располагаются в основной па­мяти и связаны очередью готовых процессов. Процессы в этой очере­ди ожидают освобождения ресурса процессорное время.

Процесс в состоянии ожидания завершения операции ввода-вы­вода находится в одной из очередей к оборудованию ввода-вывода.

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

Операционная система, обеспечивающая режим мультипрог­раммирования, обычно включает два планировщика — долгосрочный и краткосрочный. Например, в OS/360 долговременный планировщик назывался планировщиком заданий, а краткосрочный — суперви­зором задач.

Взаимодействие процессов.

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

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

Важным понятием синхронизации потоков является понятие «критической сек­ции» программы.

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

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

Семафор – это механизм, который регулирует работу двух и более асинхронных процесса.

В операционных системах OS/2 и Microsoft Windows существует специальный механизм для взаимодействия процессов в реальном масштабе времени. Этот механизм называется DDE (Dynamic Data Exchange — динамический обмен данными).

Другим интерфейсом для обмена данными является OLE (Object Linking and Embedding — связывание и встраивание объектов). Этот интерфейс позволяет хранить объекты, созданные одной програм­мой, в объектах, созданных другой программой, а также редактиро­вать (печатать) их без нарушения целостности информации и свя­зей.

Одним из наиболее простых, удобных и интуитивных интерфей­сов межпрограммного взаимодействия является буфер обмена — Clipboard.

Планирование работы процессора

Когда требуется планирование

1. При завершении процесса.

2. При блокировании процесса семафором или вводом-выводом.

Стратегии планирования процессора

Планирование в системах пакетной обработки

1. Первый пришел — первый обслуживается FIFO — first come — first served (FCFS).

2. Стратегия «наиболее короткая работа выполняется первой»
SJF — Shortest Job First.

Планирование в интерактивных системах

1. Приоритетное планирование.

Эта стратегия предполагает, что каждому процессу приписывается приоритет, определяющий очередность предоставле­ния ему CPU.

2. «Карусельная» (циклическая) стратегия планирования RR-Round Robin применяется в системах разделения времени. Определяется неболь­шой отрезок времени tk, названный квантом времени (10...100 мс).

Планирование с использованием многоуровневой очереди.

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

4. Использование многоуровневой очереди с обратными связя­ми.

Данная стратегия является универсальной и сочетает в себе свойства всех рассмотренных раньше стратегий — FCFS, SJF, прио­ритетная, Round Robin, многоуровневая очередь.

5. Приоритетная многоочередная дисциплина обслуживания. Вновь поступающие в систему запросы устанавливаются не обязательно в 1-ю очередь, а в очередь в соответствии с имею­щимися приоритетами, которые определяются параметрами обслу­живания процессов.

Планирование в системах реального времени

В системах реального времени, как и следовало ожидать, существенную роль играет время.

Системы реального времени делятся на жесткие системы реального времени, что означает наличие жестких сроков для каждого задания (в них обязательно надо укладываться), и гибкие системы реального времени, в которых нарушения временного графика нежелательны, но допустимы.

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

Обслуживание ввода-вывода





Поделиться с друзьями:


Дата добавления: 2015-11-05; Мы поможем в написании ваших работ!; просмотров: 781 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Так просто быть добрым - нужно только представить себя на месте другого человека прежде, чем начать его судить. © Марлен Дитрих
==> читать все изречения...

2443 - | 2199 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.