ВУЗ:
Составители:
27
меньшая по сравнению с монолитными системами эффектив-
ность за счет необходимости прохождения целого ряда слоев (например,
для выполнения операций ввода-вывода программе пользователя при-
дется последовательно проходить все слои от верхнего до нижнего).
2.1.4 Виртуальные машины
Виртуальной машиной (англ. virtual machine) называют программ-
ную или аппаратную среду, исполняющую некоторый код (например,
байт-код
2
или машинный код реального процессора). Зачастую вирту-
альная машина эмулирует работу реального компьютера. На виртуаль-
ную машину, так же как и на реальный компьютер можно инсталлиро-
вать ОС, у виртуальной машины может быть BIOS, оперативная память,
жѐсткий диск (выделенное место на жѐстком диске реального компью-
тера), могут эмулироваться периферийные устройства. На одном ком-
пьютере может функционировать несколько виртуальных машин. На
рис. 4 представлена обобщенная структура некоторой виртуальной ма-
шины с тремя различными ОС.
Виртуальная машина реализует для пользователя имитацию
hardware в вычислительной системе (процессор, привилегированные и
непривилегированные команды, устройства ввода-вывода, прерывания и
т.д.). При обращении к «виртуальному hardware» на уровне привилеги-
рованных команд в действительности происходит системный вызов
3
ре-
альной ОС, которая и производит все необходимые действия.
Программа
пользователя
Программа
пользователя
Программа
пользователя
MS-DOS
Linux
Windows NT
Виртуальное
hardware
Виртуальное
hardware
Виртуальное
hardware
Реальная операционная система
Реальное аппаратное обеспечение
Рисунок 4 – Обобщенная структура некоторой виртуальной машины
Недостатками реализации ОС в подобных архитектурах является
снижение эффективности виртуальных машин по сравнению с реальным
2
Байт-код (англ. byte-code) – машинно-независимый код низкого уровня, генерируемый транслято-
ром и исполняемый интерпретатором. Большинство инструкций байт-кода эквивалентны одной или
нескольким командам ассемблера. Трансляция в байт-код занимает промежуточное положение между
компиляцией в машинный код и интерпретацией.
3
Системный вызов (англ. system call) – обращение прикладной программы к ядру ОС для выполне-
ния какой-либо операции с использованием привилегированных команд.
Страницы
- « первая
- ‹ предыдущая
- …
- 25
- 26
- 27
- 28
- 29
- …
- следующая ›
- последняя »