Устройства ввода вывода делятся на два типа: блок-ориентированные устройства и байт-ориентированные устройства. Блок-ориентированные устройства берегут информацию в блоках фиксированного размера, каждый из который имеет свой собственный адрес. Проще всего блок-ориентированное устройство - диск. Байт-ориентированные устройства не адресуемы и не позволяют делать операцию поиска, они генерируют или потребляют последовательность байтов. Примерами являются терминалы, строчные принтеры, сетевые адаптеры. Однако некоторые внешние устройства не относятся к никакому классу, например, времена, которые, с одной стороны, не адресуемы, а с другой стороны, не порождают потока байтов. Это устройство только выдает сигнал прерывания в некоторые моменты времени.
Внешнее устройство обычно составляется из механического и электронного компонента. Электронный компонент называется контроллером устройства или адаптером. Механический компонент подает собственно устройство. Некоторые контроллеры могут управлять несколькими устройствами. Если интерфейс между контроллером и устройством стандартизован, то независимые производители могут выпускать совместные как контроллеры, так и устройства.
Операционная система обычно имеет дело не с устройством, а с контроллером. Контроллер, как правило, выполняет простые функции, например, превратит поток битый в блоки, которые составляются из байтов, и осуществляют контроль и исправления ошибок. Каждый контроллер имеет несколько регистров, которые используются для взаимодействия с центральным процессором. В некоторых компьютерах эти регистры являются частью физическое адресного пространства. В таких компьютерах нет специальных операций ввода вывода. В других компьютерах адреса регистров ввода вывода, называемых часто портами, образуют собственное адресное пространство за счет введения специальных операций внедрения-висновка (например, команд IN и OUT в процессорах i86).
ОС выполняет внедрение-вывод, записывая команды в регистры контроллера. Например, контроллер гибкого диска IBM PC принимает 15 команд, таких как READ, WRITE, SEEK, FORMAT и т.д. Когда команда принята, процессор оставляет контроллер и занимается другой работой. При завершении команды контроллер организует прерывание для того, чтобы передать управление процессором операционной системе, которая должна проверить результаты операции. Процессор получает результаты и статус устройства, читая информацию из регистров контроллера.
Возможно стоит прочитать:
- Базовые операции RPC
- Физическая организация устройств ввода вывода
- Кэширование диска
- Процессы и нити в распределенных системах
- Критическая секция
- Особенности областей использования
- Сетевые операционные системы
- Дерево каталогов в nds
- Множественные прикладные среды
- ООП эффективен
- Сравнение вариантов организации взаимодействия сетей
- Нити и RPC
- Репликация
- Страничное распределение
- Управление памятью
- Вызов отдаленных процедур (RPC)
- Команды разработчиков и гражанский порыв
- Термины, концепции и соображения
- Подменю
- Настройки Server
- Область Session Settings
- Раздел User Details
- Контент
- Базовые операции RPC
- Физическая организация устройств ввода вывода
- Кэширование диска
- Процессы и нити в распределенных системах
- Область Parameters — Component
- Критическая секция
- Особенности областей использования
- Сетевые операционные системы
- Изменение шаблона для веб-сайта
- Дерево каталогов в nds
- Множественные прикладные среды
- ООП эффективен
- Сравнение вариантов организации взаимодействия сетей
- Нити и RPC
- Репликация
- Страничное распределение
- Управление памятью
- Вызов отдаленных процедур (RPC)
- Рабочая среда
- В третьей части вы определяете тип данных
- Подключаемые модули
- Средства Joomla!
- Базовые операции RPC
- Динамическое связывание
- Физическая организация устройств ввода вывода
- Критическая секция
- Определение операционной системы
- Особенности областей использования
- Распределение памяти делениями переменного размеры
- Модель клиент-сервер и микроядра
- Шлюзы
- Сравнение вариантов организации взаимодействия сетей
- Кеширование ядра
- Нити и RPC
- Репликация
- Страничный-Сегментное распределение
- Управление памятью
- История разработки Joomla!
- Статика и динамика!
- Панель инструментов
- Меню Site
- Область Media Settings
- Раздел Global Configuration
- Интерфейсная часть
- Тур по вашему новому веб-сайту
- Базовые операции RPC
- Динамическое связывание
- Физическая организация устройств ввода вывода
- Область Parameters , Basic
- Внешние ссылки
- Критическая секция
- Определение операционной системы
- Особенности областей использования
- Распределение памяти делениями переменного размеры
- Модель клиент-сервер и микроядра
- Шлюзы
- Сравнение вариантов организации взаимодействия сетей
- Кеширование ядра
- Нити и RPC
- Репликация
- Страничный-Сегментное распределение
- Управление памятью
- Необходимые элементы для инсталляции системы Joomla!
- Установка локальной серверной среды
- Поддержка нескольких баз данных и ФТП досутп
- Система нумерации версий Joomla!
s#0