Иерархия виртуальных компьютеров
Виртуальная машина, используемая программистом для создания приложения, состоит фактически из ИЕРАРХИИ ВИРТУАЛЬНЫХ КОМПЬЮТЕРОВ. В основании этой иерархии должен находиться реальный компьютер.
КОМПЬЮТЕР WEB-ПРИЛОЖЕНИЯ
(реализованный как HTML-страница) |
ВИРТУАЛЬНЫЙ WEB-КОМПЬЮТЕР
(браузер – программа на языке С или Java) |
ВИРТУАЛЬНЫЙ КОМПЬЮТЕР ЯЗЫКА С
(реализуется программами из библиотеки поддержки выполнения, загружаемой вместе с оттранслированной программой) |
ВИРТУАЛЬНЫЙ КОМПЬЮТЕР ОПЕРАЦИОННОЙ СИСТЕМЫ
(реализуется программами на машинном языке, которые выполняются на виртуальном программно-аппаратном компьютере) |
ПРОГРАММНО-АППАРАТНЫЙ ВИРТУАЛЬНЫЙ КОМПЬЮТЕР
(машинный язык этого компьютера реализуется микропрограммами, выполняемыми на аппаратном компьютере) |
РЕАЛЬНЫЙ АППАРАТНЫЙ КОМПЬЮТЕР
(реализован физическими устройствами) |
Рис.2.4. Иерархия виртуальных компьютеров для web-приложения
Но программист редко имеет дело с этим компьютером (он видит его через призму слоев программного обеспечения микропрограммного, системного операционного и обслуживающего характера и т.д.).
Операционная система моделирует (реализует с помощью элементарных операций физического компьютера) совокупность новых элементарных операций и структур данных, которые не обеспечены аппаратной частью компьютера. Это относиться, например, к таким конструкциям как внешние файлы и операции определения времени. Также виртуальный компьютер слоя «операционная система» закрывает для пользователя некоторые элементарные аппаратные операции, такие как: операции ввода-вывода, выключение компьютера, организация мультипроцессорной обработки.
Поэтому разработчик в процессе реализации языка высокого уровня имеет дело с таким виртуальным компьютером, который определен операционной системой и который мы обозначим ВКОС – «виртуальный компьютер операционной системы». И в процессе реализации ЯП высокого уровня разработчик создает новый слой программного обеспечения , которое выполняется на ВКОС и моделирует операции этого компьютера для языка высокого уровня. Кроме того, разработчик создает транслятор для языка высокого уровня, который переводит программы пользователя на машинный язык виртуального компьютера.
Можно пойти дальше в этой иерархии системы виртуальных компьютеров, и мы рассмотрим иерархию виртуальных компьютеров с точки зрения пользователя WWW.
Над виртуальным компьютером языка C, создаваемым компилятором этого языка, программист строит программу на языке C, называемую web-браузером. Этот браузер способен обрабатывать основные структуры данных WWW, гиперссылки, основные элементы языка HTML для отображения web-страниц, а также выполнять интерактивные программы (апплеты) для пользователей браузера.
Самый верхний уровень в этой иерархии занимает компьютер web-приложения, реализованный как web-страница.
Несколько замечаний относительно эквивалентности программ и данных. Типы объектов в программировании могут рассматриваться как программы, а могут и как данные. Например, код HTML задает некоторую страницу и тем самым является структурой данных. С другой стороны, для web-разработчика, использующего HTML для обработки информации, этот код является программой.
Похожие статьи:
|