Языки и средства программирования различных уровней (редактор связей, загрузчик, отладчик, языки сценариев и визуального программирования), их особенности, примеры использования.


Компоновщики или редакторы связей  Различают два способа компоновки: 1. Статическая (производится до выполнения программы). 2. Динамическая (производится  во время  выполнения программы). объект dll (Dinam. Link Library) Достоинства: повторное использование кода, экономия на размере самих программ, экономия оперативной памяти (при вызове нескольких копий программы или нескольких программ, использующих одну и ту же библиотеку). Загрузчики – системная программа, которая размещает программы и данные в ячейках ОЗУ. Существует 2 метода размещения. 1. Абсолютный. Загрузчик размещает программу в ОЗУ по адресам, которые хранятся в программе. 2. Перемещающий. Загрузчик размещает программу в памяти по любому адресу, в связи с этим нужна соответствующая процедура пересчета адресов. Однако может возникнуть такая ситуация когда программа не помещается в ОЗУ. Что делать? Применяется несколько приемов: 1. Overlay. Проблема размещения программы в памяти решается на этапе ее проектирования. Программа сама управляет подкачкой из внешней памяти требующихся блоков данных (кода). Оверлейные блоки замещают друг друга в памяти. 2. Swapping (swap-переставлять). Загрузка программы в память осуществляется по частям, происходит обмен блоков данных между памятью и файлом свопинга на жестком диске. Управление свопингом производит диспетчер памяти ОС, от программы ничего не требуется. Отладчик выполняет программы в заданном режиме с целью поиска, обнаружения и локализации ошибок. Примеры: SoftIce, Debug (ДОС, Windows), gdb, trace (Unix). Языки сценариев (скриптов) – это языки сверхвысокого уровня. Shell (sh, bash, zsh), язык сценариев БД (открыть, вставить, и т.п.), язык при общении с модемом. В качестве команд используются отдельные модули. Бывают как проблемно-ориентированные, так и общего назначения.