Электронный учебник:


Курс лекций:


Дополнительно:

Практикум:



Наши хостеры:

Управление процессами в MS-DOS

Завершение работы программы

Завершение программы обычно включает в себя следующие действия системы:

·         Закрываются все файлы, открытые программой.

·         Освобождаются все блоки памяти, отведенные для программы и ее среды.

·         Восстанавливаются стандартные обработчики описанных ниже прерываний int 23h и int 24h, которые могли быть изменены отработавшей программой.

·         Управление передается родительской программе.

В MS-DOS определены 4 возможные причины, которые могут вызвать завершение работы программы.

·         Нормальное завершение. Оно происходит, когда программа вызывает системную функцию Terminate. В качестве аргумента этой функции программа передает код завершения – число, уточняющее причину завершения. Обычно код завершения 0 означает, что программа проработала благополучно, а ненулевые значения указывают на различные неприятности (отсутствие файла для обработки, неверный формат данных и т.п.).

·         Завершение по запросу пользователя. Оно происходит, если пользователь нажимает одну из комбинаций клавиш Ctrl+C или Ctrl+Break. Система не торопится прекращать работу программы, пока не вызовет программное прерывание int 23h. В зависимости от результата, возвращаемого обработчиком этого прерывания, программа либо будет завершена, либо продолжит работу. По умолчанию система сама обрабатывает прерывание и сама себе отвечает: «Завершить программу». Однако программа может взять обработку прерывания на себя и ответить системе: «Продолжаем работать». Так обычно и поступают все серьезные программы MS-DOS.

предыдущаяследующая