Распределение памяти в MS-DOS

Рассмотрим, что получается, когда происходит загрузка ОС, т.е. какова структура стандартной памяти:

При загрузке образуется таблица векторов прерываний, содержащая адреса обработчиков прерываний.

Это очень важная таблица и поэтому она занимает первый килобайт памяти (0..1024 б.). Дальше до 1380 байт находится область данных в BIOSе (область, которую использует сам BIOS). Дальше область данных DOS. Эти области фиксированы и их размеры определены, а дальше начинается просто порядок, а размеры могут меняться по различным причинам. Дальше расположен файл IO.SYS, его размер в принципе известен, но в память он может помещаться не весь. Дальше находится системный файл MSDOS.SYS. Дальше находятся внутренние буфера MSDOS.SYS. Дальше находятся драйверы устройств.

Затем находится резидентная часть command.com. Затем находятся пользовательские программы. В самом конце стандартной памяти загружается транзитная часть command.com. И для того, чтобы пользовательским программам было больше места, эта транзитная часть при загрузке пользовательских программ забирает. После того как программа завершается, резидентная часть считывает с диска транзитную часть и записывает ее в какое-то место. (ОН САМ СКАЗАЛ: «ВОТСЮДА». Куда я не знаю.) Поэтому у нас всегда должно быть место подключения к системному диску. Если системный диск не будет находиться на месте, то после завершения работы какой-то программы транзитная часть command.com не может быть записана и ОС работать не будет.

 

Hosted by uCoz