Что такое управление выполнением программ?

Каждая операционная система характеризуется своими способами управления выполнением программ. Вначале в компьютере могла работать только одна программа, и она всегда располагалась с начала оперативной памяти — с нулевого адреса. При одновременном размещении нескольких программ в оперативной памяти адрес расположения программы в оперативной памяти может меняться от запуска к запуску. Также могут меняться адреса размещения данных, используемых программой, в том числе тех, которые читаются из внешних источников (или записываются туда). В такой ситуации невозможно оперировать с данными, используя их абсолютные адреса в оперативной памяти. Эта проблема решается за счет использования при программировании относительных адресов.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: