Подсистема ввода вывода реферат

Обновлено: 05.07.2024

Аннотация: Устройства ввода-вывода. Назначение, задачи и технологии подсистемы ввода-вывода. Согласование скоростей обмена и кэширования данных. Разделение устройств и данных между процессами. Обеспечение логического интерфейса между устройствами и системой. Поддержка широкого спектра драйверов. Динамическая загрузка и выгрузка драйверов. Поддержка синхронных и асинхронных операций ввода-вывода. Многослойная (иерархическая) модель подсистемы ввода-вывода. Драйверы. Файловые системы. Основные понятия. Архитектура файловой системы. Организация файлов и доступ к ним. Каталоговые системы. Физическая организация файловой системы. Физическая организация и адресация файла. Физическая организация FAT-системы. Файловые операции. Контроль доступа к файлам.

7.1. Устройства ввода-вывода

Внешние устройства, выполняющие операции ввода-вывода, можно разделить на три группы:

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

По другому признаку устройства ввода-вывода можно разделить на блочные и символьные [10]. Блочными являются устройства, хранящие информацию в виде блоков фиксированного размера, причем у каждого блока есть адрес и каждый блок может быть прочитан независимо от остальных блоков. Символьные устройства принимают или передают поток символов без какой-либо блочной структуры (принтеры, сетевые карты, мыши и т.д.).

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

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

Такое разнообразие внешних устройств приводит, по сути, к невозможности разработки единого и согласованного подхода к проблеме ввода-вывода как с точки зрения операционной системы, так и с точки зрения пользовательских процессов.

Устройства ввода-вывода, как правило, состоят из электромеханической и электронной части. Обычно их выполняют в форме отдельных модулей – собственно устройство и контроллер ( адаптер ). В ПК контроллер принимает форму платы, вставляемой в слот расширения. Плата имеет разъем , к которому подключается кабель , ведущий к самому устройству. Многие контроллеры способны управлять двумя, четырьмя и даже более идентичными устройствами. Интерфейс между контроллером и устройством является официальным стандартом ( ANSI , IEEE или ISO ) или фактическим стандартом, и различные компании могут выпускать отдельно котроллеры и устройства, удовлетворяющие данному интерфейсу. Так, многие компании производят диски, соответствующие интерфейсу IDE или SCSI , а наборы схем системной логики материнских плат реализуют IDE и SCSI -контроллеры.

Интерфейс между контроллером и устройством часто является интерфейсом очень низкого уровня, т.е. очень специфичным, зависящим от типа внешнего устройства. Например, видеоконтроллер считывает из памяти байты, содержащие символы, которые следует отобразить, и формирует сигналы управления лучом электронной трубки, сигналы строчной и кадровой развертки и т.п.

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

7.2. Назначение, задачи и технологии подсистемы ввода-вывода

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

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

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

На подсистему ввода-вывода возлагаются следующие функции [5, 17]:

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

Эволюция ввода-вывода может быть представлена следующими этапами [17].

  1. Процессор непосредственно управляет периферийным устройством.
  2. Устройство управляется контроллером. Процессор использует программируемый ввод-вывод без прерываний (переход к абстракции интерфейса ввода-вывода).
  3. Использование контроллера прерываний. Ввод-вывод, управляемый прерываниями.
  4. Использование модуля (канала) прямого доступа к памяти. Перемещение данных в память (из нее) без применения процессора.
  5. Использование отдельного специализированного процессора ввода-вывода, управляемого центральным процессором.
  6. Использование отдельного компьютера для управления устройствами ввода-вывода при минимальном вмешательстве центрального процессора.

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

Для персональных компьютеров операции ввода-вывода могут выполняться тремя способами.

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

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

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

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

DMA - контроллер имеет доступ к системной шине независимо от центрального процессора, как показано на рис. 7.1. Контроллер содержит несколько регистров, доступных центральному процессу для чтения и записи ( регистр адреса памяти, счетчик байтов, управляющие регистры). Управляющие регистры задают порт ввода-вывода, который должен быть использован, направление переноса данных (чтение или запись в устройство ввода-вывода), единицу переноса (побайтно, пословно), а также число байтов, которые следует перенести за одну операцию.

Перед выполнением операции обмена ЦП программирует DMA - контроллер , устанавливая его регистры (шаг 1 на рис. 7.1). Затем ЦП дает команду дисковому контролеру прочитать внести данные во внутренний буфер и проверить контрольную сумму. После этого процессор продолжает свою работу. Когда данные получены и проверены контроллером диска, DMA может начинать работу.

