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

Реферат Курсовая Конспект

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

Виртуальные машины – другой распространенный подход к разработке операционных систем и их пользовательских интерфейсов - Лекция, раздел Философия, Лекция: Уровни абстракции ОС. ОС с архитектурой микроядра. Виртуальные машины. Цели проектирования и разработки ОС. Генерация ОС В лекции рассматриваются следующие вопросы: методы проектирования и реализации ОС: уровни абстракции ОС; ОС с архитектурой мик Концепция Виртуальной Машины Доводит Подход, Основанный На Уровнях Абстракции...

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

Пример: система виртуальных машин (SVM) в ОС IBM 360/370, разработанная в конце 1980-х гг. Более современный пример: Microsoft Virtual PC – продукт, эмулирующий виртуальную машину, в которую может быть инсталлирована любая другая ОС, отличная от основной.

При работе пользователей в виртуальных машинах физические ресурсы реальной компьютерной системы используются совместно для поддержки нескольких виртуальных машин. Диспетчеризация процессора создает у каждого пользователя впечатление, что он имеет свой собственный процессор. Буферизация (spooling) и файловая система предоставляют виртуальные устройства ввода и вывода. Терминал обычного пользователя, характерный для более раннего режима разделения времени, действует как операторская консоль.

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


Рис. 7.4. Модели ОС без использования виртуальных машин и на основе виртуальных машин.

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

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

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

Концепцию виртуальной машины, однако, труднее реализовать, так как трудно адекватно смоделировать используемую машину.

Виртуальная машина Java (JVM)

Подход, основанный на виртуализации, характерен не только для разработки операционных систем, но и для реализации современных платформ т языков программирования. Причина в том, что реализаторы этих языков и платформ стремятся сделать их переносимыми с одной реальной аппаратной платформы на другую. Такой подход принят, как широко известно, при реализации Java, но авторы Java отнюдь не первыми предложили данную идею. Программы на Java компилируются в платформонезависимый байт-код (bytecode) –команды виртуальной Java-машины, построенные на основе постфиксной записи операндов. Байт-код исполняется виртуальной машиной Java (JVM).

JVM состоит из:

  1. загрузчика классов(class loader), выполняющего загрузку классов в виртуальную машину во время выполнения программы; загрузчик классов может быть стандартным или может быть переопределен пользователем;
  2. верификатора классов(class verifier), выполняющего при загрузке класса проверку корректности его байт-кода, контроль типов и другие необходимые проверки;
  3. интерпретатора(runtime interpreter), выполняющего интерпретацию (эмуляцию) команд байт-кода – абстрактной машины Java;
  4. Just-In-Time (JIT) – компилятора, выполняющего при первом вызове каждого метода его компиляцию в объектный код целевой платформы (native –код), что позволяет повысить суммарную производительность выполнения программ на Java.

Аналогичную архитектуру имеет виртуальная машина VES (Virtual Execution System)платформы Microsoft.NET, однако подход .NET более открытый – поддерживается многоязыковое программирование, и байт-код (в .NET называемый CIL – Common Intermediate Language) играет роль универсального промежуточного языка, в который компилируется исходный код на любом языке, например, на C# или Visual Basic. Подробное рассмотрение этих вопросов выходит за рамки данного курса. В качестве базового учебника по Java-технологии рекомендую книгу "Виртуальные файловые системы (VFS). Реализации файловых систем. Сетевая файловая система NFS".

Архитектура виртуальной машины Java изображена на рис. 7.5.


Рис. 7.5. Архитектура виртуальной машины Java (JVM).

– Конец работы –

Эта тема принадлежит разделу:

Лекция: Уровни абстракции ОС. ОС с архитектурой микроядра. Виртуальные машины. Цели проектирования и разработки ОС. Генерация ОС В лекции рассматриваются следующие вопросы: методы проектирования и реализации ОС: уровни абстракции ОС; ОС с архитектурой мик

В лекции рассматриваются следующие вопросы методы проектирования и реализации... Содержание Введение Уровни абстракции ОС Операционные системы с микроядром Виртуальные машины другой распространенный подход к...

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Уровни абстракции ОС
Проектирование и реализация операционных систем адекватно соответствуют принципу уровней абстракции, сформулированному Э. Дейкстрой и подробно рассмотренному в "История ОС. Отечественные ОС. Д

Операционные системы с микроядром
Микроядро (micro-kernel)– один из важнейших принципов разработки ОС, который заключается в переносе максимально возможного числа модулей из системного в пользовательское "прос

Реализация операционных систем
Традиционно, начиная с 1950-х гг., ОС разрабатывались на низкоуровневых языках – ассемблерах. Система UNIX была первой ОС, разработанной почти полностью на языке высокого уровня – Си. Впоследствии

Ключевые термины
Just-In-Time (JIT) – компилятор– компонента JVM,выполняющая при первом вызове каждого метода его компиляцию в объектный код целевой платформы (native –

Краткие итоги
При разработке ОС широко применяется принцип уровней абстракции. Он применен при разработке OS/2 – второй ОС фирмы Microsoft (после MS DOS), разработанной для персональных компьютеров PS/2. OS/2 им

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

Темы для курсовых работ, рефератов, эссе
Принцип уровней абстракции и его использование при разработке операционных систем (реферат). Обзор операционной системы OS/2 и ее архитектуры (реферат). Обзор операционных с

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги