Принцип виртуализации

В наше время уже не требуется пояснять значение слова «виртуальный», ибо о виртуальных мирах, о виртуальной реальности знают даже дети. Принцип виртуа­лизации нынче используется практически в любой операционной системе. Вирту­ализация ресурсов позволяет не только организовать разделение тех ресурсов меж­ду вычислительными процессами, которые не должны разделяться. Виртуализация позволяет абстрагироваться от конкретных ресурсов, максимально обобщить их свойства и работать с некоторой абстракцией, вобравшей в себя наиболее значи­мые особенности. Этот принцип позволяет представить структуру системы в виде определенного набора планировщиков процессов и распределителей ресурсов (мо­ниторов) и использовать единую централизованную схему распределения ресур­сов.

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

Наиболее законченным и естественным проявлением концепции виртуальности является понятие виртуальной машины. По сути, любая операционная система, являясь средством распределения ресурсов и организуя по определенным прави­лам управление процессами, скрывает от пользователя и его приложений реаль­ные аппаратные и иные ресурсы, заменяя их некоторой абстракцией. В результате


282______________________________ Глава 9. Архитектура операционных систем

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

Чаще виртуальная машина, предоставляемая пользователю, воспроизводит архи­тектуру реальной машины, но архитектурные элементы в таком представлении выступают с новыми или улучшенными характеристиками, часто упрощающими работу с системой. Характеристики могут быть произвольными, но чаще всего пользователи желают иметь собственную «идеализированную» по архитектурным характеристикам машину в следующем составе.

- Единообразная по логике работы память (виртуальная) достаточного для вы­полнения приложений объема. Организация работы с информацией в такой памяти производится в терминах работы с сегментами данных на уровне вы­бранного пользователем языка программирования.

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

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

Степень приближения к «идеальной» виртуальной машине может быть большей или меньшей в каждом конкретном случае. Чем больше виртуальная машина, реа­лизуемая средствами операционной системы на базе конкретной аппаратуры ком­пьютера, приближена к «идеальной» по характеристикам машине и, следователь­но, чел, больше ее архитектурно-логические характеристики отличны от реально существующих, тем больше степень ее виртуальности.

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


Основные принципы построения операционных систем_______________________ 283

операционными системами, не имеющими такой возможности. Примером реали­зации принципа виртуализации может служить VDM-машина (Virtual DOS Ma­chine) — защищенная подсистема, предоставляющая полную среду типа MS DOS и консоль для выполнения DOS-приложений. Как правило, параллельно может выполняться практически произвольное число DOS-приложений, каждое в своей VDM-машине. Такие VDM-машины имеются и в операционных системах Win­dows' компании Microsoft, в OS/2, в Linux.

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

Например, в системах Windows все аппаратные ресурсы полностью виртуализи-рованы, и прямой доступ к ним со стороны прикладных (и системных обрабатыва­ющих) программ однозначно запрещен. В системах Windows NT/2000/XP даже были введены понятия HAL (Hardware Abstraction Layer — уровень абстрагирова­ния аппаратуры) и HEL (Hardware Emulation Layer — уровень эмуляции аппара­туры), и этот шаг очень помогает в реализации идей переносимости (мобильнос­ти) операционной системы.








Дата добавления: 2016-09-20; просмотров: 1719;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.