DMA - контроллер начинает перенос данных, посылая дисковому контроллеру по шине запрос чтения (шаг 2). Адрес памяти уже находится на адресной шине, так что контроллер знает, куда пересылать следующее слово из своего буфера. Запись в память является еще одним стандартным циклом шины (шаг 3). Когда запись закончена, контроллер диска посылает сигнал подтверждения контролеру DMA (шаг 4). Затем контроллер DMA увеличивает используемый адрес памяти и уменьшает значение счетчика байтов. После этого шаги 2, 3 и 4 повторяются, пока значение счетчика не станет равным нулю. По завершению цикла копирования контроллер DMA инициирует прерывание процессора, сообщая ему о завершении операции ввода-вывода.

Работа DMA

Необходимо обратить внимание на работу шины в этом процессе обмена данными. Шина может работать в двух режимах: пословном и поблочном. В первом случае контроллер DMA выставляет запрос на перенос одного слова и получает его. Если процессору также нужна эта шина (не забывайте, в основном он работает с кэш -памятью), ему приходится подождать. Этот механизм называется захватом цикла , потому, что контроллер устройства периодически забирает случайный цикл шины у центрального процессора, слегка тормозя его.

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

Точки прерывания DMA

В блочном режиме работы контроллер DMA занимает шину на серию пересылок (пакет). Этот режим более эффективен, однако при переносе большого блока центральный процессор и другие устройства могут быть заблокированы на существенный промежуток времени.

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

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

Выполнил:
Ст.гр ЗУИС - 212
Кунанбаева М.С.
Преподаватель:
Допира Р.И.

Караганда 2013 г.

Оглавление
Введение 3Устройства ввода-вывода 4
Назначение, задачи и технологии подсистемы ввода-вывода 6
Согласование скоростей обмена и кэширования данных 10
Разделение устройств и данных между процессами 12
Обеспечение логического интерфейса между устройствами и системой 13
Поддержка широкого спектра драйверов 14
Заключение 17

Введение
Архитектура ЭВМ включает в себя аппаратуру ввода-вывода, состоящую изиерархической структуры каналов, устройств управления и периферийных устройств (ПУ). ПУ делятся на устройства ввода-вывода и запоминающие устройства. И те, и другие могут осуществлять ввод и/или вывод.
Ввод – это считывание данных с носителей информации в оперативную память. Вывод – перенос данных из ОП на носители информации.
Аппаратура различных ЭВМ существенно отличается по техническим и функциональнымхарактеристикам, часто возникает потребность менять её количество и состав. В составе любой ОС имеется специальная подсистема управления аппаратурой ввода-вывода, избавляющая пользователя от необходимости знания множества деталей взаимодействия между программами и ПУ. Основной задачей этой подсистемы в мультипрограммном режиме является организация двусторонней высокоскоростной передачи данных между ОП и ПУ с цельюдостижения максимального перекрытия во времени работы аппаратуры ввода-вывода и ЦП. При этом реализуется принцип независимости от устройств, подразумевающий унифицированный интерфейс для доступа к различным по своим физическим характеристикам ПУ.
Несмотря на различия в подсистемах управления вводом-выводом, все ОС включают следующую концепцию: устройства ввода-вывода рассматриваются как совокупностьаппаратурных процессоров, способных работать параллельно относительно друг друга и относительно ЦП. На таких процессорах развиваются внешние процессы, взаимодействующие между собой и с программными процессами, при этом скорости развития внешних и программных процессов могут различаться на порядок.
Система управления вводом-выводом (СУВВ) представляет собой один или несколько системных процессов,обеспечивающих информационное и управляющее взаимодействие между внутренними и внешними процессами.

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

С целью снижения стоимости некоторые компьютеры имеют единственную шину (общая шина) для памяти и устройств ввода-вывода. Персональные компьютеры первых поколений, как правило, строились на основе одной системной шины в стандартах ISA, EISA или MCA. Необходимость сохранения баланса производительности по мере роста быстродействия микропроцессоров привела к многоуровневой организации шин на основе… Читать ещё >

Лекция 13. Подсистема ввода/вывода ( реферат , курсовая , диплом , контрольная )

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

При разработке подсистемы ввода/вывода должны быть решены следующие проблемы.

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

Должна реализовываться параллельная во времени работа процессора над программой и выполнение периферийными устройствами процедур ввода/вывода.

Для пользователя должно быть упрощено и стандартизировано программирование операций ввода/вывода, обеспечена независимость программирования ввода/вывода от особенностей того или иного периферийного устройства.

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

Наиболее актуально решение этих проблем для ЭВМ с большим количеством разнообразных устройств.

Основные пути решения указанных проблем:

Модульность. Средства современной ВТ проектируются на основе модульного (или агрегатного) принципа. Он заключается в том, что отдельные устройства выполняются в виде конструктивно законченных модулей (агрегатов), которые могут сравнительно просто в нужных количествах и номенклатуре объединяться, образуя ЭВМ.

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

