Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
осс эл версия.doc
Скачиваний:
7
Добавлен:
01.03.2025
Размер:
713 Кб
Скачать
☆

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

Концепция виртуальности используется в ОС как средство для:

- уменьшения конфликтов при управлении процессами т распределении

ресурсов;

- облегчения работы пользователя с системой;

- освобождения пользователя от рутинных процедур при обращении к

тем или иным ресурсам.

Виртуализация при централизованном распределении ресурсов обеспе-

чивает две формы "обмана" пользователей на ЭВМ:

1)пользователь обеспечивается при обслуживании своего процесса

ресурсом, который реально не существует, или существует с ухудшенными

характеристиками;

2)для нескольких параллельных процессов создается иллюзия однов-

ременного использования того, что одновременно в реальной системе су-

ществовать не может.

Принято считать, что "обман" первого рода впервые реализовывался

оператором ЭВМ следующим образом. Пользовательские программы обращались

к магнитной ленте с использованием не физических а логических адресов

накопителей на магнитной ленте (НМЛ).

При запросе от программы, оператор устанавливал требуемую магнит-

ную ленту на любой свободный НМЛ , а затем с помощью переключателей на

коммутационнойй панели, связывал конкретные физические адреса накопи-

телей с соответствующими логическими адресами.

В результате пользователь работал с виртуальным магнитофонами.

Виртуальность проявлялась в том, что пользователь мог не знать реаль-

ное количество НМЛ и их физических адресов каждого.

Примером "Обмана второго рода" является подход в распределении

такого дорогого ресурса как канал.

Каждое из множества внешних устройств, подсоединенных к каналу,

связываются с ним на короткий промежуток времени, после того как это

внешнее устройство подготовлено к приему или выдаче очередной порции

информации ( байта или группы байт). Промежуток времени, в течении ко-

торого происходит переда информации между каналом и внешним устройс-

твом, называется сеансом связи.

Во время сеанса одного устройства, другие могут выполнять работу

не требующую использования ресурсов канала. Для каждого устройства

создается иллюзия использования собственного канала, но не реального а

виртуального. Каналы работающие подобным образом, называют мультип-

лексными.

Наиболее полным проявлением концепции виртуальности является по-

нятие виртуальной машины. Любая ОС , являясь средством распределения

ресурсов и организуя по определенным правилам управление процессами

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

виртуальной машины.

Виртуальная машина, представляемая пользователю, воспроизводит

архитектуру реальной машины, но ее архитектурные элементы в таком

представлении выступают с новыми или улучшенными характеристиками.

Концепция виртуальности положена в основу восходящего метода про-

ектирования ОС. При этом ОС строится как иерархия (т. е. как служебная

лестница, ряд должностей в порядке подчинения и перехода от низшего к

высшему) вложенных друг в друга виртуальных машин.

Низшим уровнем иерархии являются аппаратные средства машины.

Следующий уровень - программный, который совместно с сопрягаемым

нижнем уровнем, обеспечивает достижение машиной новых свойств. В ре-

зультате получается виртуальная машина первого уровня.

Далее, относительно виртуальной машины первого уровня разрабаты-

вается новый программный слой, который представляет виртуальную машину

второго уровня.

Такое последовательное абстрагирование от аппаратной части машины

с расширением функциональных возможностей на каждом уровне позволяет

построить виртуальную машину требуемого уровня.

Первое практическое применение этого метода было осуществлено при

разработке ОС ( THE - ) под руководством Э. Дейкстры.

Преимущества метода:

- систематичность проекта;

- увеличение надежности сложной программной системы;

- уменьшение сроков разработки.

Основными проблемами применения метода является:

- определение свойств и количество уровней абстракции;

- определение правил вынесения на каждый уровень необходимых ча-

стей ОС.

Известно определение свойств уровней абстракции, данное Г.Майер-

сом.:

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

вовании более высоких уровней;

2.На каждом уровне ничего неизвестно о внутреннем строении других

уровней. Связь между уровнями осуществляется только через жесткие, за-

ранее определенные сопряжения;

3.Каждый уровень представлен группой модулей. Некоторая часть

этих модулей является внутренними для уровня, то есть недоступны для

других уровней. Имена остальных модулей известны на следующем более

высоком уровне и реализуют сопряжение с этим уровнем.

4.Каждый уровень располагает определенными ресурсами и :

- либо скрывает их от других уровней;

- либо предоставляет другим уровням некоторые их абстракции (вир-

туальные ресурсы.

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

представление данных в системе.

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

других уровней, должны быть минимальными.

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

одного уровня на другой. Желательно полностью исключить использование

глобальных данных (общих) (глоб. данные - данные, которые не описаны

в модуле, но доступны для использования.)

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

слабое сцепление с другими уровнями. Любая функция, выполняемая уров-

нем абстракции, должна быть представлена единственным входом.

Концепция виртуальности стала одной из ведущих при создании сов-

ременных ОС.