В. Столлингс - Операционные системы (1114679), страница 104
Текст из файла (страница 104)
Выполняющийся процессором код может быть кодом процесса, обратившегося к устройству ввода- вывода, если нет необходимости в ожидании выполнения операции вво вывода. В противном случае процесс приостанавливается до получения п рывания, и процессор переключается на выполнение другого процесса. Прямой доступ к памяти, Модуль прямого доступа к памяти управляет об ном данных между основной памятью и контроллером ввода-вывода.
Процесса посылает запрос на передачу блока данных модулю прямого доступа к пам а прерывание происходит только после передачи всего блока данных. В табл, 11.1 показана связь между перечисленными способами. В болып э компьютерных систем основным способом передачи данных, поддержив м операционной системой, является прямой доступ к памяти. >лица 11.1. Способы ввода-вывода С л а рер наний Без использования прерываний Программируемый ввод-вывод эредача данных из устройства |ода-яыяола я память с исполь- юанием процессора Ввод-вывод, управляем прерыванием Прямой доступ к памя (ВМА) рямэя передача данных из уст- >йства ввода-вывода в память волюция Функций ввода-вывода Параллельно с развитием компьютерных систем возрастает сложность злектуальность их отдельных компонентов, что заметнее всего в области -вывода. Этапы развития функциональности устройств ввода-вывода м арактеризовать следующим образом.
1. Пропессор непосредственно управляет периферийным устройством. 2. К устройству добавляется контроллер или модуль ввода-вывода. Проц использует программируемый ввод-вывод без прерываний. На этом процессор становится в некоторой степени отделенным от конкретных лей интерфейсов внешних устройств. "ется та же конфи»'Урация, чта и в пункте 2 только > о ько с использова и расходовать "ием прерываний В Р~зультате процессору нет необходимости асх время на ожидание выполнения операций ввода-вывода что , ч о приводит к уве чичекию производительности 4. Моу ° д ль ввода-вывода получает возможность непосредственной работь» с и мятью с использованием ВМА. Появляется возможность перемещения бло ка данных в память или из нее без использования процесса" "а "за исключением моментов качала и окончания передачи данных). 5.
Мо ьв дул вода-вывода совершенствуется и становится отдельны м процессором, обладающим специализированной системой команд, предназначенных для ввода-вывода. Центральный процессор дает задание процессору ввода- вывода выполнить программу ввода-вывода, находящуюся в основной памяти. Процессор ввода-вывода производит выборку и выполнение соответствующих команд без участия центрального процессора. Такая праце а зволяет ет центральному процессору определить последовательность выполкяемь»х Функций ввода-вывода и быть прерванным только при выполнении всей последовательности. 6. Модуль ввода-вывода обладает своей локальной памятью и является, по сути, отдельным компьютером. При такой архитектуре управление многочисленными устройствами ввода-вывода может осуществляться при минимальном вмешательстве центрального процессора.
Обычно такая архитектура используется для управления связью с интерактивными терминалами. Процессор ввода-вывода берет на себя большинство задач, связанных с управлением терминалами. Е'"" "р" слить описанный выше гу ь развития ус Р йс в ввода-вы, да, ~~~~~, что вмешательство процессора в функции ввода-вывода стано все менее заметным. Центральный процессор все больше и больше освобождается ат задач, связанных с вводом-выводом, что приводит к повышению общей производительности.
Этапы 5 и ы 5 и б отражают изменение концепции устройства ввода-вывода— отныне он способен к самостоятельному выполнению программы. Обратите внимание на терминологию. Для всех модулей, описанных в пунктах 4 — б, вполне применим термин "прямой доступ к памяти'*„поскольку каждый из ких использует непосредственное управление основной памятью модулем ввода- вывода. Модуль ввода-вывода, описанный в пункте б, часто называется также каналоь» ввода-вывода, а модуль, описанный в пункте 6, — процессором ввода-вывода. Ро, »»огда в литературе каждый из этих терминов используется и для описа- киЯ д гого т» ру типа устройств.
В оставшейся части главы мы используем термин '*какал ввода-вывода" для обоих типов модулей ввода-вывода. 11рямой доступ к памяти На ис. 11. Р с. 11.2 представлена логическая схема прямого доступа к памяти. УстРойство прямого ас „ос~ па к памяти способно дублировать Функции проц сти па ать от луч т процессора управление системой.
Эта вазможность необходима ему длЯ пе ачи Ред и данных по системной шине — как в память, так и из нее. Обычно модуль ВМА использ е ользует системную шину лишь в том случае, когда процессор не нуждается в ней»в и тивн ротивном случае ему придется вынудить процессор временно приос- Часть 6. Операции ввода-вывода и Глава 1 11. УПРавление вводом-выводом и дисковое планирование 549 Ааресные пинии Запрос 0МА Роатвер»кренив (»МА прерывание Чтение Запись 'Часть 5 Операции ввода-вывода и вить свою работу).
Этот способ наиболее распространен и именуется захватом Фж а так как модуль ВМА выполняет захват цикла шины. Рис, 11.2. Блок-слема прямоао доступа к памяти Рассмотрим работу схемы прямого доступа к памяти. В тот момент, цессору необходимо произвести считывание или запись блока данных, :няет запрос к модулю ВМА, передавая ему следующую информацию. Какая из операций — чтения или записи — запрашивается. В зависи от этого будет использоваться либо управляющая линия чтения, либо си между процессором и модулем ВМА. Адрес используемого устройства ввода-вывода, подключенного к данн Начальный адрес считываемой (или записываемой) области памяти, щнйся в адресном регистре модуля ВМА.
Какое количество слов необходимо прочесть или записать. Эта вел хранится в регистре счетчика данных модуля ВМА После этого процессор продолжает свою работу с другим заданием, п давление операпией ввода-вывода модулю ВМА. В свою очередь модуль нуя процессор, передает весь блок данных непосредственно в памят атывает данные из нее).
После выполнения передачи данных модуль ВМА лает процессору сигнал прерывания. Таким образом, процессор включа »т процесс лишь в начале и в конце передачи данных (рис. 1.19,в). На рис. 11.3 показаны позиции цикла команд, в которых работа процесса жет быть приостановлена. В любом случае приостановка работы процессора ходит только при необходимости использования шины. После этого устро ВМА выполняет передачу одного слова и возвращает ение процессору. щ» тите внимание на то, что это не прерывание. процессо Реходом к выполнению другого задания.
Процессор просто дел т Узу на время одного цикла шины. Общее влияние ВМА состоит в нескольк бо о лее замедленной работе процессора. Тем не менее для передачи большого блока данн данных модулем ввода-вывода метод прямого доступа к памяти более эффективен, чем метод с нспользо ванием прерываний или программируемый ввод-вывод. Точки Точка прерывания СМА пРерывания Рис. 11.3. ВМА и точки.
прерывания цикла команд Конфигурирование прямого доступа к памяти может быть выполнено различными способами; некоторые из них представлены на рис. 11.4. В первом примере все модули подключены к одной и той же системной шине. Модуль ВМА, выс паю тупающий в качестве дублера процессора, использует программируемый ввод-вывод для обмена данными между памятью и устройегвом ввода- вывода с участием модуля ВМА. Несмотря на достоинство такой конфигурации, заключаю еес щ еся в относительнои дешевизне, она малоэффективна. Поскольку используется программируемый ввод-вывод под управлением процессора, на пеРедачу каждого слова затрачиваются два цикла шины (после запроса на передачу следует передача данных).
Число нео необходимых циклов шины может быть в значительной степени Уменьшено путем интегрирования ВМА и функций ввода-вывода. При этом подразумевается (ка (как показано на рис. 11.4,о) наличие магистрали между модулем ВМАионими д им или несколькими устройствами ввода-вывода без подключения системной шины. Л ы.
Логическин узел ВМА на самом деле может быть как частью модуля вво а-выв да-вывода, так и отдельным модулем, контролирующим один или несколько ст ой у гройств ввода вывода, 3ту идею можно развивать путем доб модулей вво а-в У ода-вывода к модулю ВМА с использованием шины ввода-вывода (Рис. 11.4 в). Так , ). кая схема позволяет свести количество интерфейсов ввода- Гл ава 11. Управление вводом-выводом и дисковое планирование 551 ь не знает никаких де деталей выполнения поставленных задач более низ тм уровнем.
о свое стороны л .. С й о оны любой из уровней обеспечивает обслуживание ~едующего верхнего уровня. я. В идеале уровни нужно организовывать таким ;разом, чтобы изменения в одно в одном уровне не приводили к необходимости вне ,ния изменений в остальных уровнях.
Вообще говоря, чем ниже уро иже уровень тем более короткой оказывается его вреенная шкала. екоторые . Н части операционной системы должны непосредствено взаимоде ство й твовать с аппаратным оборудованием компьютера, где продолжи.льность различных со ы б тий может оказаться на уровне нескольких микро унд; другие части операци н ионной системы работают с пользователем, вв о ин аз в несколько оманд которым может осуществляться со скоростью д р хо ит ля этих условий уяд. Использование множества уровней идеально подход д Такая Философия по отношению к средствам ввода-вывода определяет ор изацию, приведенную на рис.