Концепция виртуализации

1) Мультиплексные каналы для периферийных устройств.

2) Создание на базе одного типа внешнего устройства видимости работы с другим типом внешнего устройства для чего реализовываются специальные драйверы.

3) Понятие спулинга при работе с внешними устройствами. В оперативной памяти или на внешний носитель создается область, которая является буфером между прикладной программой и медленным внешним устройствам. При этом для переключения программы создается видимость непрерывности работы периферийного устройства.

4) Понятие виртуальной машины. В целом под виртуальной машиной понимается некоторое устройство, способное воспринимать программы, написанные на определенном языке программирования и выдавать результаты.

5) Идеальная вычислительная машина. Она определяется следующими характеристиками:

– бесконечная по объему память с произвольно выбираемым наиболее удобным для пользователя доступом к объектам, хранимым в памяти

– один или несколько процессоров, способных выполнять действия, выражаемые пользователем в терминах некоторых удобных для него языков программирования

– произвольное количество внешних устройств с удобным способом доступа и предоставление информации, передаваемой через эти устройства или хранимой ими без каких-либо существенных ограничений на объем информации

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

Монитор – распределитель некоторого ресурса, который может на основании некоторой организации работы обеспечить ту или иную степень виртуализации при распределении эластичного ресурса.

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

Имеются ряд правил по формированию уровней и способов их взаимодействия.

1. На каждом уровне ничего не известно о свойствах и о существовании более высоких уровней.

2. На каждом уровне ничего не известно о внутреннем строении других уровней. Связь между ними осуществляется только через жесткие, заранее определенные сопряжения.

3. Каждый уровень представляет собой группу модулей, некоторые из которых являются внутренними и не доступны для других уровней. Имена остальных модулей известны на следующем, более высоком уровне, и представляют собой сопряжение с этим уровнем.

4. Каждый уровень располагает определенными ресурсами и либо скрывает их от других уровней, либо представляет другим уровням их абстракции (виртуальные ресурсы).

5. Каждый уровень может обеспечивать некоторую абстракцию данных в системе.

6. Предположения, которые делаются на каждом уровне относительно других уровней, должны быть минимальными.

7. Связь между уровнями ограничена явными аргументами, передаваемыми с одного уровня на другой.

8. Недопустимо совместное использование несколькими уровнями глобальных данных.

9. Каждый уровень должен иметь высокую прочность и слабое сцепление с другими уровнями.

10. Всякая функция, выполняемая уровнем абстракции, должна иметь единственный вход.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: