ВУЗ:
Составители:
40
гих компьютерах адреса регистров ввода-вывода, называемых
часто портами, образуют собственное адресное пространство за
счет введения специальных операций ввода-вывода. ОС выпол-
няет ввод-вывод, записывая команды в регистры контроллера.
3.3.2. Организация программного обеспечения ввода-
вывода
Основная идея организации программного обеспечения
ввода-вывода состоит в разбиении его на несколько уровней.
Нижние уровни обеспечивают экранирование особенностей ап-
паратуры от верхних, а те, в свою очередь, обеспечивают удоб-
ный интерфейс для пользователей.
Ключевым принципом является независимость от уст-
ройств. Вид программы не должен зависеть от того, читает ли
она данные с гибкого диска или с жесткого диска. Очень близ-
кой к идее независимости от устройств является идея единооб-
разного именования. Иными словами для именования устройств
должны быть приняты единые правила.
Другим важным вопросом для программного обеспечения
ввода-вывода является обработка ошибок. Вообще говоря,
ошибки следует обрабатывать как можно ближе к аппаратуре.
Если контроллер обнаруживает ошибку чтения, то он должен
попытаться ее скорректировать. Если же это ему не удается, то
исправлением ошибок должен заняться драйвер устройства.
Многие ошибки могут исчезать при повторных попытках вы-
полнения операций ввода-вывода, например, ошибки, вызван-
ные наличием пылинок на головках чтения или на диске.
И только если нижний уровень не может справиться с ошибкой,
он сообщает об ошибке верхнему уровню.
Еще один ключевой вопрос - это использование блоки-
рующих (синхронных) и неблокирующих (асинхронных) пере-
дач. Большинство операций физического ввода-вывода выпол-
няется асинхронно - процессор начинает передачу и переходит
гих компьютерах адреса регистров ввода-вывода, называемых часто портами, образуют собственное адресное пространство за счет введения специальных операций ввода-вывода. ОС выпол- няет ввод-вывод, записывая команды в регистры контроллера. 3.3.2. Организация программного обеспечения ввода- вывода Основная идея организации программного обеспечения ввода-вывода состоит в разбиении его на несколько уровней. Нижние уровни обеспечивают экранирование особенностей ап- паратуры от верхних, а те, в свою очередь, обеспечивают удоб- ный интерфейс для пользователей. Ключевым принципом является независимость от уст- ройств. Вид программы не должен зависеть от того, читает ли она данные с гибкого диска или с жесткого диска. Очень близ- кой к идее независимости от устройств является идея единооб- разного именования. Иными словами для именования устройств должны быть приняты единые правила. Другим важным вопросом для программного обеспечения ввода-вывода является обработка ошибок. Вообще говоря, ошибки следует обрабатывать как можно ближе к аппаратуре. Если контроллер обнаруживает ошибку чтения, то он должен попытаться ее скорректировать. Если же это ему не удается, то исправлением ошибок должен заняться драйвер устройства. Многие ошибки могут исчезать при повторных попытках вы- полнения операций ввода-вывода, например, ошибки, вызван- ные наличием пылинок на головках чтения или на диске. И только если нижний уровень не может справиться с ошибкой, он сообщает об ошибке верхнему уровню. Еще один ключевой вопрос - это использование блоки- рующих (синхронных) и неблокирующих (асинхронных) пере- дач. Большинство операций физического ввода-вывода выпол- няется асинхронно - процессор начинает передачу и переходит 40
Страницы
- « первая
- ‹ предыдущая
- …
- 38
- 39
- 40
- 41
- 42
- …
- следующая ›
- последняя »