Операционная система MS DOS (том 2)

         

Переключатель задач


Переключатель задач, входящий в диалоговую оболочку DOSSHELL - одно из значительных усовершенствований MS-DOS версии 5.0. Этото переключатель позволяет запустить на выполнение одновременно несколько программ, хотя в действительности работать будет только одна - та, которая была запущена последней. Неактивные программы выгружаются на диск.

Нажимая клавиши <ALT-TAB>, можно выбирать для выполнения одну из запущенных программ.

Обратим ваше внимание на одну потенциальную опасность, связанную с использованием переключателя задач.

Предположим, что одна из запущенных вами программ устанавливает собственный обработчик какого-либо аппаратного прерывания. Например, вы запустили телекоммуникационную программу и работаете через модем с удаленным компьютером. Не исключено, что ваша программа устанавливает собственный обработчик аппаратного прерывания от асинхронного порта, к которому подключен модем.

Так как передача данных через модем - дело не быстрое, у вас может появиться необходимость выполнить на компьютере какую-либо другую работу, например, отредактировать и распечатать текст. Нет проблем, вы переключаетесь на программу редактирования текстов. Но... компьютер почему-то "зависает".

А дело оказывается в том, что выгрузив телекоммуникационную программу на диск, переключатель задач "оторвал" обработчик аппаратного прерывания асинхронного порта. Прерывание пришло, а обработчика-то и нет!

Для пользователя в данной ситуации есть только один выход - не использовать переключатель программ совместно с телекоммуникационными программами.

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

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



Содержание раздела