Машинная архитектура высокого уровня

Машинная архитектура высокого уровня

Истинная независимость от аппаратуры может быть достигнута, если вместо определения отдельных API для разных специфических приложений (что имеет место в случае такой API-ориентированной архитектуры как Single Unix Specification), будет формально определен общий интерфейс для всех приложений. Более того, если в такой интерфейс заложены возможности расширения, то в любое время для достижения переносимости приложений к нему могут быть добавлены API Single UNIX Specification. Именно такой подход лежит в основе архитектуры AS/400, которая определяет законченный набор API для всех приложений и не позволяет последним обходить API.

Независимый от технологии машинный интерфейс (Technology-Independent Machine Interface), который часто называют просто MI[ 9 ], представляет собой формальное определение интерфейса для всех приложений и большинства компонентов операционной системы. Аппаратура, а также все программное обеспечение операционной системы, которому должны быть доступны подробности аппаратной реализации, располагаются ниже границы MI.

Чтобы понять, как достигается независимость программного обеспечения от изменений в аппаратуре, обусловленных технологическим прогрессом, необходимо кратко рассмотреть, как работает компилятор. Ранее было сказано, что в традиционной процессоро-ориентированной системе компилятор генерирует двоичный машинный код непосредственно из исходного текста, что иногда требует дополнительного шага ассемблирования. В AS/400 компилятор генерирует из исходного текста код MI, который оформляется в виде так называемого шаблона программы. На втором этапе транслятор AS/400 генерирует двоичный код по содержимому шаблона программы. Фактически, этот транслятор выполняет те же действия, что и заключительный проход современного компилятора. Затем, если явно не запрошено его удаление, шаблон программы сохраняется вместе с двоичным кодом в программном объекте. Такая программа называется отслеживаемой (observable). При переносе программного объекта на новую аппаратную базу, например, на 64-разрядный PowerPC, другой транслятор, созданный для новой аппаратуры, перетранслирует шаблон программы в новый двоичный код. Изменений в исходном коде при этом не требуется — чем и достигается независимость от технологии. Более подробное рассмотрение этого вопроса мы отложим до главы 4.

Значимость такой независимости очевидна для пользователей и ISV. Переход на 64-разрядную технологию RISC дает не только более мощный процессор — операционная система и все приложения сразу же становятся 64-разрядными. Для того чтобы воспользоваться преимуществами 64-разрядного оборудования не нужно ничего переписывать. В один день RISC-системы AS/400 получают 64-разрядную операционную систему и десятки тысяч 64-разрядных приложений.

Архитектура AS/400 заслужила титул «расширенной архитектуры приложений» (Advanced Application Architecture), так как предоставляет возможности, которых многие другие вычислительные системы все еще пытаются достичь с помощью API-ориентированного подхода. AS/400 уже сейчас независима от нижележащей технологии. Хотя независимость от аппаратуры важна, но не менее важна и независимость от деталей операционной системы. В AS/400 достигнуто и это. Термин «расширенная архитектура» подразумевает, что к ней могут быть добавлены вновь определяемые API других операционных систем, что обеспечивает еще большую переносимость приложений.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

FERRMA: Nasтуплени высокого разрешения

Из книги Журнал `Компьютерра` N745 автора Журнал «Компьютерра»

FERRMA: Nasтуплени высокого разрешения Автор: Алекс ЭкслерНе нужно быть великим пророком, чтобы предсказать рный рост популярности сетевых накопителей (NAS) и бурл мультимедийных плееров. Также легко предположить, что последние, да с собственным накопителем, будут включать в


Атрибуты уровня компоновочного блока (и уровня модуля)

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Атрибуты уровня компоновочного блока (и уровня модуля) Можно также задать применение атрибутов ко всем типам в рамках данного модуля или всех модулей в рамках данного компоновочного блока, если, соответственно, использовать признаки [module:] или [assembly:]. Предположим, что нам


32 Re: Архитектура

Из книги Человеческий фактор в программировании автора Константин Ларри Л

32 Re: Архитектура Что произошло с архитектурой программного обеспечения? В типичном приложении для малого бизнеса или в стандартном коммерческом пакете зачастую бывает трудно обнаружить присутствие хоть какой-то структуры. Архитектура — будь то внутренняя


3.6 Архитектура TCP

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

3.6 Архитектура TCP TCP реализуется на хостах. Наличие TCP на каждом конце соединения обеспечивает для доставки данных локального приложения следующие возможности:? Точность? Сохранение последовательности? Полноту? Исключение дублированияБазовый механизм для реализации


3.7 Архитектура UDP

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

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


Глава 4 Технологии физического уровня и уровня связи данных

Из книги Сетевые средства Linux автора Смит Родерик В.

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


10.2. Доступ к данным более высокого уровня

Из книги XSLT автора Хольцнер Стивен

10.2. Доступ к данным более высокого уровня Часто возникает необходимость хранить и извлекать данные более прозрачным способом. Модуль Marshal предоставляет простые средства сохранения объектов а на его основе построена библиотека PStore. Наконец, библиотека dbm позволяет


Поддержка протоколов высокого уровня

Из книги Этюды для программистов [неполностью, главы 1–24] автора Уэзерелл Чарлз

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


Элементы таблиц стилей высокого уровня

Из книги Язык программирования Си для персонального компьютера автора Бочков C. О.

Элементы таблиц стилей высокого уровня В XSL определен ряд элементов высокого уровня, которые могут быть прямыми дочерними элементами <xsl:stylesheet>:• <xsl:attribute-set>;• <xst:decimal-format>;• <xsl:import>;• <xsl:include>;• <xsl:key>;• <xsl:namespace-alias>;• <xsl:output>;• <xsl:param>;•


2. Жизнь диктует свои законы, или Клеточные автоматы и машинная графика

Из книги Цифровой журнал «Компьютерра» № 162 автора Журнал «Компьютерра»

2. Жизнь диктует свои законы, или Клеточные автоматы и машинная графика Жизнь — это многоклеточное сообщество, населяющее пустыни Флатландии. Пустыня представляет собой квадратную решетку, каждая ячейка которой вмещает одну клетку Жизни. Мерой течения времени служит


Функции вода/вывода высокого уровня

Из книги Операционная система UNIX автора Робачевский Андрей М.

Функции вода/вывода высокого уровня Функция Краткое описание clearerr очистка флажка ошибки для потока fclose закрытие потока fcloseall закрытие всех открытых (на верхнем уровне) файлов fdopen создание потока для файла, ранее открытого на нижнем уровне, используя


Как настроить Windows для работы с дисплеями высокого разрешения Андрей Васильков

Из книги Идеальный программист. Как стать профессионалом разработки ПО автора Мартин Роберт С.

Как настроить Windows для работы с дисплеями высокого разрешения Андрей Васильков Опубликовано 01 марта 2013Всё чаще на форумах можно прочесть о том, что автоматическая настройка изображения в ОС Windows приводит к визуальному дискомфорту – слишком мелкий шрифт затрудняет


Архитектура TCP/IP

Из книги автора

Архитектура TCP/IP Архитектура семейства протоколов TCP/IP основана на представлении, что коммуникационная инфраструктура включает три объекта: процессы, хосты, и сети. Процессы являются основными коммуникационными объектами, поскольку между процессами, в конечном итоге,


Программный интерфейс высокого уровня.

Из книги автора

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


Архитектура

Из книги автора

Архитектура Если вы соблюдаете три закона и пишете тесты раньше рабочего кода, вы сталкиваетесь с дилеммой. Часто вы точно знаете, какой код нужно написать, но три закона приказывают сначала написать модульный тест, который не пройдет, потому что код еще не существует!