Абсолютные и перемещающие загрузчики

Абсолютные и перемещающие загрузчики. Связывающие загрузчики и редакторы связей. (12-1)

Интерпретаторы

Процедурно-ориентированные и проблемно-ориентированные языки.

Процедурно-ориентированные и проблемно-ориентированные языки. Интерпретаторы. (11-1)

Спулинг

При спулинге (вводе-выводе с буферизацией) посредником между работающей программой и низкоскоростным устройством, осуществляющим ввод-вывод данных для этой программы, становится высокоскоростное устройство, например дисковый накопитель. Вместо вывода строк данных непосредственно, скажем, на построчно печатающее устройство программа записывает их на диск. Благодаря этому текущая программа может быстрее завершиться, с тем, чтобы другие программы могли быстрее начать работать. А записанные на диск строки данных можно, распечатать позже, когда освободится принтер.

ПРИМЕРЫ!!

Языки высокого уровня бывают либо процедурно-ориентированными, либо проблемно-ориентированными.

Процедурно-ориентированные языки высокого уровня — это универсальные языки программирования, которые можно использовать для решения самых разнообразных задач.

Проблемно-ориентированные языки предназначаются специально для решения задач конкретных типов.

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

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

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

Загрузчик — это системная программа, которая размещает команды и данные программы в ячейках основной памяти.

· Абсолютный загрузчик размещает эти элементы именно в те ячейки, адреса которых указаны в программе на машинном языке.

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