Операционные системы/Внешние устройства

Материал из eSyr's wiki.

(Различия между версиями)
Перейти к: навигация, поиск

Nexor (Обсуждение | вклад)
(Новая: Внешние устройства на сегодняшний день во многом определяют эксплуатационные характеристики компью...)
К следующему изменению →

Текущая версия

Внешние устройства на сегодняшний день во многом определяют эксплуатационные характеристики компьютера. Система внешних устройств компьютера достаточно широкая. Но есть некоторый типовой набор внешних устройств. Традиционно внешние устройства можно разделить на следующие классы:

  • Внешние запоминающие устройства – устройства, предназначенные для хранения данных и программ.
  • Устройства ввода и отображения информации – осуществляют ввод извне некоторой информации и отображение ее в виде некоторых результирующих данных. Традиционно это печатающие устройства, дисплей и устройство ввода изображения и текста.
  • Устройства приема и передачи данных, используемые для получения данных с других компьютеров (модем, факс, …).

Схема классификации внешних устройств:

Содержание

[править] Внешние запоминающие устройства (ВЗУ)

Обмен данными может производится:

  • записями фиксированного размера – блоками
  • записями произвольного размера

Доступ к данным:

  • операции чтения и записи (жесткий диск, CDRW).
  • только операции чтения (CDROM, DVDROM, …).

ВЗУ называется устройством последовательного доступа, если для чтения i-й записи необходимо прочесть («просмотреть») предыдущие i-1 запись. Устройства последовательного доступа являются простейшими ВЗУ. Они обычно используются для архивирования данных. Скорость обработки запросов чтения/записи самая низкая (большой объем механических действий, таких, как перемотка ленты вперед-назад при выполнении обмена).

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

Примеры устройств

  • последовательного доступа:
    • Магнитная лента
  • прямого доступа:
    • Магнитные диски
    • Магнитный барабан
    • Магнито - электронные ВЗУ прямого доступа.

[править] Устройства последовательного доступа

Примером устройства последовательного типа является магнитная лента (МЛ). Чтобы добраться до определенной записи, нужно пройти все предыдущие. Обычно длина физической записи МЛ произвольная, она определяется специальными маркерами начала и конца записи.

[править] Устройства прямого доступа

[править] Магнитные диски

Изображение:M disk.jpg

Блок может перемещаться от края к центру. Каждое устройство характеризуется фиксированным числом цилиндров. Дорожки, относящиеся к одному цилиндру, также пронумерованы. Дорожки образуют концентрические окружности. Все дорожки разделены на сектора. Начала одноименных секторов лежат в одной плоскости.

Для задания координат определенного сектора в управляющее устройства необходимо передать:

  • номер цилиндра, где расположен сектор
  • номер дорожки на которой находится сектор
  • номер сектора

Cчитывание информации производится внутри условного цилиндра.

При выполнении обмена совершаются следующие действия:

  1. перемещение считывающей/головки на нужный цилиндр
  2. ожидание выхода головки на начало нужного сектора диска (ожидание механического поворота диска на начало сектора)
  3. непосредственный обмен (в темпе движения диска)

[править] Магнитный барабан

Высокоскоростное ВЗУ. Предназначен больших вычислительных комплексов. Представляет из себя большой цилиндр длиной до метра, в диаметре 30 – 40 см. Поверхность покрыта особым веществом, над поверхностью штанга с головками над треками. Скорость доступа достаточно большая. Механическая составляющая только вращение барабана. Магнитный барабан используется операционными системами высокопроизводительных ЭВМ для хранения оперативных данных (данных, время доступа к которым должно быть минимальным).

При выполнении обмена совершаются следующие действия:

  • электронное включение считывающей/записывающей головки, соответствующей нужному треку;
  • ожидание размещения головки над началом нужного сектора (ожидание механического поворота барабана на начало сектора);
  • непосредственный обмен в темпе движения барабана.

[править] Организация потоков данных при обмене с внешними устройствами

Если посмотреть на взаимодействие ЦП, ОП и внешнего устройства, то это взаимодействие логически разделяется на два компонента:

  • Поток управляющей информации. Т.е. каким-то образом программно задается информация о том, что необходимо прочесть или записать или переместить данные из одного места в другое.
  • Поток данных. Т.е. непосредственно ответ на управляющее воздействие и связанное с этим ответом перемещение данных от внешнего устройства в ОП или в ЦП.

Развитие моделей взаимодействия с внешними устройствами:

  1. Непосредственное управление ВУ через ЦП.
  2. Синхронное управление ВУ с использованием контроллера ВУ.
  3. Асинхронное управление ВУ с использованием контроллера ВУ.
  4. Использование контроллера доступа к памяти (DMA – direct memory access) при обмене данными.
  5. Управление ВУ с использованием процессора или канала ввода/вывода.

[править] Непосредственное управление

