Обслуживание ВВ (I/O). Лекция 4

1.

Обслуживание ВВ (I/O)
Подсистема ввода-вывода,
функции

2.

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

3.

Управление вводом/выводом
O Управление вводом/выводом
осуществляется операционной
системой, точнее компонентом,
который называют подсистема
ввода/вывода - диспетчером или
супервизором ввода/вывода

4.

O Функционирование любой вычислительной
системы обычно сводится к выполнению
двух видов работы:
O обработка информации
O операциипо осуществлению ее
ввода-
вывода

5.

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

6.

Многоуровневая организация подсист
ввода-вывода

7.

Слои программное обеспечение вводавывода
1. Обработка прерываний
2. Драйверы устройств
3. Независимый
от устройств слой
операционной системы
4. Пользовательский слой программного
обеспечения

8.

Задачи подсистемы ВВ
1. Получает запросы на ввод/вывод прикладных
задач и программных модулей самой системы.
Проверяет
их
корректность
и
выдает
соответствующее диагностическое сообщение.

9.

Задачи подсистемы ВВ
2. Определяет очередность предоставления
устройств ввода/вывода задачам затребовавшим
их.

10.

Задачи подсистемы ВВ
3. Инициирует ввод/вывод (передает управление
соответствующим драйверам)
и
в
случае
выполнения ввода/вывода с использованием
прерывания передает управление диспетчеру
задач. Чтобы он передал его первой задаче,
стоящей в очереди на выполнение.

11.

Задачи подсистемы ВВ
4. Идентифицирует сигналы прерывания от
устройств ввода/вывода и передает управление
соответствующей
программе
обработки
прерывания.

12.

Задачи подсистемы ВВ
5. Передает сообщения об ошибках, случившихся
в процессе ввода/вывода.

13.

Задачи подсистемы ВВ
6. Посылает сообщение о завершении операции
ввода /вывода, запросившему эту операцию
процессу и снимает его с состояния ожидания
ввода/вывода, Если процесс ждал завершение
операции.

14.

Принципы ПО управления
вводом-выводом
1. Ключевым
принципом
является
независимость от устройств.
2. Для именования устройств должны быть
приняты единые правила.
3. Обработка
ошибок – ошибки следует
обрабатывать
как
можно
ближе
к
аппаратуре. Если контроллер обнаруживает
ошибку чтения, то он должен попытаться ее
скорректировать. Если же это ему не удается,
то исправлением ошибок должен заняться
драйвер устройства.

15.

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

16.

Устройства ввода-вывода
O Все устройства разделяются на следующие
уровни:
• Физические устройства
• Порты
• Драйверы устройств
• Логические устройства

17.

Устройства ввода-вывода
O Все устройства разделяются на следующие
уровни:
• Физические
устройства
аппаратные
устройства, которые подсоединены к системе
различными способами

18.

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

19.

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

20.

Устройства ввода-вывода
O Все устройства разделяются на следующие
уровни:
• Логические
устройства
программный
интерфейс (специальные файлы) которые
являются
виртуальным
представлением
физических устройств для пользователей и
программ.

21.

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

22.

Примеры
O Примеры блок-ориентированных
устройств:
O cd0 CD-ROM
fd0, fd0l, fd0h Дискета
hd1, lv00 Логический том
hdisk0 Физический том
O Примеры байт-ориентированных
устройств:
O console, lft, tty0 Терминал
lp0 Принтер
rmt0 Ленточное устройство
tok0, ent0 Адаптер

23.

Операционная система обычно
имеет дело не с устройством, а
контроллером

24.

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

25.

Контроллер
O Это набор микросхем на вставляемой в
разъем плате, физически управляющее
устройство
O Он принимает команды ОС (например,
указания прочитать данные с устройства) и
выполняет их

функции
контроллера
входит
представление простого интерфейса для ОС

26.

Функции контроллера
• преобразует
поток бит в блоки,
состоящие из байт
• осуществляют контроль и исправление
ошибок.
O Каждый контроллер имеет несколько
регистров, которые используются для
взаимодействия
с
центральным
процессором.

27.

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

28.

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

29.

Регистр управления
O получает
данные,
которые
записываются
вычислительной системой для инициализации
устройства ввода-вывода или выполнения
очередной команды, а также изменения режима
работы устройства.
O Часть битов в этом регистре может быть отведена
под код выполняемой команды, часть битов будет
кодировать режим работы устройства, бит
готовности команды свидетельствует о том, что
можно приступить к ее выполнению