Унифицированные (не зависящие от типа ПУ) формат и выбор команд процессора для операций ввода-вывода. Операция ввода-вывода с любым ПУ представляет для процессора просто операцию передачи данных независимо от особенностей принципа действия данного ПУ, типа его носителя и т. п.

Многие функции управления операциями ввода-вывода (как например управление прямым доступом к памяти) являются общими, они не зависят от типа ПУ. Другие являются специфичными для данного типа устройств. Выполнение общих функций возлагают на общие для групп ПУ унифицированные устройства — контроллеры прямого доступа к памяти, процессоры (каналы) ввода-вывода, а специфических — на специализированные для данного типа ПУ электронные блоки управления (адаптеры).

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

Каналы ввода-вывода Для разделения функций управления центральным процессором и периферийными устройствами в состав ЭВМ включаются дополнительные устройства — каналы ввода-вывода (КВВ), задачей которых является обеспечение взаимодействия центрального процессора и ПУ (рис. 13.1).

Характерная особенность КВВ заключается в том, что канал работает по хранимой в памяти программе, т. е. так же, как процессор. Следовательно, КВВ, по существу, является специализированным процессором ввода-вывода. В результате центральный процессор полностью освобождается от обслуживания операций обмена периферийных устройств с памятью. КВВ взаимодействует с ПУ через стандартные устройства сопряжения — интерфейсы и устройства управления периферийными устройствами — контроллеры. В структуре ЭВМ, показанной на рис. 10.1, используются интерфейсы четырех типов:

Контроллер осуществляет управление обменом информации для группы ПУ одного типа, например накопителей на магнитных дисках, и выполняет следующие функции:

  • — преобразует стандартные последовательности сигналов интерфейса в последовательности сигналов, обеспечивающие работу конкретного ПУ;
  • — синхронизирует работу ПУ с другими устройствами, в первую очередь с процессором;
  • — обеспечивает буферизацию информации, т. е. запоминание в своей внутренней памяти обмениваемых данных на время, необходимое для реализации цикла обмена.

КВВ включает в свой состав запоминающие устройства (регистры) и логические схемы, которые выполняют упаковку, распаковку и подсчет данных, модификацию адреса данных и передачу информации из оперативной памяти в периферийные устройства и в обратном направлении. Канал работает под управлением канальной программы, которая хранится в специально отведенной области основной памяти ЭВМ [10, "https://referat.bookap.info"].

Основные функции канала:

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

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

В общем виде обмен информацией с использованием КВВ выполняется в следующем порядке:

  • 1. центральный процессор, получив команду ввода-вывода, передает ее в канал:
  • 2. канал из определенной ячейки памяти считывает начальный адрес канальной программы и начинает ее выполнять;
  • 3. канал, выполняя команды обмена, обращается к тем или иным ПУ, читает или записывает слова информации, обращаясь в ОП, при необходимости производит изменение формата вводимых и выводимых данных и т. д.

Связь устройств ЭВМ друг с другом осуществляется с помощью интерфейсов.

Интерфейсы ввода-вывода Интерфейс — это совокупность линий и шин сигналов, электрических схем, а также алгоритмов (протоколов), осуществляющих обмен информацией между устройствами ЭВМ. Он унифицирует состав и назначение линий связи, определяет последовательность сигналов при выполнении операций, временные соотношения и переходные процессы в линиях.

Линии, сгруппированные по функциональному признаку или назначению, называют шинами интерфейса. Совокупность всех линий образует магистраль интерфейса.

Надежность и производительность ЭВМ во многом зависят от характеристик интерфейсов.

Объединение отдельных подсистем (устройств, модулей) ЭВМ в единую систему основывается на многоуровневом принципе с унифицированным сопряжением между всеми уровнями — стандартным интерфейсом. Под стандартными интерфейсами понимают такие интерфейсы, которые приняты и рекомендованы в качестве обязательных отраслевыми или государственными стандартами, различными международными комиссиями, а также крупными зарубежными фирмами.

Интерфейсы характеризуются следующими параметрами:

  • 1) пропускной способностью интерфейса — количеством информации, которая может быть передана через интерфейс в единицу времени;
  • 2) максимальной частотой передачи информационных сигналов через интерфейс;
  • 3) информационной шириной интерфейса — числом бит или байт данных, передаваемых параллельно через интерфейс;
  • 4) максимально допустимым расстоянием между соединяемыми устройствами;
  • 5) динамическими параметрами интерфейса — временем передачи отдельного слова или блока данных с учетом продолжительности процедур подготовки и завершения передачи;
  • 6) общим числом проводов (линий) в интерфейсе.

