Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Виртуальные машины




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

Так, при работе с диском программисту достаточно представлять диск в виде логического набора файлов с именем, временем создания, размером и т. д. Ему не надо знать, что при записи информации на диск используется модуляция MFM, что соответствующий файл расположен в заданном наборе кластеров, а кластеры расположены в соответствующих секторах, на соответствующих дорожках и сторонах дисков. Ему не надо также знать о том, что перед обращением к диску надо сначала раскрутить двигатель шпинделя и позиционировать головки. Все, что должен сделать программист, это открыть файл, выполнить операции чтения и/или записи и закрыть его.

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

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

Таким образом, любая операционная система фактически предоставляет пользователю или программисту некоторую виртуальную машину, которой управлять легче, чем реальной аппаратурой компьютера.

Новое понимание важности формирования виртуальных машин возникло при попытке организовать многозадачную и/или многопользовательскую работу на компьютере. Здесь обычно говорят о системе виртуальных машин.

Система виртуальных машин – это ОС, допускающая одновременную работу нескольких программ, но создающая при этом для каждой программы иллюзию того, что машина находится в ее полном распоряжении. Создание операционной системы, основанной на виртуальных машинах, было обусловлено желанием большого числа пользователей IBM/360 работать в режиме разделения времени. Исходная версия OS/360 предназначалась исключительно для пакетной обработки заданий. Следуя пожеланиям пользователей, в фирме IBM попытались разработать систему разделения времени TSS/360, которая оказалась однако громоздкой и медлительной, и успеха не имела. За разработку требуемой системы взялась группа из научного центра IBM в Кембридже, и разработала систему, которую фирма IBM и приняла в качестве законченного продукта. Эта система до сих пор используется на мейнфреймах.

В оригинале созданная система называлась CP/CMS, затем была переименована в VM/370. Эта система предоставляла многозадачность и расширенную машину с более удобным интерфейсом, чем имеющееся аппаратное обеспечение.

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

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

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

Идея таких виртуальных машин используется и в настоящее время. Фирма Intel при моральной поддержке фирмы Microsoft в разработке нового поколения 32-разрядных процессоров (386+) предусмотрела режим виртуального процессора 8086. В этом режиме процессор работает как обычный процессор 8086(8088), включая 16-разрядную адресацию памяти с ограничением адресного пространства в 1 Мбайт.

Этот режим используется системой Windows и другими операционными системами для запуска программ MS-DOS. Программы запускаются в режиме виртуального процессора 8086. Пока они выполняют обычные команды, они работают напрямую с оборудованием. Как только программа обращается операционной системе для выполнения системного вызова, или пытается сама осуществить ввод-вывод данных, генерируется исключение и управление передается монитору виртуальной машины. Затем уже монитор виртуальной машины разбирается с тем, как выполнять соответствующий запрос.

Другое использование виртуальных машин можно продемонстрировать на примере виртуальной Java-машине. Когда фирма Sun разработала язык программирования Java, она разработала и виртуальную Java-машину (JVM – Java Virtual Machine). Компилятор языка Java выдает код для JVM, который затем выполняется интерпретатором JVM.




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


Дата добавления: 2014-11-25; Просмотров: 902; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.