Операционные системы 2011 (1114689), страница 14
Текст из файла (страница 14)
Простейшая модельследующая. Важно отметить, что буфер для сохранения актуального состояния в системеодин, поэтому, если пришло прерывание и система что-то положила в буфер, нужновременно запретить запись информации относительно нового прерывания в этот буфер.Поэтому включается режим блокировки прерываний. При этом режиме в системезапрещается инициализация новых прерываний: возникающие в это время прерываниямогут либо игнорироваться, либо откладываться (зависит от конкретной аппаратурыкомпьютера и типа прерывания).3.Аппаратное копирование содержимого сохраняемых регистров («малоеупрятывание»). Включенный режим блокировки прерывания гарантирует сохранностьэтих данных до момента завершения предварительной обработки прерывания ивыключения блокировки прерываний.434.Переход на программный этап обработки прерываний.
Аппаратно передаёмуправление на некоторую фиксированную точку в ОЗУ, в которой предполагаетсяналичие программы обработки прерываний операционной системы. Для перехода напрограммный этап обработки прерываний необходимо решить вопрос, как аппаратурапередаст операционной системе информацию о том, прерывание какого типа произошло.Существует несколько моделей аппаратного решения этого вопроса.Первая модель — использование специального регистра прерываний, каждыйразряд которого соответствует конкретному типу прерывания, т.е.
если, к примеру, вразряде, соответствующем прерыванию от клавиатуры появляется единица, это означает,что произошло соответствующее прерывание. Для расширения числа обрабатываемыхпрерываний возможно использование иерархической модели регистров прерывания(Рис. 30). Она предполагает, что имеется главный регистр прерывания ипериферийные. В главном регистре прерывания выделяются разряды, отвечающие нетолько за появление конкретных прерываний, но и разряды, отвечающие за появлениепрерываний в периферийных регистрах. В данной модели управление передается воперационную систему на адрес входа в программу.№ ПрерыванияПериферийные0 1 2 3 4 5 ..регистры0 1 0 0 1 00 0 0Главный регистрпрерываний00 1 0Произошло прерывание №1ОС передается адрес входа всоответствующую программу0Обработка прерыванияпериферийного устройстваРис.
30. Иерархическая модель регистров прерываний.Вторая модель — использование вектора прерываний. Предполагается, что поколичеству возможных прерываний в ОЗУ выделена группа машинных слов — векторпрерываний. Каждое слово вектора прерываний содержит адрес программы,обрабатывающей данное прерывание (Рис. 31).
При возникновении прерывания послесохранения регистров осуществляется передача прерывания по адресу, соответствующемуномеру прерывания.ОЗУПрерывание_№ 2ВекторпрерыванийЗапуск программыобработчикапрерывания №2Адрес программыобработки прерывания № 1Адрес программыобработки прерывания № 2Адрес программыобработки прерывания № 3.........Рис. 31. Модель организации прерываний с использованием «вектора прерываний».44Третья модель — использование регистра слова состояния процессора(Рис. 32). В этом случае в данном регистре резервируется часть разрядов – поле, в котороепередаётся номер возникшего прерывания.
В этой модели управление передается нафиксированный адрес входа в программу обработки прерываний.Ошибка!Рис. 32. Модель организации прерываний с использованием регистра слова состоянияпроцессора.Теперь рассмотрим этап программной обработки прерывания. Управлениепередано на адрес программы ОС, занимающейся обработкой прерывания. При входе вэту точку часть ресурсов ЦП, используемых программами, освобождена (в результатеаппаратного упрятывания регистров).
Поэтому будет запущена программа ОС, котораяможет использовать только освобожденные ресурсы ЦП (перечень доступных в этотмоментрегистров —характеристикааппаратуры).Выполняетсяследующаяпоследовательность действий (Рис. 33).Рис. 33. Программный этап обработки прерываний.1.Анализ и предварительная обработка прерывания. Происходитидентификация типа прерывания, определяются причины.Если прерывание «короткое», т.е. обработка не требует дополнительныхресурсов ЦП и времени, то прерывание обрабатывается, выключается режим блокировкипрерываний, восстанавливается состояние процессора, соответствующее точкепрерывания исходной программы, и передается управление на прерванную точку.Примером подобного «короткого» прерывания может служить прерывание от таймера длякоррекции времени в системе. Если прерывание требует использования всех ресурсов ЦП,то переходим к следующему шагу.Если прерывание является «фатальным» для программы, т.е.
после этогопрерывания продолжить выполнение программы невозможно (например, в программепроизошло деление на ноль или обращение к несуществующему в ОЗУ адресу), то45выключается режим блокировки прерываний, и управление передается в ту часть ОС,которая прекратит выполнение прерванной программы.2.«Полное упрятывание».
Если прерывание не короткое и не фатальное(например, обращение к области памяти, которая закрыта для обращения – например,чтение информации с внешнего носителя), то для обработки такого прерыванияпотребуются ресурсы. Поэтому осуществляется полное сохранение контекста (т.е. всехрегистров ЦП, использовавшихся прерванной программой) в специальную программнуютаблицу. В данную таблицу копируется содержимое регистровой или КЭШ-памяти,содержащей сохраненные значения ресурсов ЦП, а также копируются все оставшиесярегистры ЦП, используемые программно, но не сохраненные аппаратно. После данногошага программе обработки прерываний становятся доступны все ресурсы ЦП, апрерванная программа получает статус ожидания завершения обработки прерывания.
Вобщем случае, программ, ожидающих завершения обработки прерывания, может бытьпроизвольное количество.3.До данного момента времени все действия происходили в режимеблокировки прерываний. Почему? Потому что режим блокировки прерываний —единственная гарантия того, что не придет новое прерывание, и при его обработке непотеряются данные, необходимые для продолжения прерванной программы (регистры,режимы, таблицы ЦП). После полного сохранения регистров происходит снятие режимаблокировки прерываний, то есть включается стандартный режим работы процессора, прикотором возможно появление прерываний.4.Операционная система завершает обработку прерывания.Мы рассмотрели модельную, упрощенную схему обработки прерывания: вреальных системах она может иметь отличия и быть существенно сложнее. Но основныеидеи обычно остаются неизменными.
Аппарат прерываний позволяет системефиксировать и корректно обрабатывать различные события, возникающие как внутрикомпьютера, так и вне него.1.2.4 Внешние устройстваВнешние устройства во многом определяют эксплуатационные характеристики,как компьютера, так и вычислительной системы в целом. Размер экрана монитора, объеми производительность магнитных дисков, наличие печатающих устройств, модемов, ит.д. — характеристики компьютера, на которые зачастую в первую очередь обращаетвнимание массовый пользователь.
Значимость внешних устройств компьютера ввычислительной системе возрастала по мере развития сфер применения вычислительнойтехники. Основным применением первых компьютеров было численное решение задачмоделирования физических процессов, и для этих целей было достаточным иметь вкомпьютере высокопроизводительный (по меркам того времени) процессор, достаточныйдля решения задач данного класса объем оперативной памяти, простейшие устройствапечати и ввода данных, внешнее запоминающее устройство для хранения исходных ипромежуточных данных. Спектр же внешних устройств современных компьютеровнесоизмеримо шире, что соответствует разнообразию задач, решаемых средствамисовременных вычислительных систем (Рис. 34).46Внешние устройстваВнешние запоминающиеустройстваУстройствапоследовательногодоступаМагнитнаялентаУстройства ввода иотображения информацииУстройства ПечатныепрямогоустройствадоступаМониторыУстройства приема ипередачи информацииУстройствавводаизображенияМагнитныйдискБарабанныеCRT (ЭЛТ)СканерыОптическиедискиСтруйныеTFT, LCD(ЖКЭ)КлавиатурыМагнитныйбарабанГрафопостроителиМодемФаксМышьРис.
34. Иерархия внешних устройств.Мы более подробно остановимся на характеристиках и особенностяхиспользования внешних запоминающих устройств, как наиболее интенсивноиспользуемых программами внешних устройствах вычислительных систем.1.2.4.1 Внешние запоминающие устройстваВнешние запоминающие устройства (ВЗУ) предназначены для организациихранения данных и программ. Обычно обмен с ВЗУ происходят некоторыми порциямиданных, которые называются записями. Данные, размещенные на ВЗУ, представляются ввиде последовательности записей. Существует категория ВЗУ, называемые блочнымиустройствами, которые допускают выполнение обменов исключительно записямификсированного размера — блоками.
Примером блочных устройств могут служитьразличные типы магнитных дисков. Обычно размер блоков (физических блоков), обменкоторыми может осуществляться с блочными устройствами, определяется аппаратно иможет зависеть от конкретной модели и типа устройства. Альтернативой блочным ВЗУявляются устройства, аппаратно допускающие обмен записями произвольного размера.Примером таких устройств являются устройства хранения информации на магнитныхлентах.ВЗУ могут разделяться на две группы по возможностям доступа к хранящимсяданным. Первая группа — устройства, аппаратно допускающие как операции чтения, таки операции записи.
Примером устройств данной группы может служить жесткий диск.Вторая группа — устройства, позволяющие выполнять только операции чтения данных,например, в эту группу входят устройства CD-ROM (compact disk read-only memory),DVD-ROM (digital video/versatile disc read-only memory).Внешние запоминающие устройства могут, также подразделяться на устройствапрямого доступа и устройства последовательного доступа. Рассмотрим принципыорганизации и общие характеристики устройств, принадлежащих каждой из этих групп.Устройства последовательного доступа — это устройства, при доступе ксодержимому произвольной записи которых «просматриваются» все записи,предшествующие искомой. Рассмотрим в качестве примера ВЗУ последовательногодоступа устройство хранения данных на магнитной ленте.