DOS обычная раскладка памяти - PullRequest
2 голосов
/ 08 февраля 2010

Обычная память под DOS (первый 640 КБ) содержит операционную систему, драйверы и, возможно, одну исполняющую программу. Как устроена эта память, чтобы избежать конфликта между этими программами? Например, зарезервирована ли часть этого адресного пространства?

Ответы [ 3 ]

4 голосов
/ 08 февраля 2010

DOS загружает программу в память, используя информацию в заголовке EXE для перемещения ссылок на память, чтобы быть правильными относительно блока памяти, назначенного DOS при загрузке EXE.

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

1 голос
/ 08 февраля 2010

Более подробно

http://www.frontiernet.net/~fys/rombios.htm

1 голос
/ 08 февраля 2010

Смотрите здесь для более детального просмотра макета памяти DOS здесь .

...