рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Управление вычислительным процессом с помощью вызова внешних программ

Управление вычислительным процессом с помощью вызова внешних программ - раздел Информатика, Управление вычислительным процессом с помощью вызова внешних программ В Pascal Можно Организовать Вызов Из Программы Любой Другой Программы, Котору...

В Pascal можно организовать вызов из программы любой другой программы, которую назовем программой–потомком. Но, чтобы программа–потомок успешно загружалась в память и начала выполняться, требуется выделить ей необходимый объем памяти. Так как программа, которая выполняется в данный момент, по умолчанию захватывает всю свободную динамическую память (кучу) системы, то для загрузки программы–потомка просто нет места. Минимальный размер выделяемой программе памяти указывается в директиве компилятора $M.

Например, директива {$M 16384, 0, 655360} устанавливается для программ по умолчанию. Здесь максимальный размер кучи равен всей доступной памяти и вызов программы–потомка невозможен. Но, с помощью директивы {$M 1024, 0, 0} динамическая память совсем не выделена. Теперь можно вызывать программу–потомок.

Вызов внешней программы производится с помощью процедуры Exec (Path, CmdLine: String).

Здесь Path – это путь к исполняемому файлу и его имя, а CmdLine – командная строка, которая передается вызываемой программе.

При запуске программа, написанная на Pascal, переопределяет некоторые прерывания MS-DOS для собственных целей. Поэтому перед вызовом программы–потомка нужно восстановить исходные адреса обработчиков прерываний (MS-DOS обработчиков), а после завершения работы вызываемой программы установить адреса обработчиков Pascal. Эти действия выполняет процедура без параметров SwapVectors.

Пример 2. Описание вызова внешней программы.

{$M 1024,0,0}

Uses Dos;

Var PrName,CmdLine:string;

Begin

Write('Введите путь и имя исполняемого файла: '); Readln(PrName);

Write('Введите командную строку: '); Readln(CmdLine);

SwapVectors; {переустановим вектора прерываний}

Exec(PrName,CmdLine);

SwapVectors; {восстановим вектора}

IF DosError<>0 THEN writeln('Ошибка DOS! Ее код - ',DosError)

ELSE writeln('Выполнение прошло успешно!'); Readln

End.

Отметим, что при вызове с помощью Exec внутренней функции MS-DOS следует вызвать Command.com.

Используя механизм вывода внешних программ, можно создавать сложные программные комплексы, в которых программа–диспетчер, занимая небольшой объем памяти, производит вызов необходимых (в том числе и системных) программ.

– Конец работы –

Эта тема принадлежит разделу:

Управление вычислительным процессом с помощью вызова внешних программ

Обеспечение интерфейса с командами операционной системы... Типы прерываний и их обслуживание... Организация работы с каталогами и файлами...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Управление вычислительным процессом с помощью вызова внешних программ

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Обеспечение интерфейса с командами операционной системы
Основная часть средств Pascal размещена в стандартных модулях. Модуль – это библиотека, которая содержит константы, описания типов данных, переменные и функции. Наиболее часто испо

Типы прерываний и их обслуживание
Иногда возникает необходимость прямого обращения к функциям базовой системы ввода-вывода (BIOS) и операционной системы MS–DOS. Для этого можно создать в программе прерывание или вы

Case integer of
0:(AX,BX,CX,DX,BP,SI,DI,DS,ES,Flags: word); 1:(AL,AH,BL,BH,CL,CH,DL,DH:byte) End; Запись Registers представляет

Организация работы с каталогами и файлами
Процедуры модуля System, которые используются при работе с каталогами. ChDir(S:String); – выполняет смену текущего каталога на каталог, который зад

Установка даты и времени
Модуль Dos предоставляет возможность доступа к системным часам и календарю, а также позволяет изменить дату и время создания файла. Процедура GetDate (Var Year,

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

Организация окон и вывод на экран
Модуль CRT обеспечивает работу с окнами разного размера. Величина окна и ее расположение на экране определяется с помощью процедуры Window. Процедура Window(x1,

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

Форматы меню. Алгоритм построения вертикального меню
В процессе своей работы за компьютером пользователь постоянно встречается с меню различных форматов. Сущность структуры меню заключается в том, что у пользователя есть список возможных вариантов да

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги