Освой компьютер
Исторически изначально
на большинстве Амиг стояла только chip-память. Программисты, работающие
на таких машинах, должны обязательно иметь представление, каковы отличия
конфигурации с fast-памятью, чтобы програмы работали не только на их
конфигурациях (попытка использовать блиттер и коппер в fast-памяти ни к
чему, кроме забавных \"глюков\" и зависаний, не приведет...) - для этого
всегда отдавайте себе отчет, какую память нужно выделить программе для тех
или иных целей, и в какую память грузится исполняемый код при запуске.
Кроме того, расположение fast-памяти на разных конфигурациях может быть
различно. Не исключен вариант и нескольких не связанных последовательно
участков fast-памяти. Операционная система \"знает\" про все эти тонкости,
но, тем не менее, их часто нужно учитывать. Конкретный пример - если у Вас
имеется два физически несвязанных участка fast-памяти по 8 мегабайт каждый
(свойство конкретной организации \"железа\" конкретной модели машины или
акселератора), то программу, требующую 10 непрерывных мегабайт, запустить
не удастся. Из этого можно сделать вывод - по возможности не захватывайте
один большой участок памяти, а используйте несколько маленьких, разбивая
нужную для работы память на столько мелких кусочков (где действительно
требуется непрерывная память), на сколько возможно.
Еще один тип памяти, появившийся только с появлением MMU (Memory
Management Unit - устройство управления памятью) - это виртуальная память.
MMU управляет страничной памятью, позволяя разбить \"виртуальную\" память
(то есть ту память, которая \"видна\" процессору) на страницы заданного
размера, автоматически переадресовывая их на совершенно другие адреса
физической памяти, или вызывать прерывание при обращении к некоторым
страницам. При установке пакетов типа VMM можно воспользоваться этой
возможностью MMU, как бы расширяя память машины и образуя файл подкачки на
диске, где, собственно, и хранится эта \"расширенная\" память. Такая
организация памяти позволяет увеличить ее объем, несколько снизив
оперативность работы с ней - то есть в результате работы такой системы
память становится не всегда доступной \"сразу\".
AMIGA: ПРОГРАММИРОВАНИЕ НА АССЕМБЛЕРЕ.
|