Главная » Просмотр файлов » Гордеев А.В. Операционные системы (2-е изд., 2004)

Гордеев А.В. Операционные системы (2-е изд., 2004) (1186250), страница 5

Файл №1186250 Гордеев А.В. Операционные системы (2-е изд., 2004) (Гордеев А.В. Операционные системы (2-е изд., 2004)) 5 страницаГордеев А.В. Операционные системы (2-е изд., 2004) (1186250) страница 52020-08-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 5)

Примерами являются следу­ющие запросы на прерывания:20Глава 1. Основные понятияQ при нарушении адресации (в адресной части выполняемой команды указан зап­рещенный или несуществующий адрес, обращение к отсутствующему сегментуили странице при организации механизмов виртуальной памяти);•при наличии в поле кода операции незадействованной двоичной комбинации;•при делении на ноль;Q вследствие переполнения или исчезновения порядка;Q от средств контроля (например, вследствие обнаружения ошибки четности,ошибок в работе различных устройств).ИсполняемаяпрограммаОтключениепрерываний,сохранениеконтекста прерваннойпрограммы, установкарежима работы системыпрерыванийСобственно телопрограммы обработкипрерыванияВосстановлениеконтекста прерваннойранее программы,установка прежнегорежима работысистемы прерыванийРис.

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

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

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

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

Второй способ, дополняя первый, позволяет применять различныедисциплины обслуживания прерываний.Средства контроля процессораСистемный таймерМагнитные дискиВнешние устройства < Сетевое оборудованиеТерминалыммные прерыванияРис. 1.3. Распределение прерываний по уровням приоритетаНаличие сигнала прерывания не обязательно должно вызывать прерывание ис­полняющейся программы.

Процессор может обладать средствами защиты от пре­рываний: отключение системы прерываний, маскирование (запрет) отдельных сиг-22Глава 1. Основные понятияналов прерывания. Программное управление этими средствами (существуют спе­циальные команды для управления работой системы прерываний) позволяет опе­рационной системе регулировать обработку сигналов прерывания, заставляя про­цессор обрабатывать их сразу по приходу; откладывать обработку на некотороевремя; полностью игнорировать прерывания. Обычно операция прерывания вы­полняется только после завершения выполнения текущей команды.

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

Для реализации этого режима необходимо на времяобработки прерывания замаскировать все запросы с более низким приорите­том. При этом возможно многоуровневое прерывание, то есть прерывание про­грамм обработки прерываний. Число уровней прерывания в этом режиме изме­няется И зависит от приоритета запроса.•По принципу стека, или, как иногда говорят, по дисциплине LCFS (Last ComeFirst Served — последним пришел, первым обслужен), то есть запросы с болеенизким приоритетом могут прерывать обработку прерывания с более высокимприоритетом.

Дли этого необходимо не накладывать маску ни на один из сиг­налов прерывания и не выключать систему прерываний.Следует особо отметить, что для правильной реализации последних двух дисцип­лин нужно обеспечить полное маскирование системы прерываний при выполне­нии шагов 1-4 и 6-7. Это необходимо для того, чтобы не потерять запрос и пра­вильно его обслужить.

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

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

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

Это — перваясекция, в которой осуществляется сохранение контекста прерываемых вычисле­ний, который не смог быть сохранен на шаге 2, и последняя, заключительная сек­ция, в которой, наоборот, осуществляется восстановление контекста. Для того что­бы система прерываний не среагировала повторно на сигнал запроса на прерывание,она обычно автоматически «закрывает» (отключает) прерывания, поэтому необ­ходимо потом в подпрограмме обработки прерываний вновь включать систему пре­рываний. В соответствии с рассмотренными режимами обработки прерываний(с относительными и абсолютными приоритетами и по правилу LCFS) установкаэтих режимов осуществляется в конце первой секции подпрограммы обработки.Таким образом, на время выполнения центральной секции (в случае работы в ре­жимах с абсолютными приоритетами и по дисциплине LCFS) прерывания разре­шены.

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

Наконец, перед тем, как передать управление на эту подпрограмму, супер­визор прерываний устанавливает необходимый режим обработки прерывания.После выполнения подпрограммы обработки прерывания управление вновь пере­дается ядру операционной системы. На этот раз уже на тот модуль, который зани­мается диспетчеризацией задач (см. раздел «Планирование и диспетчеризацияпроцессов и задач» в главе 2). И уже диспетчер задач, в свою очередь, в соответ­ствии с принятой дисциплиной распределения процессорного времени (междувыполняющимися вычислительными процессами) восстановит контекст той за­дачи, которой будет решено выделить процессор.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6541
Авторов
на СтудИзбе
300
Средний доход
с одного платного файла
Обучение Подробнее