Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


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




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

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

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

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

К примеру, при решении простейшей задачи на языке Паскаль, осуществляя вывод полученного значения на экран, программист не должен и не хочет задумываться о том, как это значение размещено в памяти, какие шины и регистры процессора должны быть задействованы для вывода на экран и т.п. Даже если не вдаваться глубже в подробности этого процесса, становится ясно, что обыкновенный программист вряд ли захочет столкнуться с такими деталями. Вместо этого программисту нужны простые высокоуровневые абстракции. В случае работы с дисками типичной абстракцией является имена файлов, содержащихся на диске, в случае вывода на экран — поток вывода[8].

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

Абстракция данных – подход к обработке данных по принципу "черного ящика". Данные обрабатываются функцией высокого уровня с помощью вызова функций низкого уровня. Обычно такой подход используется в объектно-ориентированном программировании, что позволяет работать с объектами, не вдаваясь в особенности их реализации.

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

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

Рисунок 1. Операционная система как виртуальная машина


Поделиться:

Дата добавления: 2015-09-13; просмотров: 58; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты