Открытая память

Самый простой вариант управления памятью – отсутствие диспетчера памяти и возможность загружать в системе только один процесс. Именно так работают СР/М и RT-11 SJ (Single-Job, однозадачная). В этих системах программы загружаются с фиксированного адреса. В СР/М это 0х100; в RT-11 – 01000. По адресам от 0 до начала программы находятся векторы прерываний, а в RT-11 – также и стек программы. Операционная система размещается в старших адресах памяти. Адрес, с которого она начинается SYS_START, зависит от количества памяти у машины и от конфигурации ОС. В этом случае управление памятью со стороны системы состоит в том, что загрузчик проверяет, поместится ли загружаемый модуль в пространство от PROG_START до SYS_START. Если объем памяти, который использует программа, не будет меняться во время ее исполнения, то на этом все управление и заканчивается. Однако программа может использовать динамическое управление памятью, например функцию mallocO или что-то в этом роде. В этом случае уже код malloc() должен следить за тем, чтобы не залезть в системные адреса. Как правило, динамическая память начинает размещаться с адреса PROG_END+PROG_START+PROG_SIZE. PROG_SIZE в данном случае обозначает полный размер программы, т. е. размер ее кода, статических данных и области, выделенной под стек.








Дата добавления: 2015-09-29; просмотров: 734;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.