Курынин Р.В., Машечкин И.В., Терехин А.Н. - Конспект лекций по ОС, страница 5
Описание файла
PDF-файл из архива "Курынин Р.В., Машечкин И.В., Терехин А.Н. - Конспект лекций по ОС", который расположен в категории "". Всё это находится в предмете "операционные системы" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 5 страницы из PDF
Так, например, для одного и того же внешнегоустройства правила его программного использования могут существенно отличаться от того,каким образом данное устройство подключено к компьютеру. Об этом более подробно будетрассказано несколько позднее, в пункте, посвященном внешним устройствам компьютера (см.раздел 2). Тем не менее, данные характеристики служат для обеспечения взаимосвязи аппаратногоуровня вычислительно системы с последующими уровнями иерархии.Если мы будем рассматривать уровни организации вычислительной системы с точкизрения возможностей и средств программирования, то на аппаратном уровне пользователювычислительной системы предоставлены в качестве средств программирования система командкомпьютера и аппаратные интерфейсы программного взаимодействия с физическими ресурсами,что на самом деле практически полностью совпадает со средствами программирования, которыебыли доступны программистам на ранних этапах освоения компьютеров первого поколения.1.1.3Управление физическими ресурсами ВСУровень управления физическими ресурсами — это первый уровень системногопрограммного обеспечения вычислительной системы.
Его назначение — систематизация истандартизация правил программного использования физических ресурсов. Для иллюстрациипроблемы вернемся во времени к компьютерам первого поколения. Начальный этап зарождениявычислительной техники был этапом структурного «хаоса»: вычислительная системапредставлялась двухуровневой моделью, состоящей из уровня аппаратуры компьютера и уровнявсего программного обеспечения. Программа пользователя включала в себя как кодовую часть,реализующую решение конкретной прикладной задачи, так и часть, которая обеспечивалавзаимодействие с физическими устройствами компьютера (в большинстве случаев речь шла обуправлении внешними устройствами компьютера).
Программирование управления физическимиустройствами — достаточно кропотливая работа, при которой необходимо учитывать сложнуюлогику организации взаимодействия с конкретным устройством компьютера. Для адаптациивозможности программы для работы с другими типами устройств требовалась существеннаямодификация кода программы в части, обеспечивающей это взаимодействие, что приводило ксущественным трудозатратам, а также снижало надежность программы из-за роста риска внесенияошибок в логику ее работы.Частичным решением этих проблем стало появление специальных стандартныхпрограмм — драйверов физических ресурсов (или драйверов физических устройств). Драйверфизического устройства — программа, основанная на использовании команд управленияконкретного физического устройства и предназначенная для организации работы с даннымустройством.
Драйвер физического устройства скрывает от пользователя детальные элементыуправления конкретным физическим устройством и предоставляет пользователю упрощенныйпрограммный интерфейс работы с устройством. Интерфейс драйвера физического устройства13ориентирован на конкретные свойства устройства. Таким образом, в вычислительной системе,способной одновременно работать со значительным количеством устройств (устройства печати,устройства внешней памяти и т.п.), пользователю становится доступным спектр драйверовфизических устройств, каждый из которых имеет свои особенности использования. Драйверфизического устройства стал неотъемлемой частью самого физического устройства и вбольшинстве случаев разрабатывался производителем устройства вместе с сами устройством.Совокупность драйверов физических устройств составляет уровень управленияфизическими устройствами вычислительной системы.
Уровень управления физическимиустройствами стандартизует правила, по которым возможно внесение в систему новых драйверовустройств. Следует отметить, что в системе для одного и того же физического устройствавозможно наличие нескольких различных драйверов, которые имеют различные пользовательскиеинтерфейсы, а также предоставляют различные возможности. Примером может служитьустройство магнитной лены, которое в зависимости от драйвера может сохранять информациюлибо в виде последовательности блоков одинакового размера, либо в виде логических записейпроизвольного размера (1.1.3).0123Драйвер AПоследовательность блоков одинакового размера.Всего занято 4 блока.Драйвер Bмаркерначала записиЗапись произвольного размера.маркерконца записиРис. 5. Пример зависимости от драйвера.Таким образом, на уровне управления физическими ресурсами (устройствами) вычислительнойсистемы пользователю доступна система команд компьютера, а также интерфейсы драйверовфизических устройств компьютера.Появление уровня управления физическими устройствами упростило процесс адаптациипрограммы для работы с различными типами и разновидностями устройств, а также существенноповысило надежность программирования и снизило уровень требований к программисту о знанииспецифики управления конкретными устройствами.
Однако использование исключительно уровнядрайверов физических устройств оставило ряд специфических проблем:− программист должен быть «знаком» со всеми интерфейсами драйверов используемыхфизических устройств;− программы пользователей, использующие конкретные драйверы физических устройств,должны модифицироваться каждый раз, когда возникает необходимость использовать другиефизические устройства данного типа (это работа несоизмеримо проще той, котораявыполнялась, когда внешнее устройство непосредственно программировалось в программепользователя, но, тем не менее, в программу необходимо внести изменения, позволяющиеиспользовать другой драйвер с другими интерфейсами).1.1.4Управление логическими/виртуальными ресурсамиРазвитием системного программного обеспечения стало появление уровня управлениялогическими, или виртуальными, ресурсами (или устройствами).
В основу этого уровня легло14обобщение особенностей физических устройств одного вида и создание драйверов, имеющихединые интерфейсы, посредством которых осуществляется доступ к различным физическимустройствам одного типа. Для этих целей в современных вычислительных системахпредусмотрена возможность программного создания и использования т.н. логических, иливиртуальных, ресурсов (виртуальное —нечто реально не существующее, не имеющее реальной,физическойорганизации).Логическое/виртуальноеустройство(ресурс) —этоустройство/ресурс, некоторые эксплутационные характеристики которого (возможно все)реализованы программным образом.
Современные вычислительные системы позволяют создаватьразнообразные логические/виртуальные устройства и соответствующие им драйверы. Драйверлогического/виртуального ресурса — это программа, обеспечивающая существование ииспользование соответствующего ресурса. Для этих целей при его реализации возможноиспользование существующих драйверов физических и виртуальных устройств. Возможнопостроение достаточно развитой иерархии логических устройств. Например, на рисункеизображена упрощенная схема организации ввода-вывода в системе. Она включает в себямногоуровневую иерархию виртуальных и физических устройств и соответствующих имдрайверов, по степени обобщения которых можно выделить следующие группы.A.
Драйверы физических устройств — обеспечивают доступ к конкретным физическимустройствам. Например, драйвер жесткого диска фирмы IBM модели Deskstar или драйвержесткого диска фирмы Seagate модели Barracuda 3. Каждый из данных драйверов имеетособенности, характеризующие конкретное устройство, отраженные в соответствующеминтерфейсе.B. Драйверы виртуальных устройств определенного типа (например, драйвер виртуальногодиска), предоставляют обобщенные интерфейсы доступа к разнообразным физическимустройствам данного типа. Данные драйверы имеют связи с драйверами конкретныхфизических устройств данного типа.
Запрос к данному драйверу виртуального устройстваобычно транслируется драйверу конкретного физического устройства и, в конечном итоге,управляющие команды получит само устройство. Кроме того, возможна «реализация»виртуального устройства определенного типа на устройствах других типов, например,возможна организация работы с виртуальным диском, реализованном на пространствеоперативной памяти, в этом случае драйвер виртуального устройства имеет связь сдрайверами физических устройств других типов.C. Драйверы виртуальных устройств, которым затруднительно поставить в соответствиефизическое устройство или группу физических устройств определенного типа. Примероммогут служить драйверы различных файловых систем (файловая система — программныйкомпонент вычислительной системы, обеспечивающий именованное хранение и доступ кданным).Основным результатом появления уровня управления виртуальными устройствамивычислительной системы стала многоуровневая унификация интерфейсов доступа к ресурсамвычислительной системы, что существенно упростило проблему программирование устройствкомпьютера, а также предоставило качественно новые возможности в функционированиивычислительных систем и в создании их программного обеспечения.
Примером могут служитьфайловые системы, которые обеспечивают простые и надежные интерфейсы именованногохранения и использования данных, полностью скрывая от пользователя проблемы ее внутреннейорганизации. К примеру, пользователь современной вычислительной системы может не только незнать, на каком внешнем запоминающем устройстве размещены данные его файлов, он может незнать и территориальное расположение и тип компьютера, на котором хранятся его данные.Существенное развитие получили средства управления виртуальными устройствами(ресурсами), которые обеспечивают контроль за созданием и использованием ресурсоввычислительной системы.15Операции ввода/выводаopen(), close(), read(), write()«С:»HD IBM....«F:»Виртуальный дискдрайвервиртуальногодискадрайверHD IBMдрайвероперативнойпамятиФайловаясистемадрайверфайловойсистемыгруппа «B»группа «C»группа «А»УстройствоHDD IBMОперативнаяпамятьРис. 6. Схема организации ввода-вывода в системе.Итак, мы рассмотрели два первых программных уровня структуры вычислительнойсистемы — это уровни, обеспечивающие функционирование ресурсов в вычислительной системе.Под ресурсами вычислительной системы мы будем понимать совокупность всех физических ивиртуальных ресурсов.