[an error occurred while processing this directive]

Рациональная схема строения объектного кода драйвера.

Каждый программист понимает, насколько необходимо рационально и экономично подходить к проблеме расходования оперативной памяти ПЭВМ при создании программ. Особенно важно это для системных программистов, т.к. от работы созданных ими программ или программных сред будет зависеть работа всех остальных, их использующих прикладных программ.

Драйвера расширения возможностей интерпретатора "Бейсик" являются по-существу системными программами и также должны соответствовать требованиям рационального использования памяти. Кроме того, сами они должны быть написаны максимально рационально, чтобы занимать как можно меньше памяти ПЭВМ, оставляя ее прикладной Бейсик-программе и другим драйверам.

Полная схема строения объектного кода драйвера приведена в Приложении 2 Раздела II. В зависимости от назначения конкретного, создаваемого Вами драйвера и особенностей его использования, схема строения может существенно отличаться от общей схемы.

1. Если Вы создаете драйвер, работающий на конкретных адресах оперативной памяти (неперемещаемый), то в состав его объектного кода не будет включена таблица перемещения, то есть размер его будет значительно уменьшен. Это удобно, если драйвер предназначен для использования в одной программе.

2. Из всех драйверов, не предназначенных для работы с системой "Диспетчер" и не использующих нестандартные методы подключения к системным подпрограммам можно исключить оператор &"EXIT", что также сократит размер их объектного кода.

3. Создаваемый драйвер, неподдерживающий работу с системой управления резидентными драйверами "Диспетчер" не будет иметь в своем составе специальных подпрограмм ее поддержки.

4. После установки драйвера в оперативную память (то есть его загрузки) подпрограммы установки драйвера модуля SETDRMOD.ASM и его настройки на абсолютные адреса модуля RELMODUL.ASM, а также таблица перемещения (для псевдоперемещаемых драйверов), могут быть утеряны в ОП. То есть их зоны могут быть использованы. Алгоритм вычисления размеров и адресов указанных зон описаны в Приложении 2 Раздела II.

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

При написании драйверов рекомендуется максимально использовать зону 2 при минимуме задействования зоны 1. Для этого предлагается программу инициализации драйвера (если таковая имеется), зставку, и другие части драйвера, которые необходимы только для процесса его установки в ОП располагать в конце драйвера (зона 2). Эту зону легче и полнее можно использовать, чем зону 1.

5. В дальнейшем планируется также создание "свернутых" дрйверов, саморазархивирующихся после загрузки в ОП, что приведет к значительной экономии дисковой памяти.

.ст Раздел I:6

[an error occurred while processing this directive]