Cтраница 1
Машинная независимость является главным свойством мобильных программ. Машинная независимость предполагает более одного типа программно несовместимых машин. В этом случае невыгодно писать одни и те же программы для различных машин. Степень мобильности программы определяется также затратами, связанными с переносом ее в операционную обстановку новой ЭВМ. Эти затраты должны быть существенно меньше, чем если бы она была переписана заново. [1]
![]() |
Модифицированная схема цифрового ПИД-регулятора.| Программа реализации ПИД-закона регулирования на языке ФОРТРАН. [2] |
Машинной независимостью обладают программы, написанные на языке высокого уровня. Составим программу цифровой реализации ПИД-закона на языке фортран. [3]
Ценой машинной независимости описаний данных как цепочек литер является снижение скорости выполнения программы, поскольку границы машинных слов могут не совпадать с границами элементов данных, что затрудняет доступ к последним, и поскольку перед выполнением арифметических операций числа должны преобразовываться в аппаратное представление и результат должен быть преобразован опять в форму цепочки литер. В качестве компромисса в языке имеются используемые по желанию фразы: SYNCHRONIZED, с помощью которой можно совместить начало или конец элемента данных с границей слова ( или другой естественной единицы памяти) и USAGE IS COMPUTATIONAL ( используется в вычислениях), позволяющей использовать для конкретного элемента данных аппаратное представление чисел. Применение этих фраз приводит к тому, что длина структур данных или индивидуальных элементов становится зависимой от реализации, но выигрыш в скорости выполнения может быть огромным. [4]
Таким образом достигается почти полная машинная независимость написанных программ. [5]
Существует несколько подходов к достижению машинной независимости языка. [6]
Процесс кросс-трансляции является логическим следствием преимущества машинной независимости языков программирования высокого уровня. [7]
Макросы представляют собой важнейшее средство для достижения, например, машинной независимости и переносимости ( portability) программ. С их помощью легко определить абстрактный промежуточный язык. С помощью макросов можно, например, определять абстрактные промежуточные языки, которые хорошо подходят для системного программирования и поддерживают подходящим образом различные архитектуры вычислительных машин, не являясь, однако, зависимыми от их деталей и различий. [8]
Две из основных характеристик ПЛ / 1, которые перенесены в подмножество, - относительная машинная независимость и блочная структура программы. Они позволяют уменьшить затраты на внесение изменений в программу при любых изменениях используемого программой оборудования. [9]
Инструментальный язык, предназначенный для написания мобильного ПО, должен обладать рядом свойств: машинной независимостью, эффективностью, надежностью и наличием необходимых средств. Рассмотрим подходы к обеспечению этих основных свойств и их взаимосвязь. Поскольку технологичность достигается, как правило, не языковыми средствами, а его окружением, это свойство здесь рассматриваться не будет. [10]
Машинная независимость является главным свойством мобильных программ. Машинная независимость предполагает более одного типа программно несовместимых машин. В этом случае невыгодно писать одни и те же программы для различных машин. Степень мобильности программы определяется также затратами, связанными с переносом ее в операционную обстановку новой ЭВМ. Эти затраты должны быть существенно меньше, чем если бы она была переписана заново. [11]
Вообще говоря, в языках Си и Литтл последовательно проводится принцип программист всегда прав, допускающий неограниченное управление всеми средствами машины и ОС. В таких условиях машинная независимость программ возможна лишь при жесткой дисциплине программирования. [12]
При трансляции с алгоритмических языков, как правило, в объектном коде программ, получаемом для реализации на ЭВМ, оказываются лишние команды. Их появление обусловлено машинной независимостью алгоритмических языков, их ориентированностью на определенные классы программ и особенностями построения трансляторов. Эти команды не мешают получению правильных результатов, однако занимают дополнительную память и снижают эффективную производительность ЭВМ. ЭВМ, необходимо осуществлять оптимизацию программ. [13]
![]() |
Классификация языков САПР. [14] |
Языки программирования - известные алгоритмические языки высокого уровня ФОРТРАН, АЛГОЛ-60, ПЛ / 1 и машинно-ориентированные языки - автокоды ( языки ассемблера), на которых записывается специальное программное обеспечение САПР. Достоинствами алгоритмических языков высокого уровня являются машинная независимость и удобство программирования. Программы, записанные на этих языках, легко адаптируются на ЭВМ различного типа. Недостатки этих языков состоят в пониженных эффективности и универсальности, что вызывает увеличение машинного времени по сравнению с программами, составленными на языке ассемблера, и не всякая сложная программа САПР на этих языках может быть написана. Для составления программ, в которых преобладают логические операции над адресами и другими двоичными кодами, следует применять языки ПЛ / 1, ПАСКАЛЬ, АДА. Для составления большинства программ используется язык ФОРТРАН, который обеспечивает получение достаточно эффективных программ. [15]