30.

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

31.

Механизм прерываний
O Механизм
прерываний поддерживается
аппаратными средствами компьютера и
программными средствами операционной
системы.

32.

Аппаратная поддержка
прерываний
O имеет свои особенности, зависящие от типа
процессора и других аппаратных компонентов,
передающих сигнал запроса прерывания от
внешнего устройства к процессору:
O как контроллер внешнего устройства,
O шины подключения внешних устройств,
O контроллер прерываний, являющийся посредником
между сигналами шины и сигналами процессора).
O Особенности
аппаратной
реализации
прерываний оказывают влияние на средства
программной
поддержки
прерываний,
работающие в составе ОС.

33.

Понятие прерывания
O Прерывание
(англ. interrupt) — сигнал,
сообщающий процессору о наступлении
какого-либо события.
O Выполнение
текущей последовательности
команд приостанавливается;
O Управление
передаётся
обработчику
прерывания, который реагирует на событие и
обслуживает его, после чего возвращает
управление в прерванный код.

34.

В зависимости от источника возникновения
сигнала прерывания делятся на следующие
классы
1. асинхронные или внешние (аппаратные)
2. синхронные или внутренние
3. программные (частный случай внутреннего
прерывания, исключительные ситуации)

35.

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

36.

В зависимости от возможности запрета внешние
прерывания делятся на:
• маскируемые
— прерывания, которые
можно
запрещать
установкой
соответствующих
битов
в
регистре
маскирования прерываний.
• немаскируемые (Non maskable interrupt,
NMI) — обрабатываются всегда, независимо
от запретов на другие прерывания. К
примеру, такое прерывание может быть
вызвано сбоем в микросхеме памяти.

37.

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

38.

Исключительные ситуации
O Исключительные ситуации
во время
команды.

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

39.

Для исключительных ситуаций
характерно следующее:
Исключительные ситуации
обнаруживаются
процессором во время выполнения команд.
• Процессор
при переходе на выполнение
обработки исключительной ситуации сохраняет
часть своего состояния перед выполнением
текущей команды.
• Исключительные ситуации возникают синхронно
с работой процессора, но непредсказуемо для
программиста, если только тот специально не
заставил процессор делить некоторое число на
ноль.

40.

I/O данных можно осуществлять
тремя различными способами:
I. Опрашивание устройства (polling)
II.Использование механизма прерываний.
III.Использование
специального
контроллера прямого доступа к
памяти
(Direct Memory Access).

41.

I. Опрос устройств
O Для
вывода
информации,
помещающейся в регистр входных
данных, без проверки успешности
вывода процессор
и
контроллер
должны
связываться
следующим
образом:

42.

I. Опрос устройств
1. Процессор в цикле читает информацию из
порта регистра состояний
значение бита занятости.
▪ Если
и
проверяет
бит занятости установлен, то это
означает, что устройство еще не завершило
предыдущую операцию, и процессор уходит на
новую итерацию цикла.
▪ Если бит занятости сброшен, то устройство
готово к выполнению новой операции, и
процессор переходит на следующий шаг.

43.

I. Опрос устройств
2. Процессор записывает код команды
вывода в порт регистра управления.
3. Процессор записывает данные в порт
регистра входных данных.

44.

I. Опрос устройств
4.
Процессор
устанавливает
бит
готовности команды. В следующих
шагах процессор не задействован.

45.

I. Опрос устройств
5. Когда контроллер замечает, что бит
готовности
команды
установлен,
он
устанавливает бит занятости.
6. Контроллер анализирует код команды в
регистре управления и обнаруживает,
что это
команда вывода. Он берет данные из регистра
входных данных и инициирует выполнение
команды.

46.

I. Опрос устройств
7. После завершения операции контроллер
обнуляет бит готовности команды.

47.

I. Опрос устройств
8. При успешном завершении операции
контроллер обнуляет бит ошибки в регистре
состояния, при неудачном завершении команды
– устанавливает его.
9. Контроллер сбрасывает бит занятости.

48.

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

49.