Непосредственное управление внешними устройствами центральным процессором. Есть внешнее устройство, ЦП и ОЗУ. Устройство управления внешними устройствами оно имплантировано в ЦП. Т.е. ЦП выполняет абсолютно все действия по управлению внешними устройствами, что ведет к достаточно большим потерям у системы в целом. Это 1-я историческая модель.

[править] Синхронное управление внешними устройствами с использованием контроллеров

Синхронное управление внешними устройствами с использованием контроллеров внешних устройств. Суть такова: появились между ЦП и внешнем устройством устройство, которое называются контроллер внешнего устройства. Контроллер внешнего устройства служит промежуточным звеном для общения ЦП и внешнего устройства. С точки зрения ЦП контроллер внешнего устройства может иметь интерфейсную часть (команды) более высокоуровневую, чем для 1-й модели. Но при этом на ЦП ложится значительная работа по обработке ошибочных и прочих внештатных ситуаций, которые возникают при обмене. Уровень и объем непроизводительной работы ЦП зависит от конкретного контроллера (т.е. насколько интеллектуальный контроллер).

[править] Асинхронное управление с использованием контроллеров

Асинхронное управление внешними устройствами с использованием контроллеров внешних устройств. Альтернатива синхронному управлению. Т.е. при появлении асинхронного управления появляются прерывания, которые позволяют откладывать и запараллеливать разные действия, а проблема загрузки ЦП непроизводительной работой – она остается как есть. Все равно ЦП, несмотря на асинхронную работу, занимается непроизводительной работой.

[править] Использование контроллера прямого доступа к памяти (DMA)

При использовании DMA-контроллера через ЦП идет только поток управляющей информации, а поток данных идет через DMA-контроллер. Т.о., обмен данными между ОЗУ и ВУ проходит практически без участия ЦП. Тем не менее, остаются проблемы связанные с управлением и отработкой данных обмена.

[править] Использование процессора или канала ввода/вывода

В системе кроме ЦП присутствует специализированный процессор (специализированная машина), который обеспечивает управление и оптимизацию работы с внешними устройствами. Т.е. эта машина может иметь свою локальную оперативную память, и в этой локальной оперативной памяти может быть организовано кэширование доступа к внешнему устройству для того, чтобы минимизировать непосредственные обращения к внешнему устройству. Системы ввода/вывода предоставляют для процессора высокоуровневый интерфейс общения, который обеспечивает минимизацию загрузки ЦП объектной организацией ввода/вывода. Это означает, что проблемы обнаружения ошибок, попытки локализации ошибок и т.д. – все это уже происходит внутри процессора ввода/вывода и ЦП это не затрагивает.

[править] Модели синхронизации при обмене с внешними устройствами

Существует две принципиально различные стратегии выполнения обмена с внешними устройствами: синхронная и асинхронная работа с ВУ.

[править] Синхронная организация обмена

Процессор подает запрос внешнему устройству и ожидает завершения выполнения запроса. Системы с синхронной организацией работы ВУ неэффективны с точки зрения использования времени работы центрального процессора. Процессор часто «ожидает» выполнения запроса. Лучше всего подходит для однопрограммных специализированных вычислительных систем.

[править] Асинхронная организация обмена

Последовательность действий следующая:

  1. Программа инициирует прерывание “обращение к системе”, тем самым передается заказ на выполнение обмена, (параметры заказа могут быть переданы через специальные регистры, стек и т.п.) Происходит обработка прерывания (при этом программа (процесс) находится в ожидании). При обработке прерывания конкретному драйверу устройства передается заказ на выполнение обмена (который поступает в очередь).
  2. После завершения обработки прерывания “обращение к системе” программа продолжает свое выполнение до завершения обмена (на самом деле это не всегда так, почему – см. ниже).
  3. Выполнение программы приостанавливается по причине возникнове6ния прерывания – завершение обмена с конкретным устройством. После обработки прерывания выполнение будет продолжено.

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

Представленная выше схема организации обмена является достаточно упрощенной. Она не затрагивает случаев синхронизации доступа к областям памяти, участвующим в обмене. Проблема состоит в том, что, например, записывая некую область данных на ВЗУ, после обработки заказа на обмен, но до завершения обмена, программа может попытаться обновить содержимое области, что является некорректным. Поэтому в реальных системах для синхронизации работы с областями памяти, находящимися в обмене, используется возможность ее аппаратного закрытия на чтение и/или запись. То есть при попытке обмена с закрытой областью памяти произойдет прерывание. Это позволяет остановить выполнение программы до завершения обмена, если программа попытается выполнить некорректные операции с областью памяти, находящейся в обмене (попытка чтения при незавершенной операции чтения с ВУ или записи при незавершенной операции записи данной области на ВУ).

Асинхронная организация работы с ВУ более эффективна, но требует наличия развитого аппарата прерываний.

Личные инструменты
Разделы