|
Файлы типа .EXE указывают свою потребность в памяти в за-
головке программы, и подпрограмма загрузки устанавливает соот-
ветствующий размер блока памяти. Размер файла типа .COM определя-
ется его минимальной потребностью в памяти, но подпрограмма
загрузки не настраивает размер блока для файлов типа .COM. |
win rar |
|
{img2} |
англо русский словарь |
|
Файл
типа .COM начнет выполняться во всем блоке памяти, распределенным
для него.
Обычно DOS начинает загрузку программы, потому что пользова-
тель указал ее имя после приглашения, введенного оболочкой. За-
гружаемая при этом программа называется порождаемой, а программа,
выдающая запрос на загрузку, называется порождающей. |
symantec antivirus |
|
{img3} |
програмное обеспечение |
|
Порождающая
программа создает блок параметров, содержащий адрес таблицы сре-
ды, адрес командной строки и адреса двух блоков управления файла-
ми (FCB - file control block). Порождающая программа передает ад-
рес этого блока параметров и адрес спецификации файла в коде
ASCIIZ в подпрограмму выполнения загрузки, используя запрос на
выполнение функции AX=4B00h прерывания int 21h. |
операционные системы windows |
|
|
avast antivirus, бухгалтерия, winrar, текстовые редакторы, система распознавания текста, .
avast antivirus
|
Чтобы увидеть, находится ли в
обработке описатель запроса на в/в, подпрограмма обработки крити-
ческой ошибки проверяет некоторую глобальную переменную DOS. Если
это так, то DOS выбирает адрес входа JFT этого описателя из дру-
гой глобальной переменной и помечает этот описатель как неправи-
- 4-27 -
льный; это действие предотвращает другую критическую ошибку от
того же самого описателя.
В случае блокировки прерывания подпрограмма обработки крити-
ческой ошибки увеличивает значение флажка критической ошибки,
уменьшает значение флажка критической секции, восстанавливает
значения SS:SP, сохраненные диспетчером int 21h, и выполняет инс-
трукцию int 24h. Когда ISR int 24h осуществляет возврат управле-
ния, подпрограмма обработки критической ошибки восстанавливает
пару SS:SP (т.к. ISR int 24h может изменить ее), увеличивает зна-
чение флажка критической секции и устанавливает начальное состоя-
ние флажка критической ошибки.
Подпрограмма обработки критической ошибки ожидает ISR преры-
вания int 24h, для того чтобы возвратиться к обработке. Если ISR
запрашивает приемлемое действие, то подпрограмма обработки крити-
ческой ошибки выполняет его. Если подпрограмма обработки крити-
ческой ошибки пометила описатель как неправильный, то перед выхо-
дом она восстанавливает SFN из глобальной переменной DOS. Запросы
на завершение проходят через обработчик прерываний, который зас-
тавляет диспетчер int 21h выполнить запрос на завершение.
Когда инициируется файл COMMAND.COM, он устанавливает свою
собственную ISR int 24h; она является той подпрограммой, которая
выдает сообщение "Abort, retry or ignore ?" (Завершить аварийно,
повторить или игнорировать ?). Другие программы также могут объ-
являть свои собственные подпрограммы ISR int 24h.
Загрузка программы
Все программы загружает общая служба BIOS. Подпрограмма функ-
ции AH=4Bh int 21h устанавливает операционную среду, распределяет
память для загрузки программы, загружает программу с диска и со-
здает PSP. Для загрузки программы она использует наибольший блок
памяти.
|
|
|