I. Опрос устройств
O Пользовательская программа выдает системный
запрос, который ядро транслирует в вызов
процедуры, соответствующей драйверу, затем
драйвер начинает процесс I/O.
O Выполнение программного цикла, постоянно
опрашивая устройство, с которым он работает
(есть бит, указывающий занятость устройства).
O При завершении операций I/O драйвер помещает
данные туда, куда требуется, и возвращается в
исходное состояние.
O Затем ОС возвращает
управление программе,
осуществлявшей вызов.
O Недостаток метода: ЦП должен опрашивать
устройство, пока оно не завершит работу.

50.

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

51.

II. Механизм прерываний
O Каждомуустройству
присваивается
свой
номер
прерывания, который при
возникновениипрерывания
контроллер
прерывания заносит в свой регистр состояния.

52.

II. Механизм прерываний
O Номер прерывания обычно служит индексом в
специальной таблице прерываний,
хранящейсяпо адресу,задаваемомупри
инициализации
вычислительной
системы,и
содержащейадреса программ обработки
прерываний – векторы прерываний.

53.

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

54.

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

55.


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

56.

O Для
упорядочения работы обработчиков
прерываний в операционных системах
применяется тот же механизм, что и для
упорядочения
работы
пользовательских
процессов — механизм
приоритетных
очередей.

57.

Диспетчер прерываний
O Все
источники
прерываний
обычно
делятся на несколько классов, причем
каждому классу присваивается приоритет.

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

58.

O При
возникновении
прерывания
диспетчер
прерываний
вызывается
первым.
O Он запрещает ненадолго все прерывания, а
затем выясняет причину прерывания.
O Затем диспетчер сравнивает назначенный
данному источнику прерывания приоритет и
сравнивает его с текущим приоритетом
потока команд, выполняемого процессором.

59.

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

60.

Неупорядоченная обработка
прерываний

61.

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

62.

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

63.

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

64.

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

65.

Синхронные и асинхронные
системные вызовы

66.

Основные системные
таблицы ввода/вывода
O Каждая операционная система имеет
свои таблицы ввода/вывода для того
чтобы
управлять
вводом/выводом
через операционную систему (ядро) и
выполнять
при
этом
механизм
прерывания операционной системы
должна иметь по крайней мере 3
системные таблицы.

67.

UCB (Unit Control Block)
содержит следующую информацию об
устройстве:
1.Тип устройства, его модель
2.Подключение устройства ( через какой
интерфейс, к какому разъёму, какие порты и
линии прерывания используются)
3.Указание на драйвер (адрес секции
запуска)
4.Информация о буфере памяти
5.Состояние устройств
6.Указатель
на
дескриптор
задачи
использующий устройство в данный момент

68.

2 таблица описания виртуальных
(логических ) устройств
O Её назначение — устранение
связи
устройствами,
между виртуальными
описанными в таблице 1.
O2
таблица
позволяет
ядру
операционной системы перенаправлять
запрос на ввод/вывод из приложения на
те программные модули и страницы
данных, которые (или адреса которых)
хранятся в соответствующем элементе
1 таблицы.

69.

3 таблица прерывания
O для
всех
сигналов
прерывания
указывает тот или иной элемент 1
таблицы,
который
описывает
устройство выполняющее эту линию
прерывания.
O Эта таблица может в явном виде не
присутствовать поскольку может из
основной таблицы прерываний попасть
на драйвер, именующий связи с
элементом UCB.

70.

Управление вводом/выводом состоит
в выполнении следующих действий
O 1. Запрос на операции ввода/вывода от
выполняющейся программы поступает в
ядро операционной системы. Оно
проверяет вызов на правильность и при
отсутствии ошибок пересылает его в
подсистему ввода/вывода.

71.

O 2. Процесс ввода/вывода по логическому
имени с помощью таблицы логических
имен находит соответствующий элемент
UCB таблицы оборудования.

72.

O 3. Если устройство занято,
то дескриптор
задачи от которой поступил запрос на
ввод/вывод
помещается
в
очередь
ожидающих устройств.
O Если устройство свободно, то подсистема
определяет по UCB тип устройства и
передает управление соответствующему
драйверу на секцию запуска.

73.

O 4.
Драйвер инициализирует оптимизацию
управления
и
возвращает
управление
диспетчеру задач, чтобы он поставил на
процессор готовую к исполнению задачу.

74.

O 5. Устройство ввода/вывода обрабатывает
команду
O поставляет
запрос на прерывание, по
которому
через
таблицу
прерывания
управление
передается
на
секцию
продолжения,
O получив новую команду устройство начинает
её обрабатывать,
O управление
процессом
передается
диспетчеру задач и процессор продолжает
полезную работу.

