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