Работа операционной системы. Управление устройствами
Продолжение статьи «Работа операционной системы»
Практически все аппаратные средства компьютера, не располагающиеся на материнской плате, взаимодействуют с операционной системой при посредстве программ, называемых драйверами. Одной из важнейших функций драйвера является функция транслятора ("переводчика"), осуществляющего преобразование в обоих направлениях электрических сигналов аппаратных подсистем и языков программирования высокого уровня операционных систем и приложений. Драйверы получают сигналы, которые операционная система определяет как файл, и транслирует их в потоки битов, располагающихся в заданных местах запоминающих устройств, либо в серию импульсов лазера в принтере.
Ввиду того, что физические устройства компьютера сильно отличаются друг от друга, имеются существенные различия в принципах функционирования программ драйверов. Большинство из них запускается тогда, когда возникает необходимость в использовании соответствующего устройства, при этом такие драйверы функционируют в основном так же, как и любой другой процесс. Часто операционная система присваивает драйверам блоки с высоким приоритетом, благодаря чему аппаратные ресурсы компьютера получают возможность как можно быстрее освобождаться после выполнения задач и восстанавливать готовность к дальнейшему использованию.
Одна из причин, по которым драйверы отделены от операционной системы, состоит в том, что в этих условиях в драйвере, а следовательно, в соответствующих аппаратных подсистемах, могут быть дополнительно реализованы новые функции, без необходимости изменения, перекомпиляции и повторного распределения самой операционной системы. Благодаря разработке новых драйверов к устройствам, которую часто выполняет или оплачивает производитель подсистем, а не производитель операционной системы, возможности ввода/вывода системы в целом могут быть существенно улучшены.
Управление вводом и выводом – это в значительной степени управление очередями и буферами, специальными устройствами хранения, которые получают поток битов с устройства, например, с клавиатуры или последовательного порта, запоминают эти биты и отправляют их на центральный процессор со скоростью, которую способен принять центральный процессор. Эта функция особенно важна в случае, когда имеется несколько текущих процессов, на которые тратится время процессора. Операционная система при этом отправляет инструкцию буферу продолжать прием с устройства, но приостановить отправление данных на центральный процессор на время, пока приостановлен процесс, в котором используется данная информация. Затем, когда процесс, которому нужна данная информация, снова активизируется, операционная система дает команду буферу отправлять данные. Этот процесс дает возможность клавиатуре или модему работать с внешними пользователями либо компьютерами на высокой скорости, даже в то время, когда центральный процессор не может воспользоваться сигналом с этих источников.
Управление ресурсами компьютерной системы составляет значительную часть функций операционной системы, а в случае операционных систем, работающих в реальном времени, может потребовать использования практически всех функциональных возможностей. Однако для других операционных систем критически важной особенностью, оправдывающей их существование, является обеспечение приложениям и пользователям сравнительно простого, единообразного способа использования возможностей аппаратных средств.
Продолжение следует
Источник:
Просмотров: 1615
Ваш коментарий будет первым
Только зарегистрированные пользователи могут оставлять коментарии. Пожалуйста зарегистрируйтесь или войдите в ваш аккаунт.