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