Этапы выполнения программы

 

На рис. 4 приведена схема основных этапов выполнения программ.

Разберем процесс выполнения программ.

Как пишутся программы?

Программы пишут программисты. У программистов достаточно много секретов мастерства, но всех их объединяют две вещи: они пользуются инструментами и специальными библиотеками.

Инструментами программиста являются программы. Именно с помощью программ создаются новые программы. А как создавали эти инструментальные программы? Ответ очевиден - с помощью других инструментальных программ, хотя и более примитивных.

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

 

Опр. 19. Программу на языке программирования записывают в обычном текстовом редакторе и получают текстовый файл, который называется исходным модулем.

Исходный модуль хранится на внешнем устройстве ЭВМ в виде файла.

 

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

 

 
 

 

 


Рис. 4. Этапы выполнения программы.

 

Опр. 21. Программа, преобразующая исходный модуль на машинный язык, называется транслятором.

Трансляторы - это программы-переводчики, выполняющие перевод с языка программирования на язык машинного кода. Существует два основных вида трансляторов: компилятор и интерпретатор.

Работа программы-компилятора очень похожа на работу литературного переводчика. Компилятор несколько раз просмотрит текст программы, найдет общие повторяющиеся места и так переведет текст программы на язык машинного кода, что длина объектного модуля будет минимальной, а скорость его работы - максимальной .

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

Опр. 22. Объектный модуль - исходный модуль, переведенный транслятором на язык машинных кодов.

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

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

Опр. 24. Компоновщикилиредактор связей - системная программа, которая объединяет несколько объектных модулей в один, подключает к объектному модулю все необходимые системные библиотеки и результатом своей работы имеет модуль, готовый для непосредственного выполнения ЭВМ после загрузки его в оперативную память.

Опр. 25. Загрузочный модуль (результат работы компоновщика) - это объектный модуль с подключенными к нему системными библиотеками. Только загрузочный модуль может быть выполнен ЭВМ.

Опр. 26 Отладчик- системная программа, управляющая ходом выполнения программы.