В настоящее время не существует однозначной классификации интерфейсов. Можно выделить следующие четыре классификационных признака интерфейсов:

Ё способ соединения компонентов системы (радиальный, магистральный, смешанный);

Ё способ передачи информации (параллельный, последовательный, параллельно-последовательный);

Ё принцип обмена информацией (асинхронный, синхронный);

Ё режим передачи информации (двусторонняя поочередная передача, односторонняя передача).

На рис. 13.2 представлены радиальный и магистральный интерфейсы, соединяющие центральный модуль (ЦМ) и другие модули (компоненты) системы (М1, …, Мп).

Радиальный (а) и магистральный (б) интерфейсы.

Рис. 13.2. Радиальный (а) и магистральный (б) интерфейсы

Радиальный интерфейс позволяет всем модулям (М1,, Mn) работать независимо, но имеет максимальное количество шин. Магистральный интерфейс (общая шина) использует принцип разделения времени для связи между ЦМ и другими модулями. Он сравнительно прост в реализации, но лимитирует скорость обмена. Параллельные интерфейсы позволяют передавать одновременно определенное количество бит или байт информации по многопроводной линии. Последовательные интерфейсы служат для последовательной передачи по двухпроводной линии.

Классификация интерфейсов по назначению отражает взаимосвязь с архитектурой реальных средств вычислительной техники. В соответствии с этим признаком в ЭВМ и вычислительных системах можно выделить несколько уровней сопряжений:

  • — машинные системные интерфейсы;
  • — локальные шины;
  • — интерфейсы периферийных устройств (малые интерфейсы);
  • — межмашинные интерфейсы.

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

Назначение интерфейсов периферийных устройств (малых интерфейсов) состоит в выполнении функций сопряжения контроллера (адаптера) с конкретным механизмом ПУ.

Межмашинные интерфейсы используются в вычислительных системах и сетях.

С целью снижения стоимости некоторые компьютеры имеют единственную шину (общая шина) для памяти и устройств ввода-вывода. Персональные компьютеры первых поколений, как правило, строились на основе одной системной шины в стандартах ISA, EISA или MCA. Необходимость сохранения баланса производительности по мере роста быстродействия микропроцессоров привела к многоуровневой организации шин на основе использования нескольких системных и локальных шин. В современных компьютерах шины интерфейсов делят на шины, обеспечивающие организацию связи процессора с памятью, и шины ввода-вывода. Шины процессор-память сравнительно короткие, обычно высокоскоростные и соответствуют организации подсистемы памяти для обеспечения максимальной пропускной способности канала память-процессор. Шины ввода-вывода могут иметь большую протяженность, поддерживать подсоединение многих типов устройств и обычно следуют одному из шинных стандартов. Обычно количество и типы устройств ввода-вывода в вычислительных системах не фиксируются, что дает возможность пользователю самому подобрать необходимую конфигурацию. Шина ввода-вывода компьютера рассматривается как шина расширения, обеспечивающая постепенное наращивание устройств ввода-вывода. Поэтому стандарты играют огромную роль, позволяя разработчикам компьютеров и устройств ввода-вывода работать независимо.

Подсистема ввода-вывода (Input-Output Subsystem) должна решать ряд общих задач.

1. Организация параллельной работы устройств ввода-вывода и процессора.Каждое устройство ввода-вывода снабжено специализированным блоком управления, называемым контроллером. Контроллер взаимодействует с драйвером — системным программным модулем, предназначенным для управления этим устройством.

2. Разделение устройств и данных между процессами.Устройства ввода-вывода могут предоставляться процессам как в монопольное,так и в совместное(разделяемое) использование. Одно и то же устройство в разные периоды времени может использоваться как в разделяемом, так и в монопольном режимах. Существуют устройства, для которых обычно характерен один из этих режимов, например алфавитно-цифровые терминалы чаще используются в монопольном режиме, а диски — в режиме совместного доступа.

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

4. Поддержка широкого спектра драйверов.Достоинством подсистемы ввода-вывода любой универсальной ОС является наличие разнообразного набора драйверов для наиболее популярных периферийных устройств. Чтобы операционная система не испытывала недостатка в драйверах, необходимо наличие четкого, удобного и открытого интерфейса между драйверами и другими компонентами ОС. Такой интерфейс нужен для того, чтобы драйверы писали не только непосредственные разработчики данной операционной системы, но и большая армия программистов по всему миру, в первую очередь — тех предприятий, которые выпускают внешние устройства для компьютеров. Открытость интерфейса драйверов, то есть доступность его описания для независимых разработчиков программного обеспечения, является необходимым условием успешного развития операционной системы.

Читайте также: