1.1.2Аппаратный уровень ВС Итак, аппаратный уровень вычислительной системы определяется набором аппаратных компонентов и их характеристик, используемых вышестоящими уровнями иерархии и оказывающих влияние на эти уровни. С позиций уровней, расположенных выше, аппаратный уровень предоставляют т.н. физические ресурсы, или физические устройства вычислительной системы. Каждому физическому ресурсу соответствуют определенные аппаратные компоненты компьютера и их характеристики. Физическими ресурсами являются процессор компьютера, оперативная память, внешние устройства, входящие в состав компьютера. Каждому физическому ресурсу вычислительной системы обычно соответствуют следующие характеристики:
правила программного использования, определяющие возможность корректного использования данного ресурса в программе (для процессора компьютера эти правила описывают машинный язык — систему команд данного компьютера, на основании которой возможно построение работающей программы, для внешнего устройства компьютера подобные правила описывают способы программного управления данным устройством, к примеру, это могут быть специальные команды ввода-вывода процессора);
параметры физического ресурса, характеризующие его объемные характеристики и/или производительность (для процессора компьютера таким параметром может служить его тактовая частота, а для внешнего запоминающего устройства — объем информации, которая может храниться на данном устройстве и скорость доступа);
степень использования данного физического ресурса в вычислительной системе — это параметры, которые характеризуют степень занятости или используемости данного физического ресурса (для процессора компьютера такой характеристикой является время его работы, затраченное на выполнение программ пользователей, для оперативного запоминающего устройства это будет объем используемой памяти, для линий связи — это ее загруженность).
В принципе нет единого правила формирования этих характеристик для любого физического ресурса: они зависят от конкретного устройства компьютера, от архитектуры компьютера, от стратегии использования данного ресурса. Так, например, для одного и того же внешнего устройства правила его программного использования могут существенно отличаться от того, каким образом данное устройство подключено к компьютеру. Об этом более подробно будет рассказано несколько позднее, в пункте, посвященном внешним устройствам компьютера (см. раздел 2). Тем не менее, данные характеристики служат для обеспечения взаимосвязи аппаратного уровня вычислительно системы с последующими уровнями иерархии.
Если мы будем рассматривать уровни организации вычислительной системы с точки зрения возможностей и средств программирования, то на аппаратном уровне пользователю вычислительной системы предоставлены в качестве средств программирования система команд компьютера и аппаратные интерфейсы программного взаимодействия с физическими ресурсами, что на самом деле практически полностью совпадает со средствами программирования, которые были доступны программистам на ранних этапах освоения компьютеров первого поколения.
1.1.3Управление физическими ресурсами ВС Уровень управления физическими ресурсами — это первый уровень системного программного обеспечения вычислительной системы. Его назначение — систематизация и стандартизация правил программного использования физических ресурсов. Для иллюстрации проблемы вернемся во времени к компьютерам первого поколения. Начальный этап зарождения вычислительной техники был этапом структурного «хаоса»: вычислительная система представлялась двухуровневой моделью, состоящей из уровня аппаратуры компьютера и уровня всего программного обеспечения. Программа пользователя включала в себя как кодовую часть, реализующую решение конкретной прикладной задачи, так и часть, которая обеспечивала взаимодействие с физическими устройствами компьютера (в большинстве случаев речь шла об управлении внешними устройствами компьютера). Программирование управления физическими устройствами — достаточно кропотливая работа, при которой необходимо учитывать сложную логику организации взаимодействия с конкретным устройством компьютера. Для адаптации возможности программы для работы с другими типами устройств требовалась существенная модификация кода программы в части, обеспечивающей это взаимодействие, что приводило к существенным трудозатратам, а также снижало надежность программы из-за роста риска внесения ошибок в логику ее работы.
Частичным решением этих проблем стало появление специальных стандартных программ — драйверов физических ресурсов (или драйверов физических устройств). Драйвер физического устройства — программа, основанная на использовании команд управления конкретного физического устройства и предназначенная для организации работы с данным устройством. Драйвер физического устройства скрывает от пользователя детальные элементы управления конкретным физическим устройством и предоставляет пользователю упрощенный программный интерфейс работы с устройством. Интерфейс драйвера физического устройства ориентирован на конкретные свойства устройства. Таким образом, в вычислительной системе, способной одновременно работать со значительным количеством устройств (устройства печати, устройства внешней памяти и т.п.), пользователю становится доступным спектр драйверов физических устройств, каждый из которых имеет свои особенности использования. Драйвер физического устройства стал неотъемлемой частью самого физического устройства и в большинстве случаев разрабатывался производителем устройства вместе с сами устройством.
Совокупность драйверов физических устройств составляет уровень управления физическими устройствами вычислительной системы. Уровень управления физическими устройствами стандартизует правила, по которым возможно внесение в систему новых драйверов устройств. Следует отметить, что в системе для одного и того же физического устройства возможно наличие нескольких различных драйверов, которые имеют различные пользовательские интерфейсы, а также предоставляют различные возможности. Примером может служить устройство магнитной лены, которое в зависимости от драйвера может сохранять информацию либо в виде последовательности блоков одинакового размера, либо в виде логических записей произвольного размера (Рис. 5.).
Пример зависимости от драйвера.
Таким образом, на уровне управления физическими ресурсами (устройствами) вычислительной системы пользователю доступна система команд компьютера, а также интерфейсы драйверов физических устройств компьютера.
Появление уровня управления физическими устройствами упростило процесс адаптации программы для работы с различными типами и разновидностями устройств, а также существенно повысило надежность программирования и снизило уровень требований к программисту о знании специфики управления конкретными устройствами. Однако использование исключительно уровня драйверов физических устройств оставило ряд специфических проблем:
программист должен быть «знаком» со всеми интерфейсами драйверов используемых физических устройств;
программы пользователей, использующие конкретные драйверы физических устройств, должны модифицироваться каждый раз, когда возникает необходимость использовать другие физические устройства данного типа (это работа несоизмеримо проще той, которая выполнялась, когда внешнее устройство непосредственно программировалось в программе пользователя, но, тем не менее, в программу необходимо внести изменения, позволяющие использовать другой драйвер с другими интерфейсами).
|