Для чего служит уровень устройств управления внешними устройствами
Управление внешними устройствами ПК.
Управление внешними устройствами ПК.
Каждый контроллер имеет свой набор команд. Получив команду от процессора, выполняющего программу ввода-вывода, контроллер отрабатывает команду автономно, управляя внешним устройством через «малый» интерфейс между устройством и контроллером. Контроллер, отрабатывая принятую от процессора команду, пересылает во внешнее устройство свои команды, данные и читает из устройства состояния, данные (команды и состояния обычно представляют собой высокий или низкий уровень напряжения в соответствующей линии «малого» интерфейса, импульс или последовательность импульсов в соответствующей линии «малого» интерфейса). Кроме того, контроллер может выполнять ряд вспомогательных аппаратных функций инициируемых аппаратными сигналами или записью управляющей информации в его программно-доступный регистр (например, сброс по сигналу RESET или включение шпиндельного двигателя гибкого диска путем записи в регистр 3F2 контроллера гибкого диска управляющей информации).
Существуют простые контроллеры и более сложные (интеллектуальные) контроллеры, выполняющие более сложные аппаратные функции и команды. Процессор управляет внешним устройством, выполняя соответствующую программу ввода/вывода, где он с помощью команд IN, OUT (чтение порта, запись в порт) имеет доступ к программно-доступным регистрам контроллера. В регистр управления процессор записывает команду, из регистра состояния читает информацию о состоянии внешнего устройства и контроллера, в регистр данных записывает выводимые на устройство данные, или читает из регистра данных считываемую с устройства информацию.
Возможны два способа организации программного обмена с внешними устройствами: обмен с опросом готовности устройства, обмен по запросам на обслуживание устройства (запросам на маскируемое прерывание).
При первом способе обмена, выполняя программу ввода-вывода, процессор запустит в контроллере операцию и циклически читает регистр состояния контроллера. Он ожидает появления (в соответствующем разряде регистра состояния) признака готовности к обмену данными с процессором. При появлении этого признака в регистре состояния процессор с помощью команды OUT осуществляет запись в регистр данных (при выводе на устройство), или выполняет чтение информации из регистра данных контроллера с помощью команды IN (при вводе с устройства). После чего запускает в контроллере следующую операцию и т. д.
При выполнении обмена по второму варианту, процессор, выполняя программу, и запустив на контроллере операцию, не ожидает готовности контролера к обмену данными. Он продолжает выполнять полезную программу. Контроллер внешнего устройства в случае полной готовности к обмену данными с процессором выдает на соответствующую линию IRQ сигнал запроса на обслуживание. Процессор через выполнение процедуры прерывания по сигналу IRQ (в ее выполнении участвуют контроллер прерываний и контроллер шины) переходит на выполнение программы ввода/вывода для данного устройства. Эта программа осуществляет обмен данными через регистр данных контроллера, запускает в контроллере следующую операцию и т. д. Процессор возвращается к выполнению прерванной программы через выполнение команды IRET (возврат из прерывания), которой заканчивается программа ввода/вывода, и т. д.
Прямой доступ (DMA).
Билет.Управление внешними устройствами. Архитектура.
Непосредственноеуправление Внешними устройствами ЦП. В основном требуется переместить данные из ВУ в ОЗУ (и наоборот). ЦП по своей инициативе почти никогда не обращается к ОЗУ.
Историческая модель основана на том, что управление осуществлялось с помощью ЦП.
Когда говорится о том, что организовано управление внешним устройством, то подразумевается, что реализуется два потока информации: поток управляющей информации (команды) ; поток данных, т.е. поток той информации, которая начинает двигаться от ОП к внешнему устройству, за счет потока управляющей информации.
Поток управляющей информации обеспечивает управление ВУ, поток данных начинает двигаться от ВУ к ОЗУ в результате выполнения 1ого потока. Оба потока обрабатывает ЦП, что «отвлекает» его от других задач пользователя.
Синхронное управление внешними устройствами с использованием контроллеров внешних устройств: ОЗУ–ЦП–Контроллер внешнего устройства–Внешние устройства
В результате развития аппаратной части компьютера появляются контролеры внешнего устройства. Он упростил жизнь ЦП. Все равно поток команд идет через ЦП, контролер взял некоторые функции: Обнаружение ошибок ; Обеспечение более высокоуровнего интерфейса по управлению ВУ ; Позволяет использовать команды типа «вывести головку на нужный сектор», «…на нужный цилиндр» ; Появилось разделение функций синхронизации. ЦП подавал сигнал и ждал.
Асинхронноеуправление внешними устройствами с использованием контроллеров внешних устройств: ОЗУ–DMA контроллер+контроллер или процессор ввода/вывода= внешнее устройство, ЦП.
Появление контролеров прямого доступа позволяет вывести поток данных, который появляется при обмене с ВУ из ЦП. Это имеет смысл для блокориентированных устройств, подразумевающих большой поток информации. Поток управляющей информации остается в ведении ЦП.
Управление внешними устройствами с использованием процессора или канала ввода/вывода.
Наличее процессоров ввода-вывода позволяет обеспечить высокоуровневый интерфейс для ЦП при управлении внешними устройствами. ЦП предоставляются различные макрокоманды. (например «записать на диск … начиная с …места»)
Билет. Программное управление внешними устройствами
Цели, которые стоят перед программным обеспечением:
1. унификация программных интерфейсов доступа к внешним устройствам (унификация именования, абстрагирование от свойств
2. обеспечение конкретной модели синхронизации при выполнении обмена (синхронный, асинхронный обмен);
3. обработка возникающих ошибок (индикация ошибки, локализация ошибки, попытка исправления ситуации);
корректно обработать эту ситуацию, минимизировать негативные последствия.
4. буферизация обмена – в системе очень многоуровневая, применяется на всех этапах:
— развитые канала ввода-вывода могут иметь встроенный КЭШ, который управляется внутри этих каналов. Эта функция
остается на уровне ОС, этот КЭШ ОС полностью программноориентирован.
5. обеспечение стратегии доступа к устройству (распределенный доступ, монопольный доступ);
6. планирование выполнения операций обмена – возникает, когда возникает конкуренция за доступ к ресурсу.
Схемы буферизации ввода-вывода
Если обмен проходит без буферизации, то совокупное время выполнения программы будет складываться из времени обмена и времени выполнения программы между обменами.
б) Одинарная буферизация
При использовании одиночной буферизации подавляется заказ на обмен с ОП, и процесс может в этом случае не ожидать. Целесообразно использовать, когда идет интенсивный поток заказов на обмен.
в) Двойная буферизация
Модель использования двойной буферизации следующая: в один буфер помещаются данные по обмену, в другой ОС готовит данные за предыдущий обмен.
г) Циклическая буферизация
Возможна ситуация, когда поток заказов на обмен > пропускной способности системы в некоторые моменты.
Тогда есть несколько вариантов действий:
1.Принимаем решения о порядке обработки запросов
2. начинаем учитывать приоритеты
3. осуществляем случайный выбор.
Проблема: Обмены могут быть зависимы друг от друга. В таком случае некоторые варианты не подходят.
Билет. RAID системы.
RAID система представляет собой набор независимых дисков, которые рассматриваются ОС как единое дисковое устройство, где данные представляются в виде последовательности записей, которые называются полосы. /*Полосы цилиндрически распределены по дисковому устройству. */
Семь уровней RAID систем.
RAID 0 (без избыточности)
Не является настоящим RAIDуровнем, поскольку не использует избыточность для повышения эффективности.
Пользовательские и системные данные распределяются по всем дискам массива.
RAID 1 (зеркалирование) Предполагает наличие массивов устройств. 1ая группа – циклическое распределение устройств по уровням 2ая группа-копия первой. Запись идет параллельно и независимо.
RAID 2 избыточность с кодами Хэмминга. Также используется разделение на полосы. Обмен с синхронизацией головок чтения записи. Часть дисковых устройств предназначены для хранения содержательной части информации. При считывании осуществляется одновременный доступ ко всем дискам. Данные запроса и код коррекции ошибок передаются контролеру массива. При наличии однобитовой ошибки контролер способен быстро ее откорректировать, так что доступ для чтения в этой схеме не замедляется. При записи происходит одновременное обращение ко всем дискам массива.
RAID 3 (четность с чередующимися битами) 4 диска содержательные – для размещения логических данных. 5ый – контрольная избыточная информация.
Суть: Если представить, что модель RAID состоит из 5 дисков. В этих 5 дисках 4 диска содержательные, т.е. для размещения логического диска с соответствующими полосками. 5-й диск – это контрольная избыточная информация. Содержимое пятого диска выражается по формулам через содержимое первых 4.То есть определенный разряд 5-го диска представляется как «исключающее или» для соответствующих ему содержательных разрядов. В случае гибели какого-нибудь из устройств утверждается, что информацию на этом устройстве можно восстановить по другой формуле.
RAID 4Он не синхронизированный. Схема примерно та же самая: имеется 4 устройства для логического диска, на которых располагаются полосы, и 5-е устройство, в котором находятся контрольные суммы. Контрольная сумма вычисляется по той же самой формуле, что и в RAID 3.
RAID 5 (распределенная четность – циклическое распределение «четности») Это использование циклического распределения контрольного диска. Суть: в RAID 3 и RAID 4 есть некоторая диспропорция в распределении потока обмена, т.о. контрольный диск циклически распределен по всем устройствам, т.е. вся работа равномерно распределяется.
RAID 6 (двойная избыточность – циклическое распределение четности с использованием двух схем контроля: N+2 дисков)
RAID 6 – это двойная избыточность. Делается еще одно дополнительное устройство для хранения избыточной информации.
Дата добавления: 2018-08-06 ; просмотров: 249 ; Мы поможем в написании вашей работы!
Организация управления внешними устройствами
Асинхронная организация обмена
При обработке запроса к ВУ происходит разделение выполнения на три части:
1) передача ЦП запроса на выполнение работ. После этого процессор может выполнять другие команды.
2) параллельно работе ЦП происходит выполнение запроса к ВУ (т.е. в это время процессор может выполнятьдругие машинные команды).
3) выполнение работы ЦП прерывается и ему передается информация о завершении выполнения запроса. ЦП может также приостановить работу в случае обращения в область ОЗУ, находящуюся в обмене.
Асинхронная организация работы с ВУ более эффективна, но требует наличия развитого аппарата прерываний.
2.Синхронное управление внешними устройствами с использованием контроллеров
3.Асинхронноеуправление внешними устройствами с использованием контроллеров внешних устройств.
Альтернатива синхронному управлению. Т.е. при появлении асинхронного управления – появляются прерывания, которые позволяют откладывать и запараллеливать разные действия, а проблема загрузки ЦП непроизводительной работой – она остается как есть. Все равно ЦП, несмотря на асинхронную работу, занимается плюс непроизводительной работой.
4.Использование контроллера прямого доступа к памяти (DMA) при обмене.
. Понятно, что здесь речь идет о асинхронном обмене и есть существенная оптимизация за счет того, что поток данных минует ЦП и много проблем как бы уходят со стороны ЦП. Тем не менее остаются проблемы связанные с управлением и отработкой данных обмена.
5.Управление внешними устройствами с использованием процессора или канала ввода/вывода.
В системе кроме ЦП присутствует специализированный процессор (специализированная машина), который обеспечивает управление внешними устройствами, который обеспечивает оптимизацию работы с внешними устройствами. Т.е. эта машина может иметь свою локальную оперативную память, и в этой локальной оперативной памяти может быть организовано кэширование доступа к внешнему устройству для того, чтобы минимизировать непосредственные обращения к внешнему устройству. Системы ввода/вывода предоставляют для процессора высокоуровневый интерфейс общения, который обеспечивает минимизацию загрузки ЦП объектной организацией ввода/вывода. Это означает, что проблемы обнаружения ошибок, попытки локализации ошибок и т.д. – все это уже происходит внутри процессора канала ввода/вывода и ЦП это не затрагивает.
Уровни и средства комплексирования
В создаваемых ВС стараются обеспечить несколько путей передачи данных, что позволяет достичь необходимой надежности функционирования, гибкости и адаптируемости к конкретным условиям работы. Эффективность обмена информацией определяется скоростью передачи и возможными объемами данных, передаваемыми по каналу взаимодействия. Эти характеристики зависят от средств, обеспечивающих взаимодействие модулей, и уровня управления процессами, на котором это взаимодействие осуществляется. Сочетание различных уровней и методов обмена данными между модулями ВС наиболее полно представлено в универсальных суперЭВМ и больших ЭВМ, в которых сбалансировано использовались основные методы достижения высокой производительности. Для лучшего понимания вопросов комплексирования приведем структуры ЭС ЭВМ(аналог IBM 370).
В этих машинах можно предусмотреть следующие уровни комплексирования :(Рис. 22.1. отображает только три уровня.)
-прямого управления (процессор — процессор);
— общей оперативной памяти;
— комплексируемых каналов ввода-вывода(не показано);
— устройств управления внешними устройствами (УВУ)(не показано);
— общих внешних устройств.
На каждом из этих уровней используются специальные технические и программные средства, обеспечивающие обмен информацией.
Уровень прямого управления служит для передачи однобайтовых приказов-сообщений.
Уровень общей оперативной памяти (ООП) является наиболее предпочтительным для оперативного взаимодействия процессоров. В этом случае ООП эффективно работает при небольшом числе обслуживаемых абонентов.
Уровень комплексируемых каналов ввода-вывода предназначается для передачи больших объемов информации между блоками оперативной памяти, сопрягаемых в ВС.
Уровень устройств управления внешними устройствами (УВУ) предполагает использование встроенного в УВУ двухканального переключателя и команд «зарезервировать» и «освободить». Двухканальный переключатель позволяет подключать УВУ одной машины к селекторным каналам различных ЭВМ. По команде «зарезервировать» канал — инициатор обмена имеет доступ через УВУ к любым накопителям на дисках НМД или на магнитных лентах НМЛ.
На четвертом уровне с помощью аппаратуры передачи данных (АПД) (мультиплексоры, сетевые адаптеры, модемы и др.) имеется возможность сопряжения с каналами связи. Эта аппаратура позволяет создавать сети ЭВМ.
Пятый уровень предполагает использование общих внешних устройств. Для подключения отдельных устройств используется автономный двухканальный переключатель.
Пять уровней комплексирования получили название логических потому, что они объединяют на каждом уровне разнотипную аппаратуру, имеющую сходные методы управления. Каждое из устройств может иметь логическое имя, используемое в прикладных программах. Этим достигается независимость программ пользователей от конкретной физической конфигурации системы.
Второй логический уровень позволяет создавать многопроцессорные ВС. Обычно он дополняется и первым уровнем, что позволяет повышать оперативность взаимодействия процессоров. Вычислительные системы сверхвысокой производительности должны строиться как многопроцессорные. Центральным блоком такой системы является быстродействующий коммутатор, обеспечивающий необходимые подключения абонентов (процессоров и каналов) к общей оперативной памяти.
Уровни 1, 3, 4, 5 обеспечивают построение разнообразных машинных комплексов. Особенно часто используется третий в комбинации с четвертым. Целесообразно их дополнять и первым уровнем.
Пятый уровень комплексирования используется в редких специальных случаях, когда в качестве внешнего объекта используется какое-то дорогое уникальное устройство. В противном случае этот уровень малоэффективен. Любое внешнее устройство — это недостаточно надежное устройство точной механики, а значит, выгоднее использовать четвертый уровень комплексирования, когда можно сразу управлять не одним, а несколькими внешними устройствами, включая и резервные.
Основными характеристиками ВС являются производительность, время ответа, надежность и стоимость. В дополнение к ним используются следующие характеристики: габариты, масса, потребляемая мощность, диапазон рабочих температур, ремонтопригодность и др.
Характеристики зависят от организации системы – структуры, состав» программного обеспечения, режима функционирования системы и др.
Производительность – характеристика вычислительной мощности системы, определяющая количество вычислительной работы, выполняемой системой за единицу времени.
Время пребывания заданий, (задач) в системе, – длительность промежутка времени от момента поступления задания в систему до момента окончания его выполнения.
Надежность – свойство системы выполнять возложенные на нее функции в заданных условиях функционирования с заданными показателями качества.
Многопроцессорные вычислительные системы — это системы, содержащие несколько процессоров, информационно взаимодействующих между собой либо на уровне регистров процессорной памяти, либо на уровне оперативной памяти.
Последний тип взаимодействия принят в большинстве случаев, так как организуется значительно проще и сводится к созданию общего поля оперативной памяти для всех процессоров. Общий доступ к внешней памяти и к устройствам ввода-вывода обеспечивается обычно через каналы ОП. Важным является и то, что многопроцессорная вычислительная система работает под управлением единой операционной системы, общей для всех процессоров. Это существенно улучшает динамические характеристики ВС, но требует наличия специальной, весьма сложной операционной системы.
Схема взаимодействия процессоров в ВС показана на рис. 22.2.
Быстродействие и надежность многопроцессорных В С по сравнению с многомашинными, взаимодействующими на 3-м уровне, существенно повышаются, во-первых, ввиду ускоренного обмена информацией между процессорами, более быстрого реагирования на ситуации, возникающие в системе; во-вторых, вследствие большей степени резервирования устройств системы (система сохраняет работоспособность, пока работоспособны хотя бы по одному модулю каждого типа устройств).
Типичным примером массовых многомашинных ВС могут служить компьютерные сети, примером многопроцессорных вычислительных систем (МП ВС) –суперкомпьютеры.
Многопроцессорная архитектура. Наличие в компьютере нескольких процессоров означает, что параллельно может быть организовано много потоков данных и много потоков команд. Таким образом, параллельно могут выполняться несколько фрагментов одной задачи. Структура такой машины, имеющей общую оперативную память и несколько процессоров, представлена на рис. 3.1. Преимущество в быстродействии многопроцессорных и многомашинных вычислительных систем перед однопроцессорными очевидно.
Архитектура с параллельными процессорами. Здесь несколько АЛУ работают под управлением одного УУ. Это означает, что множество данных может обрабатываться по одной программе, т. е. по одному потоку команд. Высокое быстродействие такой архитектуры можно получить только на задачах, в которых одинаковые вычислительные операции выполняются одновременно на различных однотипных наборах данных. Структура таких компьютеров представлена на рис. 3.2.
Управление устройствами
Подсистема ввода-вывода
Операционная система должна обеспечивать управление всеми этими устройствами, т. е. предоставлять способы обмена информацией между приложениями и устройствами.
Управление устройствами в Windows осуществляется подсистемой ввода вывода, включающей несколько компонентов (см. рис.4.1 в лекции 4 » Архитектура Windows «):
Далее будут рассмотрены общая схема ввода-вывода, функции и структуры данных диспетчера ввода-вывода, представленные в WRK, а также пример выполнения операции чтения.
Принцип управления устройствами
Рассмотрим схематично принцип управления внешними устройствами, а затем перейдем к изучению соответствующих структур и функций WRK.
Для пользовательских приложений операционная система представляет устройства в виде файлов. Такое представление позволяет единообразно работать с разными устройствами, используя одинаковые функции, не задумываясь о деталях реализации доступа к устройствам.
Структуры данных для ввода-вывода
Драйвер в системе описывается объектом типа DRIVER_OBJECT ( файл base\ntos\inc\io.h, строка 1603), имеющим следующие основные поля:
Заголовок включает следующие основные поля:
Структура блока стека IO_STACK_LOCATION описана в файле base\ntos\inc\io.h, строка 2303) и имеет следующие главные поля:
В следующем параграфе разобран пример операции чтения с использованием рассмотренных выше структур данных.
Пример ввода-вывода
Для ввода-вывода используются следующие основные функции:
Рассмотрим пример чтения с устройства, используя изученные структуры данных и функцию NtReadFile (рис.15.2).