75.

III. (Direct Memory Access)
O Контролёр
прямого доступа к памяти
управляет
потоком
битов
между
Оперативной памятью (ОП) и некоторыми
контролерами без вмешательства ЦП.
O ЦП обращается к микросхеме DMA,
сообщает ей число байтов для передачи,
а также адрес устройства и памяти, а
также направление передачи данных.
O По завершении работы DMA инициирует
прерывание, которое обрабатывается
обычным порядком.

76.

Задачи ОС по управлению файлами и
устройствами
1.
2.
3.
4.
5.
6.
7.
8.
Организация параллельной работы устройства вводавывода и процессора;
Согласование скоростей обмена и кэширования
данных;
Разделение устройств и данных между процессами;
Обеспечение удобного логического интерфейса между
устройствами и остальной частью системы;
Поддержка
широкого
спектра
драйверов
с
возможностью простого включения в систему нового
драйвера;
Динамическая загрузка и выгрузка драйверов;
Поддержка файловых систем;
Поддержка синхронных и асинхронных операций вводавывода

77.

1. Организация параллельной работы
устройства ввода-вывода и процессора
O Каждое
устройство ввода-вывода – диск,
принтер, терминал – имеет блок управления
(контроллер устройства).
O Контроллер взаимодействует с драйвером –
системным
программным
модулем,
предназначенным для управления устройством.
Под управлением контроллера устройство
может работать некоторое время автономно от
команд ОС.

78.

2. Согласование скоростей обмена и
кэширования данных
• При обмене информации в системе возникает
задача согласования скорости выполняемых
процессов. Согласование скорости осуществляется
за счет буферизации данных в оперативной памяти
и синхронизации доступа процессов к буферу.
O Буферизация (от англ. buffer) — метод организации обмена,
в частности,
ввода и вывода данных в компьютерах и других вычислительных
устройствах, который подразумевает использование буфера для временного
хранения данных

79.

3. Разделение устройств и данны
между процессами
• Устройства
ввода-вывода
могут
предоставляться процессам в монопольном и
разделяемом режимах.
• Задача ОС обеспечить контроль доступа к
данным ресурсам системы путем проверки
прав пользователя, от имени которых
выполняется процесс. Операционная система
имеет возможность контролировать доступ не
только к устройству в целом, но и к отдельным
порциям данных.

80.

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

81.

5. Поддержка широкого спектра драйверов с
возможностью простого включения в систему новог
драйвера
• Достоинством
подсистемы
ввода-вывода
операционной системы является разнообразие
устройств, поддерживаемых данной ОС.
• Для создания драйверов необходимо наличие
удобного и открытого интерфейса между
драйверами и другими компонентами ОС.
• Драйвер взаимодействует, с одной стороны, с
модулями ядра ОС, а с другой стороны – с
контроллерами внешних устройств. Драйвер
имеет два интерфейса DKI (driver kernel
interface)
и DDI (driver device interface).

82.

6. Динамическая загрузка и
выгрузка драйверов
• Другой
проблемой работы с устройствами
ввода-вывода является проблема включения
драйвера в состав работающей ОС –
динамическая загрузка/выгрузка драйверов.
• Способность системы автоматически загружать
и выгружать из оперативной памяти требуемый
драйвер повышает универсальность ОС.

83.

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

84.

8. Поддержка синхронных и
асинхронных операций ввода-вывода
Операции
ввода-вывода
по
отношению
к
программному
приложению
выполняются
в
синхронном или асинхронном режимах.
• Синхронный
режим

приложение
приостанавливает свою работу и ждет отклика от
устройства.
• Асинхронный режим –
приложение продолжает
работу, параллельно с ожиданием отклика от
устройства.
• Операционные системы для
разных приложений
должны обеспечить
синхронную и
асинхронную
работу с устройствами.

85.

Многослойная модель
подсистемы ввода-вывода

86.

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

87.

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

88.

Выводы:
O Для построенияпрограммнойчасти
системы ввода-вывода характерен
:
"слоеный" подход
O Для
взаимодействия с
hardware
используются драйверы устройств
жестко
O Драйверы устройств через
определенный интерфейс связаны с базов
подсистемой ввода-вывода
O Доступ к базовой подсистеме ввода-вывод
осуществляетсяпосредствомсистемных
вызовов.
English     Русский Правила