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