Резидентные программы
Резидентные программы становятся повсеместными. Они доступны как коммерческие программы, совместно используемые средства и даже как часть MS-DOS. Команда PRINT и несколько других утилит DOS также являются резидентными. Все резидентные программы начинают жизнь, как обычные программы. После выполнения такой программы часть ее кода остается в памяти. Код, который выполняется при первом обращении, называется кодом инициализации, а тот, который остается после, известен как резидентный код. Основной задачей кода инициализации является подготовка резидентного кода для дальнейшего использования.
Резидентные программы могут быть сгруппированы в три категории на основе того, что их резидентный код делает.
Члены первой группы не обеспечивают взаимодействия пользователя с их резидентной частью. Однажды загруженные, они остаются фоновыми, выполняя свои задачи без обращения к базовой системе ввода-вывода (BIOS).
Члены второй группы резидентных программ остаются приостановленными до выдачи специального запроса пользователя. Обычно этот запрос производиться нажатием функциональной клавиши или их комбинации (например, Alt+Shift). С другой стороны, их резидентный код не делает запросов к базовой системе ввода-вывода; они должны обслуживаться командами DOS, такими, как чтение и запись, только во время инициализации.
Последняя группа резидентных программ осуществляет асинхронные запросы к базовой системе ввода-вывода. Эти программы запускаются нажатием функциональной клавиши или каким-либо другим программным прерыванием от аппаратных средств, (например, таймером). Этот резидентный код не обязательно имеет связь с пользователем. К этой категории относится утилита DOS – PRINT. Эти резидентные программы трудны для написания, потому что DOS в основном является однопользовательской/однопрограммной системой.
Драйвер устройства
Драйвер устройства в MS-DOS – это подпрограмма, которая вызывается MS-DOS, с одной стороны, и взаимодействует с конкретным устройством, с другой. Как посредник между системой и аппаратурой, драйвер устройства передает данные между программой и устройством.
Драйверы устройств решают две основные задачи. Первая заключается в обеспечении стандартного интерфейса со всеми программами, желающими использовать определенное устройство. Программа, выполняющая обработку текста, или электронная таблица, производящая вычисления, может не заботиться о типе терминала, подключенного к системе, все технические детали по пересылке символов берет на себя драйвер, обеспечивая тем самым желанный для прикладной программы высокоуровневый интерфейс. Драйверы дисководов должны обеспечивать стандартный интерфейс для всех используемых типов дисков, при этом программа, осуществляющая ввод/вывод с диска, будет работать с дискетой любого формата, с жестким диском, и даже с псевдодиском в ОЗУ, не замечая никаких различий. Одним словом, первая задача драйвера состоит в обеспечении независимого от устройства унифицированного интерфейса.
Второе целевое назначение драйверов устройств заключается в том, что они для всех прикладных программ обеспечивают сервис, подобный библиотекам функций времени выполнения. Любая программа освобождена не только от необходимости поддержки множества разноформатных устройств, но и от необходимости поддерживать вообще какие-либо форматы. Все заботы по поддержке устройств возложены на драйверы устройств. В связи с тем, что все драйверы собраны в операционной системе, требуется лишь одна копия каждого драйвера. В результате этого программы, написанные с использованием интерфейса, предоставляемого MS-DOS, вообще не содержат в себе драйверов.
В связи с тем, что обращения к драйверам осуществляет MS-DOS, на них накладываются такие же ограничения, как и на резидентные в памяти программы. Так, например, драйверы не могут пользоваться функциями MS-DOS (за исключением некоторых функций, которые могут использоваться при инициализации драйвера). Это серьезно ограничивает свободу драйверов виртуальных устройств, созданных для дополнительной обработки информации, предназначенной для стандартных драйверов.
Дата добавления: 2016-02-13; просмотров: 1692;