Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционные системы.doc
Скачиваний:
61
Добавлен:
21.12.2018
Размер:
2.85 Mб
Скачать
  1. Пример зависимости от драйвера.

Таким образом, на уровне управления физическими ресурсами (устройствами) вычислительной системы пользователю доступна система команд компьютера, а также интерфейсы драйверов физических устройств компьютера.

Появление уровня управления физическими устройствами упростило процесс адаптации программы для работы с различными типами и разновидностями устройств, а также существенно повысило надежность программирования и снизило уровень требований к программисту о знании специфики управления конкретными устройствами. Однако использование исключительно уровня драйверов физических устройств оставило ряд специфических проблем:

  • программист должен быть «знаком» со всеми интерфейсами драйверов используемых физических устройств;

  • программы пользователей, использующие конкретные драйверы физических устройств, должны модифицироваться каждый раз, когда возникает необходимость использовать другие физические устройства данного типа (это работа несоизмеримо проще той, которая выполнялась, когда внешнее устройство непосредственно программировалось в программе пользователя, но, тем не менее, в программу необходимо внести изменения, позволяющие использовать другой драйвер с другими интерфейсами).

      1. Управление логическими/виртуальными ресурсами

Развитием системного программного обеспечения стало появление уровня управления логическими, или виртуальными, ресурсами (или устройствами). В основу этого уровня легло обобщение особенностей физических устройств одного вида и создание драйверов, имеющих единые интерфейсы, посредством которых осуществляется доступ к различным физическим устройствам одного типа. Для этих целей в современных вычислительных системах предусмотрена возможность программного создания и использования т.н. логических, или виртуальных, ресурсов (виртуальное —нечто реально не существующее, не имеющее реальной, физической организации). Логическое/виртуальное устройство (ресурс) — это устройство/ресурс, некоторые эксплутационные характеристики которого (возможно все) реализованы программным образом. Современные вычислительные системы позволяют создавать разнообразные логические/виртуальные устройства и соответствующие им драйверы. Драйвер логического/виртуального ресурса — это программа, обеспечивающая существование и использование соответствующего ресурса. Для этих целей при его реализации возможно использование существующих драйверов физических и виртуальных устройств. Возможно построение достаточно развитой иерархии логических устройств. Например, на рисунке изображена упрощенная схема организации ввода-вывода в системе. Она включает в себя многоуровневую иерархию виртуальных и физических устройств и соответствующих им драйверов, по степени обобщения которых можно выделить следующие группы.

  1. Драйверы физических устройств — обеспечивают доступ к конкретным физическим устройствам. Например, драйвер жесткого диска фирмы IBM модели Deskstar или драйвер жесткого диска фирмы Seagate модели Barracuda 3. Каждый из данных драйверов имеет особенности, характеризующие конкретное устройство, отраженные в соответствующем интерфейсе.

  2. Драйверы виртуальных устройств определенного типа (например, драйвер виртуального диска), предоставляют обобщенные интерфейсы доступа к разнообразным физическим устройствам данного типа. Данные драйверы имеют связи с драйверами конкретных физических устройств данного типа. Запрос к данному драйверу виртуального устройства обычно транслируется драйверу конкретного физического устройства и, в конечном итоге, управляющие команды получит само устройство. Кроме того, возможна «реализация» виртуального устройства определенного типа на устройствах других типов, например, возможна организация работы с виртуальным диском, реализованном на пространстве оперативной памяти, в этом случае драйвер виртуального устройства имеет связь с драйверами физических устройств других типов.

  3. Драйверы виртуальных устройств, которым затруднительно поставить в соответствие физическое устройство или группу физических устройств определенного типа. Примером могут служить драйверы различных файловых систем (файловая система — программный компонент вычислительной системы, обеспечивающий именованное хранение и доступ к данным).

Основным результатом появления уровня управления виртуальными устройствами вычислительной системы стала многоуровневая унификация интерфейсов доступа к ресурсам вычислительной системы, что существенно упростило проблему программирование устройств компьютера, а также предоставило качественно новые возможности в функционировании вычислительных систем и в создании их программного обеспечения. Примером могут служить файловые системы, которые обеспечивают простые и надежные интерфейсы именованного хранения и использования данных, полностью скрывая от пользователя проблемы ее внутренней организации. К примеру, пользователь современной вычислительной системы может не только не знать, на каком внешнем запоминающем устройстве размещены данные его файлов, он может не знать и территориальное расположение и тип компьютера, на котором хранятся его данные. Существенное развитие получили средства управления виртуальными устройствами (ресурсами), которые обеспечивают контроль за созданием и использованием ресурсов вычислительной системы.

  1. Схема организации ввода-вывода в системе.

Итак, мы рассмотрели два первых программных уровня структуры вычислительной системы — это уровни, обеспечивающие функционирование ресурсов в вычислительной системе. Под ресурсами вычислительной системы мы будем понимать совокупность всех физических и виртуальных ресурсов. Одной из характеристик ресурсов вычислительной системы является их конечность. То есть рано или поздно в системе возникает конкуренция за обладание ресурсом между его программными потребителями. При этом если речь идет о таком виртуальном ресурсе, как файловая система, то конечным является размер файловой системы на устройствах хранения данных, ограничения на предельное количество зарегистрированных в файловой системе файлов. Именно за эти параметры возможно возникновение конкуренции при использовании файловой системы. А теперь попытаемся вернуться к проблеме определения понятия операционной системы. Операционная система — это комплекс программ, обеспечивающий управление ресурсами вычислительной системы. Это основная концепция данного понятия. Позднее мы будем уточнять это определение, рассматривать отдельные функции ОС. В структурной организации вычислительной системы операционная система представляется уровнями управления физическими и виртуальными ресурсами.

С точки зрения средств программирования, доступных на уровне управления виртуальными ресурсами, пользователю предоставляются система команд компьютера, а также интерфейсы, обеспечивающие доступ к устройствам компьютера (как физическим, так и виртуальным). Доступная пользователю совокупность интерфейсов устройств компьютера может включать в себя как аппаратные интерфейсы доступа к устройствам, так и драйверы физических и/или виртуальных устройств. Конкретный состав интерфейсов определяется свойствами вычислительной системы, соответствующими, уровнями управления ресурсами, а также привилегиями пользователя (об этом подробнее мы будем говорить несколько позднее).