Студопедия  
Главная страница | Контакты | Случайная страница

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

Что такое прерывание? Какие шаги выполняет система прерываний при возникновении запроса на прерывание?

Читайте также:
  1. ERP — информационная система масштаба предприятия
  2. GІІ.Излагаете проблему группе. Вместе со всеми вырабатываете решение на основе консенсуса. Выполняете любое решение группы.
  3. I Операционная система ОС Unix
  4. I Операционная система ОС Unix
  5. I Операционная система ОС Unix
  6. I)Однофакторный дисперсионный анализ (выполняется с применением программы «Однофакторный дисперсионный анализ» надстройки «Анализ данных» пакета Microsoft Excel).
  7. I. Система социального регулирования общественных отношений.
  8. I. Система социального регулирования общественных отношений.
  9. I. ЧТО ТАКОЕ 3-D СТРЕЛЬБА
  10. II. Общество как социальная система, её основные системные признаки

1. Изучите ярлыки на рабочем столе.

2. Изучите элементы панели задач.

3. Выведите и скройте Панель быстрого запуска.

4. Откройте одновременно несколько окон. Например: Мои документы, Корзина и Мой компьютер.

5. Попробуйте подвигать их по экрану, свернуть, развернуть, измените их размеры с помощью мыши и добейтесь приблизительно одинаковых размеров.

6. Расположите открытые окна каскадом, сверху вниз, слева направо. Закройте все окна.

7. Подвигайте ярлыки на Рабочем столе, затем упорядочьте их автоматически.

8. Откройте стандартную программу Блокнот и напечатайте в ней какое-либо четверостишие. Сохраните в своей папке под именем Стихотворение. Обратите внимание, с каким значком сохранился документ.

9. Скопируйте текст стихотворения в окно программы WordPad и посмотрите, какие возможности доступны в этой программе. Сохраните в своей папке под именем Копия и обратите внимание, с каким значком сохранился документ.

10. Откройте стандартную программу Paint и нарисуйте в ней ёлочку. Сохраните в своей папке под именем Ёлка. Обратите внимание, с каким значком сохранился документ.

11. Щёлкните правой кнопкой мыши на значках файлов Стихотворение и Ёлка. Выберите в контекстном меню команду Свойства и изучите содержимое открывшегося диалогового окна. Какие атрибуты заданы для этих файлов?

12. Изучите, какие ещё Стандартные программы есть на Вашем ПК.

13. Откройте Адресную книгу в Стандартных программах и создайте в ней две папки: Друзья и Коллеги.

14. В каждой папке создайте по два контакта.

15. Попробуйте через поиск на Панели инструментов в Адресной книге найти добавленного Вами в Контакты друга.

16. Изучите остальные Стандартные программы.

17. В Справочной системе ОС Windows посмотрите назначение неизвестных Вам программ.

Требования к отчёту:

1. Запишите, какие значки и индикаторы есть на Панели задач?

2. Запишите, какие ярлыки на Рабочем столе являются пользовательскими, а какие системными?

3. Опишите, что нужно сделать, если папки и файлы удаляются в Корзину, но она пуста?

4. Запишите свойства файлов Стихотворение и Ёлка. (пункт 10)

5. Запишите, какие возможности форматирования текста есть в программе Блокнот.

6. Запишите, чем отличаются программы Блокнот и WordPad.

7. Найдите в Справочной системе и запишите ответ на вопрос, что делает дефрагментация диска?

8. Рассчитайте в программе Калькулятор следующее выражение и запишите в отчёт полным ответом: (23456+(34789-5432)*2-2345)/3.

9. Запишите, какие программы представлены в пункте Стандартных программ Специальные возможности.

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

1. Какие элементы расположены на Рабочем столе?

2. Какие ярлыки называются системными и пользовательскими?

3. Для чего нужна Панель задач?

4. Какие элементы расположены на Панели задач?

5. Возможна ли настройка Панели задач?

6. Какие операции можно выполнять с окнами?

7. Как изменить расположение нескольких открытых окон на экране?

8. Для чего нужен значок Мой компьютер?

9. Для чего нужна Корзина?

10. Зачем нужен значок Сетевое окружение?

11. Зачем нужна программа Internet Explorer?

12. Что такое Атрибуты файлов?

13. Какие Стандартные программы Вы знаете?

14. Для чего нужны Стандартные программы?

15. Для чего используются служебные программы ОС Windows?

 

Что такое прерывание? Какие шаги выполняет система прерываний при возникновении запроса на прерывание?

 

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

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

Устройствам, которые используют векторные прерывания, назначается вектор прерываний. Он представляет собой электрический сигнал, выставляемый на соответствующие шины процессора и несущий в себе информацию об определенном, закрепленном за данным устройством номере, который идентифицирует соответствующий обработчик прерываний. Этот вектор может быть фиксированным, конфигурируемым (например, с использованием переключателей) или программируемым. Операционная система может предусматривать процедуру регистрации вектора обработки прерываний для определенного устройства, которая связывает некоторую подпрограмму обработки прерываний с определенным вектором. При получении сигнала запроса прерывания процессор выполняет специальный цикл подтверждения прерывания, в котором устройство должно идентифицировать себя. В течение этого цикла устройство отвечает, выставляя на шину вектор прерываний. Затем процессор использует этот вектор для нахождения обработчика данного прерывания. Примером шины подключения внешних устройств, которая поддерживает векторные прерывания, является шина VMEbus.

При использовании опрашиваемых прерываний процессор получает от запросившего прерывание устройства только информацию об уровне приоритета прерывания (например, номере IRQ на шине ISA или номере IPL на шине SBus компьютеров SPARC). С каждым уровнем прерываний может быть связано несколько устройств и соответственно несколько программ — обработчиков прерываний. При возникновении прерывания процессор должен определить, какое устройство из тех, которые связаны с данным уровнем прерываний, действительно запросило прерывание. Это достигается вызовом всех обработчиков прерываний для данного уровня приоритета, пока один из обработчиков не подтвердит, что прерывание пришло от обслуживаемого им устройства. Если же с каждым уровнем прерываний связано только одно устройство, то определение нужной программы обработки прерывания происходит немедленно, как и при векторном прерывании. Опрашиваемые прерывания поддерживают шины ISA, EISA, MCA, PCI и Sbus.

Механизм прерываний некоторой аппаратной платформы может сочетать векторный и опрашиваемый типы прерываний. Типичным примером такой реализации является платформа персональных компьютеров на основе процессоров Intel Pentium. Шины PCI, ISA, EISA или MCA, используемые в этой платформе в качестве шин подключения внешних устройств, поддерживают механизм опрашиваемых прерываний. Контроллеры периферийных устройств выставляют на шину не вектор, а сигнал запроса прерывания определенного уровня IRQ. Однако в процессоре Pentium система прерываний является векторной. Вектор прерываний в процессор Pentium поставляет контроллер прерываний, который отображает поступающий от шины сигнал IRQ на определенный номер вектора.

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

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

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

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

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

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

2. Автоматически сохраняется некоторая часть контекста прерванного потока, которая позволит ядру возобновить исполнение потока процесса после обработки прерывания. В это подмножество обычно включаются значения счетчика команд, слова состояния машины, хранящего признаки основных режимов работы процессора (пример такого слова — регистр EFLA6S в Intel Pentium), а также нескольких регистров общего назначения, которые требуются программе обработки прерывания. Может быть сохранен и полный контекст процесса, если ОС обслуживает данное прерывание со сменой процесса. Однако в общем случае это не обязательно, часто обработка прерываний выполняется без вытеснения текущего процесса1.

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

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

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

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

 




Дата добавления: 2014-12-19; просмотров: 113 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.01 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав