Операционное окружение понятие базовой машины расширенной машины
Тема 1.3 Операционное окружение
Понятие операционного окружения, состав, назначение. Стандартные сервисные программы поддержки операционного окружения. Понятие базовой машины, расширенной машины. Режим пользователя, режим супервизора.
Пользователь, администратор – определяет права пользователей, ограничивает возможности, завершать чужие процессы, урезать возможности пользовательского интерфейса, Поддержка отказоустойчивости, операции резервного копирования, прикладной программист, системный программист
Операционная система выполняет две основные функции:
1. Предоставление пользователю-программисту вместо реальной аппаратуры компьютера расширенной виртуальной машины, с которой удобнее работать. Виртуальная машина — это вычислительная система заданной конфигурации, моделируемая для пользователя программными и аппаратными средствами конкретного реально существующего компьютера. Операционная система является тем слоем программного обеспечения, которое преобразует аппаратную машину в виртуальную. Конфигурация виртуальной машины может существенно отличаться от реальной.
2. Повышение эффективности использования компьютера за счет рационального управления его ресурсами. Ресурсы операционной системы можно разделить на две группы (рис. 2):
· программные ресурсы (процессы, виртуальное адресное пространство подсистема ввода-вывода);
· аппаратные ресурсы (процессоры, память, устройства).
Рис. 2. Классификация ресурсов
Практически каждому аппаратному ресурсу соответствует программный ресурс, тесно с ним связанный (например, процессор и процесс).
Понятие операционного окружения, состав, назначение. Стандартные сервисные программы поддержки операционного окружения. Понятие базовой машины, расширенной машины. Режим пользователя, режим супервизора
Понятие операционного окружения, состав, назначение. Стандартные сервисные программы поддержки операционного окружения. Понятие базовой машины, расширенной машины. Режим пользователя, режим супервизора.
Любая сложная система должна иметь понятную и рациональную структуру, то есть разделяться на части — модули, имеющие вполне законченное функциональное назначение с четко оговоренными правилами взаимодействия. Ясное понимание роли каждого отдельного модуля существенно упрощает работу по модификации и развитию системы. Напротив, сложную систему без хорошей структуры чаще проще разработать заново, чем модернизировать.
Функциональная сложность операционной системы неизбежно приводит к сложности ее архитектуры, под которой понимают структурную организацию ОС на основе различных программных модулей. Обычно в состав ОС входят исполняемые и объектные модули стандартных для данной ОС форматов, библиотеки разных типов, модули исходного текста программ, программные модули специального формата (например, загрузчик ОС, драйверы ввода-вывода), конфигурационные файлы, файлы документации, модули справочной системы и т. д.
Большинство современных операционных систем представляют собой хорошо структурированные модульные системы, способные к развитию, расширению и переносу на новые платформы. Какой-либо единой архитектуры ОС не существует, но существуют универсальные подходы к структурированию ОС.
Ядро и вспомогательные модули ОС
Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы:
- ядро — модули, выполняющие основные функции ОС; модули, выполняющие вспомогательные функции ОС.
Модули ядра выполняют такие базовые функции ОС, как управление процесса ми, памятью, устройствами ввода-вывода и т. п. Ядро составляет сердцевину ОС, без него ОС является полностью неработоспособной и не сможет выполнить ни одну из своих функций.
Функции, выполняемые модулями ядра, являются наиболее часто используемые функциями операционной системы, поэтому скорость их выполнения определяет производительность всей системы в целом. Для обеспечения высокой скорости работы ОС все модули ядра или большая их часть постоянно находятся в оперативной памяти, то есть являются резидентными.
Ядро является движущей силой всех вычислительных процессов компьютерной системе, и крах ядра равносилен краху всей системы. Поэтому разработчики ОС уделяют особое внимание надежности кодов ядра, в результате процесс их отладки может растягиваться на многие месяцы.
Обычно ядро оформляется в виде программного модуля некоторого специального формата, отличающегося от формата пользовательских приложений.
Остальные модули ОС выполняют полезные, но менее обязательные функции. Например, к таким вспомогательным модулям могут быть отнесены программы архивирования данных на магнитной ленте, дефрагментации диска, текстового редактора. Вспомогательные модули ОС оформляются либо в виде приложений, либо в виде библиотек процедур.
Поскольку некоторые компоненты ОС оформлены как обычные приложения, то есть в виде исполняемых модулей стандартного для данной ОС формата, то часто бывает очень сложно провести четкую грань между операционной системой и приложениями (рис. 3.1).
Решение о том, является ли какая-либо программа частью ОС или нет, принимает производитель ОС. Среди многих факторов, способных повлиять на это решение, немаловажными являются перспективы того, будет ли программа иметь массовый спрос у потенциальных пользователей данной ОС.
Некоторая программа может существовать определенное время как пользовательское приложение, а потом стать частью ОС, или наоборот. Ярким примером такого изменения статуса программы является Web-браузер компании Мiсrоsoft, который сначала поставлялся как отдельное приложение, затем стал частью операционных систем Windows NT 4.0 и Windows 95/98, а сегодня существует большая вероятность того, что по решению суда этот браузер снова превратится в самостоятельное приложение.
Вспомогательные модули ОС обычно подразделяются на следующие группы:
Как и обычные приложения, для выполнения своих задач утилиты, обрабатывающие программы и библиотеки ОС, обращаются к функциям ядра посредством системных вызовов (рис. 3.2).
Разделение операционной системы на ядро и модули-приложения обеспечивает легкую расширяемость ОС. Чтобы добавить новую высокоуровневую функцию, достаточно разработать новое приложение, и при этом не требуется модифицировать ответственные функции, образующие ядро системы. Однако внесение изменений в функции ядра может оказаться гораздо сложнее, и сложность эта зависит от структурной организации самого ядра. В некоторых случаях каждое исправление ядра может потребовать его полной перекомпиляции.
Модули ОС, оформленные в виде утилит, системных обрабатывающих программ и библиотек, обычно загружаются в оперативную память только на время выполнения своих функций, то есть являются транзитными. Постоянно в оперативной памяти располагаются только самые необходимые коды ОС, составляющие ее ядро. Такая организация ОС экономит оперативную память компьютера.
Важным свойством архитектуры ОС, основанной на ядре, является возможность защиты кодов и данных операционной системы за счет выполнения функций ядра в привилегированном режиме.
Ядро в привилегированном режиме
Для надежного управления ходом выполнения приложений операционная система должна иметь по отношению к приложениям определенные привилегии. Иначе некорректно работающее приложение может вмешаться в работу ОС и, например, разрушить часть ее кодов. Все усилия разработчиков операционной системы окажутся напрасными, если их решения воплощены в незащищенные от приложений модули системы, какими бы элегантными и эффективными эти решения ни были. Операционная система должна обладать исключительными полномочиями также для того, чтобы играть роль арбитра в споре приложений за ресурсы компьютера в мультипрограммном режиме. Ни одно приложение не должно иметь возможности без ведома ОС получать дополнительную область памяти, занимать процессор дольше разрешенного операционной системой периода времени, непосредственно управлять совместно используемыми внешними устройствами.
Обеспечить привилегии операционной системе невозможно без специальных средств аппаратной поддержки. Аппаратура компьютера должна поддерживать как минимум два режима работы — пользовательский режим и привилегированный режим, который также называют режимом ядра, или режимом супервизора. Подразумевается, что операционная система или некоторые ее части работают в привилегированном режиме, а приложения — в пользовательском режиме.
ак как ядро выполняет все основные функции ОС, то чаще всего именно ядро становится той частью ОС, которая работает в привилегированном режиме (рис. 3.3). Иногда это свойство — работа в привилегированном режиме — служит основным определением понятия «ядро».
Понятие операционного окружения, состав, назначение. Стандартные сервисные программы поддержки операционного окружения. Понятие базовой машины, расширенной машины. Режим пользователя, режим супервизора.
Понятие операционного окружения, состав, назначение. Стандартные сервисные программы поддержки операционного окружения. Понятие базовой машины, расширенной машины. Режим пользователя, режим супервизора.
Любая сложная система должна иметь понятную и рациональную структуру, то есть разделяться на части — модули, имеющие вполне законченное функциональное назначение с четко оговоренными правилами взаимодействия. Ясное понимание роли каждого отдельного модуля существенно упрощает работу по модификации и развитию системы. Напротив, сложную систему без хорошей структуры чаще проще разработать заново, чем модернизировать.
Функциональная сложность операционной системы неизбежно приводит к сложности ее архитектуры, под которой понимают структурную организацию ОС на основе различных программных модулей. Обычно в состав ОС входят исполняемые и объектные модули стандартных для данной ОС форматов, библиотеки разных типов, модули исходного текста программ, программные модули специального формата (например, загрузчик ОС, драйверы ввода-вывода), конфигурационные файлы, файлы документации, модули справочной системы и т. д.
Большинство современных операционных систем представляют собой хорошо структурированные модульные системы, способные к развитию, расширению и переносу на новые платформы. Какой-либо единой архитектуры ОС не существует, но существуют универсальные подходы к структурированию ОС.
Ядро и вспомогательные модули ОС
Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы:
ядро — модули, выполняющие основные функции ОС;
модули, выполняющие вспомогательные функции ОС.
Модули ядра выполняют такие базовые функции ОС, как управление процесса ми, памятью, устройствами ввода-вывода и т. п. Ядро составляет сердцевину ОС, без него ОС является полностью неработоспособной и не сможет выполнить ни одну из своих функций.
Функции, выполняемые модулями ядра, являются наиболее часто используемые функциями операционной системы, поэтому скорость их выполнения определяет производительность всей системы в целом. Для обеспечения высокой скорости работы ОС все модули ядра или большая их часть постоянно находятся в оперативной памяти, то есть являются резидентными.
Ядро является движущей силой всех вычислительных процессов компьютерной системе, и крах ядра равносилен краху всей системы. Поэтому разработчики ОС уделяют особое внимание надежности кодов ядра, в результате процесс их отладки может растягиваться на многие месяцы.
Обычно ядро оформляется в виде программного модуля некоторого специального формата, отличающегося от формата пользовательских приложений.
Остальные модули ОС выполняют полезные, но менее обязательные функции. Например, к таким вспомогательным модулям могут быть отнесены программы архивирования данных на магнитной ленте, дефрагментации диска, текстового редактора. Вспомогательные модули ОС оформляются либо в виде приложений, либо в виде библиотек процедур.
Поскольку некоторые компоненты ОС оформлены как обычные приложения, то есть в виде исполняемых модулей стандартного для данной ОС формата, то часто бывает очень сложно провести четкую грань между операционной системой и приложениями (рис. 3.1).
Решение о том, является ли какая-либо программа частью ОС или нет, принимает производитель ОС. Среди многих факторов, способных повлиять на это решение, немаловажными являются перспективы того, будет ли программа иметь массовый спрос у потенциальных пользователей данной ОС.
Некоторая программа может существовать определенное время как пользовательское приложение, а потом стать частью ОС, или наоборот. Ярким примером такого изменения статуса программы является Web-браузер компании Мiсrоsoft, который сначала поставлялся как отдельное приложение, затем стал частью операционных систем Windows NT 4.0 и Windows 95/98, а сегодня существует большая вероятность того, что по решению суда этот браузер снова превратится в самостоятельное приложение.
Вспомогательные модули ОС обычно подразделяются на следующие группы:
утилиты — программы, решающие отдельные задачи управления и сопровождения компьютерной системы, такие, например, как программы сжатия дне ков, архивирования данных на магнитную ленту;
системные обрабатывающие программы — текстовые или графические редакторы, компиляторы, компоновщики, отладчики;
программы предоставления пользователю дополнительных услуг — специальный вариант пользовательского интерфейса, калькулятор, игры;
библиотеки процедур различного назначения, упрощающие разработку приложений, например библиотека математических функций, функций ввода- вывода и т. д.
Как и обычные приложения, для выполнения своих задач утилиты, обрабатывающие программы и библиотеки ОС, обращаются к функциям ядра посредством системных вызовов (рис. 3.2).
Разделение операционной системы на ядро и модули-приложения обеспечивает легкую расширяемость ОС. Чтобы добавить новую высокоуровневую функцию, достаточно разработать новое приложение, и при этом не требуется модифицировать ответственные функции, образующие ядро системы. Однако внесение изменений в функции ядра может оказаться гораздо сложнее, и сложность эта зависит от структурной организации самого ядра. В некоторых случаях каждое исправление ядра может потребовать его полной перекомпиляции.
Модули ОС, оформленные в виде утилит, системных обрабатывающих программ и библиотек, обычно загружаются в оперативную память только на время выполнения своих функций, то есть являются транзитными. Постоянно в оперативной памяти располагаются только самые необходимые коды ОС, составляющие ее ядро. Такая организация ОС экономит оперативную память компьютера.
Важным свойством архитектуры ОС, основанной на ядре, является возможность защиты кодов и данных операционной системы за счет выполнения функций ядра в привилегированном режиме.
Ядро в привилегированном режиме
Для надежного управления ходом выполнения приложений операционная система должна иметь по отношению к приложениям определенные привилегии. Иначе некорректно работающее приложение может вмешаться в работу ОС и, например, разрушить часть ее кодов. Все усилия разработчиков операционной системы окажутся напрасными, если их решения воплощены в незащищенные от приложений модули системы, какими бы элегантными и эффективными эти решения ни были. Операционная система должна обладать исключительными полномочиями также для того, чтобы играть роль арбитра в споре приложений за ресурсы компьютера в мультипрограммном режиме. Ни одно приложение не должно иметь возможности без ведома ОС получать дополнительную область памяти, занимать процессор дольше разрешенного операционной системой периода времени, непосредственно управлять совместно используемыми внешними устройствами.
Обеспечить привилегии операционной системе невозможно без специальных средств аппаратной поддержки. Аппаратура компьютера должна поддерживать как минимум два режима работы — пользовательский режим и привилегированный режим, который также называют режимом ядра, или режимом супервизора. Подразумевается, что операционная система или некоторые ее части работают в привилегированном режиме, а приложения — в пользовательском режиме.
Так как ядро выполняет все основные функции ОС, то чаще всего именно ядро становится той частью ОС, которая работает в привилегированном режиме (рис. 3.3). Иногда это свойство — работа в привилегированном режиме — служит основным определением понятия «ядро».
Вопрос №3. «Понятие базовой машины, расширенной машины»
Вопрос №2. «Стандартные сервисы программы поддержки операционного окружения».
Программа, созданная для работы в некоторой операционной системе, скорее всего не будет работать в другой операционной системе, поскольку API у этих операционных систем, как правило, различаются. Стараясь преодолеть это ограничение, разработчики операционных систем стали создавать так называемые программные среды.
Программную (системную) среду следует понимать как некоторое системное программное окружение, позволяющее выполнить все системные запросы от прикладной программы.
Системная программная среда, которая образуется кодом операционной системы, называется основной.
· Win16— первая версия Windows API для 16-разрядных версий Windows.
· Win32s— подмножество Win32, устанавливаемое на семейство 16-разрядных систем Windows 3.x и реализующее ограниченный набор функций Win32 API для этих систем.
· Win32— 32-разрядный API для современных версий Windows XP x32, Windows Server 2003 x32, Windows Vista x32, Windows 7. x32
· Win64— 64-разрядная версия, содержащая дополнительные функции для использования на 64-разрядных компьютерах. Win64 API можно найти только в 64-разрядных версиях Windows XP x64, Windows Server 2003 x64, Windows Vista x64, Windows Server 2008×64, Windows 7×64.
Таким образом, термин «операционная среда» означает соответствующие интерфейсы, необходимые программам и пользователям для обращения к управляющей (супервизорной) части операционной системы с целью получить определенные сервисы.
Стандартными сервисными программами поддержки операционного окружения являются:
· Компиляторы – программы в обязанности которых, входит преобразование исходного кода в исполняемый код.
Уровень аппаратных абстракций (HAL) представляет собой созданный производителями аппаратных систем слой программного обеспечения (драйвера), который скрывает различия аппаратуры от верхних уровней операционной системы.
Таким образом, благодаря обеспечиваемому уровнем аппаратных абстракций фильтру, различные аппаратные средства выглядят аналогично с точки зрения операционной системы..
Операционная система как расширенная (виртуальная) машина
Использование компьютера на уровне машинного языка затруднительно (ввод-вывод). Операционная система ограждает программистов от аппаратуры и занимается обработкой ввода-вывода, обработкой прерываний, управлением таймером, управлением оперативной памятью
С точки зрения пользователя операционная система выполняет функцию расширенной машины или виртуальной машины, в которой проще программировать и легче работать, чем непосредственно с аппаратным обеспечением, составляющим реальный компьютер.
Реальная машина, способная выполнять только небольшой набор элементарных действий, определяемых ее системой команд, превращается в виртуальную машину, выполняющую широкий набор гораздо более мощных функций. Виртуальная машина тоже управляется командами, но это уже команды другого, более высокого уровня: удалить файл с определенным именем, запустить на выполнение некоторую прикладную программу, повысить приоритет задачи, вывести текст из файла на печать.
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
Операционное окружение
Понятие стандартного операционного окружения (SOE — Standart Operating Enviroment). Операционная система как расширенная машина. Классы (уровни) прерываний. Порядок обработки, функции системы прерываний. Эффективность реализации системы прерываний ЭВМ.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 20.03.2012 |
Размер файла | 21,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Между операционным окружением и shell пролегает очень тонкая грань. Исторически shell создавались как интерфейс к операционной системе. Он не добавляли новых возможностей и свойств. В задачу shell входило создание более удобного пользовательского интерфейса. Но со временем появились «интелектуальные» shell. И в данный момент есть некоторые отличия между интелектуальным shell и операционным окружением.
Также операционное окружение иногда называют контролирующей программой (control program).
Операционная система как расширенная машина
Как было упомянуто ранее, архитектура (система команд, организация памяти, ввод-вывод данных и структура шин) большинства компьютеров на уровне машинного языка примитивна и неудобна для работы с программами, особенно в процессе ввода-вывода данных.
Чтобы это утверждение не показалось голословным, кратко рассмотрим пример того, как происходит ввод-вывод данных с гибкого диска через совместимые микросхемы контроллера NEC PD765, используемые на большинстве персональных компьютеров с процессором Intel. (В этой книге мы будем использовать и термин «гибкий диск», и термин «дискета».) Контроллер PD765 имеет 16 команд, каждая задается передачей от 1 до 9 байт в регистр устройства. Это команды для чтения и записи данных, перемещения головки диска и форматирования дорожек, а также для инициализации, распознавания, установки в исходное положение и калибровки контроллера и приводов.
Основными командами являются команды read и write (чтение и запись). Каждая из них требует 13 параметров, упакованных в 9 байт. Эти параметры определяют такие элементы, как адрес блока на диске, который нужно прочитать, количество секторов на дорожке, физический режим записи, расстановку промежутков между секторами. Они же сообщают, что делать с меткой адреса данных, которые были удалены. Когда выполнение операции завершается, чип контроллера возвращает упакованные в 7 байт 23 параметра, отражающие наличие и типы ошибок. Но этого не достаточно, и программист при работе с гибким диском должен также постоянно знать, включен двигатель или нет. Если двигатель выключен, его следует включить (с длительным ожиданием запуска) прежде, чем данные будут прочитаны или записаны. Двигатель не может оставаться включенным слишком долго, так как гибкий диск изнашивается. Программист вынужден выбирать между длинными задержками во время загрузки и изнашивающимися гибкими дисками (с вероятностью потери данных на них).
Даже если не вдаваться глубже в подробности этого процесса, становится ясно, что обыкновенный программист вряд ли захочет столкнуться с такими деталями при работе с гибким диском (или жестким диском, работа с ним не менее сложна).
Вместо этого программисту нужны простые высокоуровневые абстракции. В случае работы с дисками типичной абстракцией является коллекция именованных файлов, содержащихся на диске. Каждый файл может быть открыт для чтения или записи, прочитан или записан, а потом закрыт. А такие детали, как например, текущее состояние двигателя, не должны содержаться в абстракции, предстающей перед пользователем. С точки зрения пользователя операционная система выполняет функцию расширенной машины или виртуальной машины, в которой проще программировать и легче работать, чем непосредственно с аппаратным обеспечением, составляющим реальный компьютер (с базовой машиной).
Чтобы конкурирующие процессы не могли взаимно влиять друг на друга, часть команд компьютера должны быть зарезервированы для исполнения только ОС. Эти привилегированные инструкции должны представлять такие инструкции, как:
· инициирование и ликвидация прерываний;
· переключение процессов между процессами;
· доступ к регистрам, используемый оборудованием защиты памяти;
· остановка CPU и управление его операциями (пример: инициирование и ликвидация внутренних механизмов таких, как элементы ускорения операций с плавающей точкой и кэшей памяти).
Чтобы различать, когда можно, а когда нет выполнять привилегированные команды, большинство компьютеров работают более чем в одном режиме. В типичном случае есть два режима, часто известных как режим супервизора и режим пользователя. Если программе пользователя разрешить выполнение любых операций ввода-вывода, она могла бы вывести главный список паролей системы, распечатать информацию любого другого пользователя или вообще испортить операционную систему, поэтому все программы пользователя могут выполняться только в режиме пользователя.
Привилегированные команды могут выполняться только операционной системой в режиме супервизора.
Переключение из режима пользователя в режим супервизора происходит автоматически в следующих случаях:
· пользовательский процесс вызывает ОС для выполнения некоторых системных функций, требующих привилегированных команд. Такие вызовы называются вызовами супервизора или системными вызовами;
· возникновение ошибки в пользовательском процессе. Это условие можно понимать как «внутреннее прерывание” и обрабатываться в первую очередь соответствующей процедурой прерывания;
· когда делается попытка выполнения привилегированной инструкции в режиме пользователя. Эта попытка может рассматриваться как особый вид ошибки и обрабатываться как в случае (с);
Переключение из режима супервизора назад в режим пользователя происходит по привилегированной команде.
В процессе развития компьютерных архитектур выявилась тенденция к увеличению количества привилегированных команд, т. е. команд, которые не могут выполняться в режиме задачи. Это служит свидетельством определенной тенденции к реализации большего числа функций операционных систем аппаратными средствами. Во многих случаях значительная часть функций операционной системы реализуется в аппаратуре.
операционный система прерывание standart
Сегодня к ОС предъявляется множество требований. Главными из них, конечно же, являются выполнение функций эффективного управления ресурсами вычислительной системы и обеспечение удобного интерфейса для пользователя и прикладных программ. Кроме того, можно выделить ряд основных требований, которым должна удовлетворять любая современная ОС.
Производительность. ОС должна обладать настолько хорошим быстродействием и временем реакции, насколько это позволяет аппаратная платформа.
Надежность. Это требование ОС определяется архитектурными решениями, положенными в ее основу, а также качеством реализации.
Защищенность. Система должна быть защищена как от внутренних, так и от внешних ошибок, сбоев и отказов. Ее действия должны быть всегда предсказуемы, а приложения не должны иметь возможности наносить вред.
Расширяемость. ОС является расширяемой, если в нее можно вносить дополнения и изменения, не нарушая целостности системы. Расширяемость достигается за счет модульной структуры ОС, при которой программы строятся из отдельных модулей, взаимодействующих только через функциональный интерфейс.
Переносимость. В идеальном случае ОС должна легко переноситься с одного типа аппаратной платформы на другой.
Совместимость. Сохранение возможности использования прикладных программ, написанных для «старой” или вообще другой ОС, в новой ОС.
Удобство. Средства ОС должны быть простыми и гибкими, а логика ее работы ясна пользователю.
Зачастую некоторые из требований могут противоречить друг другу. Например, на осуществление необходимых проверок и управления, связанных с обеспечением защиты, расходуется как процессорное время, так и некоторые другие ресурсы вычислительной системы. Несмотря на это, любая современная система должна обладать перечисленными выше свойствами.
Во время выполнения программы внутри ЭВМ и во внешней среде могут возникать события, требующие немедленной реакции на них со стороны машины. Реакция состоит в том, что машина прерывает обработку текущей программы и переходит к выполнению некоторой другой программы, специально предназначенной для данного события. По завершении этой программы ЭВМ возвращается к выполнению прерванной программы. Такой процесс называется прерыванием.
Принципиально важным является то, что моменты возникновения событий, требующих прерывания программ, заранее неизвестны и поэтому не могут быть учтены при программировании.
Программные прерывания возникают при выполнении особой команды процессора, имитирующей прерывание. То есть после этой команды происходит переход на новую последовательность команд.
Прерывание работы МП по запросу внешних устройств устраняет необходимость выполнения МП неэффективных операций по проверке готовности внешних устройств к обмену данными и снижает затраты времени на ожидание готовности периферийного устройства к обмену. Прерывания необходимы при обмене данными с большим числом асинхронно работающих внешних устройств.
В сущности, запросы прерывания поступают от нескольких параллельно развивающихся во времени процессов, требующих в произвольные моменты времени обслуживания со стороны процессора. К этим процессам относится выполнение основной программы, контроль правильности работы ЭВМ, операции ввода-вывода и т.п.
Система прерываний позволяет значительно эффективнее использовать процессор при наличии нескольких протекающих параллельно во времени процессов.
Для эффективной реализации системы прерываний ЭВМ снабжается соответствующими аппаратными и программными средствами, совокупность которых называется контроллером прерываний.
Порядок обработки прерывания
Основными функциями системы прерываний являются:
· запоминание состояния прерываемой программы;
· осуществление перехода к прерывающей программе;
· восстановление состояния прерванной программы;
· возврат к прерванной программе.
Обычно прерывание допускается после завершения выполнения текущей команды. В этом случае время реакции определяется в основном временем выполнения одной команды.
Это время реакции может оказаться недопустимо большим для ЭВМ, работающих в реальном масштабе времени. В таких машинах часто допускается прерывание после любого такта выполнения команды. Однако при этом возрастает количество информации, подлежащей запоминанию и восстановлению при переключении программ, так как в этом случае необходимо сохранять состояния счетчика тактов, регистра кода операции и некоторые другие в момент прерывания.
Классы (уровни) прерываний
В ЭВМ число различных запросов прерывания может достигать нескольких сотен. В таких случаях запросы обычно разделяют на отдельные классы или уровни.
Совокупность запросов, инициирующих одну и ту же прерывающую программу, образует класс или уровень прерывания. Объединение запросов в классы прерывания позволяет уменьшить объем аппаратуры, но связано с замедлением работы системы прерывания.
Вектором прерывания называют электрический сигнал, посылаемый на шины процессора. По вектору прерывания можно определить всю необходимую информацию для перехода к прерывающей программе, в том числе ее начальный адрес. Каждому уровню прерывания соответствует свой вектор прерывания. Векторы прерывания обычно находятся в специально выделенных фиксированных ячейках памяти.
Таблица векторов прерываний
Начальный адрес подпрограммы обработки вектора 1
Начальный адрес подпрограммы обработки вектора n
Процедура организации перехода к прерывающей программе выделяет из всех выставленных запросов тот, который имеет наибольший приоритет, выполняет передачу текущего состояния прерываемой программы из регистров процессора в стек, загружает в регистры процессора вектор прерывания и передает управление прерывающей программе.
Организация вложенных прерываний
Возможна ситуация, когда в момент обработки первого прерывания приходит запрос на еще одно прерывание.
При наличии нескольких источников запросов прерываний должен быть установлен определенный порядок в обслуживании поступающих запросов.
В системе установлены приоритетные соотношения между запросами прерываний.
Приоритетные соотношения определяют, какой из нескольких поступивших запросов подлежит обработке в первую очередь, и устанавливают, имеет или не имеет право данный запрос прерывать ту или иную программу.
Например, запрос на прерывание от таймера всегда приоритетнее запроса от любого внешнего устройства, а программы пользователя имеют самый низкий приоритет и могут быть прерваны чем угодно.
Различают использование абсолютных и относительных приоритетов.
Схема с абсолютными приоритетами:
Поступивший запрос с более высоким приоритетом, чем обрабатывающийся сейчас, прерывает выполняемую программу.
Схема с относительными приоритетами:
Поступивший запрос является первым кандидатом на обслуживание после завершения выполнения текущей программы. Даже если его приоритет выше, все равно выполняющаяся программа должна завершиться.
Если наиболее приоритетный из выставленных запросов прерывания не превосходит по уровню приоритета выполняемую процессором программу, то запрос прерывания игнорируется или его обслуживание откладывается до завершения выполнения текущей программы.
Размещено на Allbest.ru
Подобные документы
Изучение понятия, векторов и механизмов обработки прерываний; их классификация в зависимости от источника происхождения. Особенности реагирования аппаратной и программной частей операционной системы на сигналы о совершении некоторого события в компьютере.
реферат [995,8 K], добавлен 22.06.2011
Принципы организации и особенности обработки прерываний на основе контроллера 8259A. Общая характеристика аппаратных средств системы прерываний PIC (Programmable Interrupt Controller). История разработки и порядок работы с технологией Plag and Play.
курсовая работа [305,1 K], добавлен 29.07.2010
Принципы и алгоритмы обработки прерываний. Набор действий по реализации этапов обработки прерываний микропроцессора. Разработка структуры и алгоритма резидентной программы. Реализация программы на языке Ассемблер, методы её отладки и тестирования.
курсовая работа [348,7 K], добавлен 22.12.2014
Проектирование механизма обработки прерываний. Контроллер прерываний Intel 82C59A. Ввод-вывод по прерыванию. Программируемый контроллер интерфейса Intel 82C55A. Роль процессора в обработке прерывания ввода-вывода. Обзор алгоритма обработки прерывания.
контрольная работа [8,0 M], добавлен 19.05.2010
Прерывание и его природа. Контролер прерываний. Обработка прерываний в реальном режиме. Характеристики реального режима работы микропроцессора. Схема обработки прерываний в реальном режиме. Написание собственного прерывания. Разработка в общем случае.
доклад [347,0 K], добавлен 22.09.2008
Генерация звука и обработка прерываний. Создание системы с использованием средств языка программирования Ассемблер. Установка и чтение таймера. Программирование микросхемы таймера 8253/8254. Максимальный программируемый интервал времени для системы.
реферат [21,4 K], добавлен 10.05.2011
реферат [192,2 K], добавлен 10.11.2014