
- •1. Основные принципы построения ос.
- •2. Функции и организация ос.
- •4. Ресурсы. Свойства ресурсов. Классификация ресурсов.
- •3. Процессы. Свойства процессов. Классификация процессов.
- •5. Понятие сетевых ос и распределенных ос.
- •6. Функциональные компоненты сос.
- •7. Схемы построения сетей (одноранговые сети, сети с выделенными серверами, гибридные сети).
- •8. Трансляторы. Компиляторы. Интерпретаторы.
- •9. Этапы компиляции. Общая схема работы компилятора.
- •10. Мультипрограммирование. Мтп в системах пакетной обработки. Мтп в системах реального времени. Мтп в системах разделения времени
- •Мтп в системах пакетной обработки
8. Трансляторы. Компиляторы. Интерпретаторы.
Транслятор (Т)
Это программа, которая переводит входную программу, на исходном входном языке, в эквивалентную выходную программу на результирующем ей языке.
В работе Т. участвуют, всегда, три программы:
-
Сам Т. является программой и входит в состав СПО вычислительной системы, т.е. является частью ПО. Т. представляет собой набор машинных команд и выполняется как все программы в рамках ОС. Все составные части Т. представляют собой фрагменты или модули программы со своими входными и выходными данными.
-
Исходными данными для работы Т. служит текст входной программы (некоторая последовательность предложений входного языка программирования), обычно это символьный файл, содержащий текст программы.
-
Выходными данными Т. является текст результирующей программы, который строится на синтаксических правилах заданных на выходном языке. Смысл результирующей программы определяется симатикой выходного языка.
Важное требование в определении Т. является эквивалентность входных и выходных программ, т.е. совпадение симатики входного и выходного языка.
Чтобы создать Т. необходимо выбрать входной и выходной языки. С точки зрения преобразование предложений входного языка в эквивалентные предложения выходного языка , Т. выступает как переводник.
Например: трансляция с языка СИ в Ассемблер не отличается от перевода с русского на английский.
Компилятор (К)
Это Т., который осуществляет перевод исходной программы в эквивалентную ей объектную программу на язык машинных команд или на язык Ассемблер.
Отличие К. от Т.:
-
результирующая программа К. должна быть написана на языке машинных кодов или на Ассемблере;
-
результирующая программа Т. может быть написана ???? языке.
Результирующая программа К. называется объектной программой или объектом кодов. Файл в который она записывается называется объектным файлом. Между объектной программой и исполняемой программой существует разница. Порожденная К. программа не может непосредственно выполняться на К., т.к. не привязана к конкретной области памяти, где должны располагаться ее код и данные.
Интерпритатор (И)
Это программа, которая воспринимает входную программу на ее исходном языке и выполняет ее.
Отличие И. от Т. К.%
И. не создает результирующую программу. И. анализирует текст исходной программы и выполняет ее в соответствии с ее смыслом, заданным симатикой входного языка. Таким образом результатом работы И. будет результат заданный смыслом исходной программы, в том случае если программа правильная или, или сообщением об ошибки, если исходная программа не верна. Чтобы исполнить исходную программу И. требует ее в языке машинных кодов, иначе выполнение ее на К. невозможно, но эти полученные машинные коды не являются доступными пользователю. Они порождаются И., исполняются и уничтожаются по мере их надобности. Пользователь видит только результат этих кодов.
Требования об эквивалентности исходной программы и порожденных машинных кодов должны выполняться.