Абсолютная загрузка

Загрузка программы

Понятие программы

Управление программами

Управление ресурсами ОС

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

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

С точки зрения программиста программа представляет собой активный компонент. Она реализовывает заданный алгоритм.

С точки зрения процессора, программа - это данные, которые процессор читает и интерпретирует.

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

Как правило, все программы содержат в теле не только управляющие команды но и данные (константы, адреса переходов и т.д.)

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

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

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

  • Система может предоставить каждой программе свое адресное пространство.
  • Система может исполнять в каждый момент только одну программу. Так ведет себя CP/M, так же устроено большинство загрузочных мониторов для самодельных компьютеров.

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