Реферат по предмету "Информатика, программирование"


Cache': перехват текущего устройства

Евгений Каратаев


Эта заметка описывает программный перехват ввода-вывода текущего устройства в Cache'. Неудобство стандартных устройств mumps, а точнее определенного их поведения состоит в том, что если выполняется программный код, осуществляющий ввод-вывод через него, то этот процесс сторонним кодом неуправляем иначе как установкой возможных опций устройству. В то время как в некоторых случаях очень нужно иметь возможность выполнить так называемый унаследованный (legacy) код, который оперирует текущим устройством, но при этом в самих операциях ввода-вывода произвести дополнительные действия.


Ситуация примерно аналогична вводу-выводу в сишном стиле и в стиле C++, когда в первом случае мы можем открыть файл и передать его коду, а во втором случае мы можем создать объект ввода-вывода и переопределить для него операции чтения - записи.


Для перехвата операций ввода-вывода текущего устройства нужно


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


Указать текущему устройству эту рутину как мнемоническую в команде use


Включить перенаправление для текущего устройства


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


Рутина-перехватчик должна реализовать на свое усмотрение метки























rstr(len,to) Чтение с опциональным указанием заданной длины и таймаута
rchr(to) Чтение номера символа
wstr(expr) Запись строки W expr
wchr(expr) Запись символа W *expr
wtab(expr) Запись пропуска W ?expr
wnl Перевод строки W !
wff Очистка экрана W #

Шаблон рутины примерно такой:


rstr(len,to)


D $ZU(82,12,0)


if $D(len)&&$D(to) d


. ; перехват


. R data#len:to


e i $D(len) d


. ; перехват


. R data#len


e i $D(to) d


. ; перехват


. R data:to


e d


. ; перехват


. R data


D $ZU(82,12,1)


; перехват


Q $G(data)


rchr(to)


D $ZU(82,12,0)


i $d(to)


. ; перехват


. R *data:to


. ; перехват


e d


. ; перехват


. R *data


. ; перехват


D $ZU(82,12,1)


; перехват


Q data


// W expr


wstr(expr)


D $ZU(82,12,0)


; перехват


W expr


D $ZU(82,12,1)


Q


// W *expr


wchr(expr)


D $ZU(82,12,0)


; перехват


W *expr


D $ZU(82,12,1)


Q


// W ?expr


wtab(expr)


D $ZU(82,12,0)


; перехват


W ?expr


D $ZU(82,12,1)


Q


// W !


wnl


D $ZU(82,12,0)


; перехват


W !


D $ZU(82,12,1)


Q


// W #


wff


D $ZU(82,12,0)


; перехват


W #


D $ZU(82,12,1)


Q


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


u dev::"^ИМЯРУТИНЫ" ; указываем какую мнемонику использовать


D $ZU(82,12,1) ; реально включаем флаг использования


d normal() ; что будет писать в текущий девайс


D $ZU(82,12,0) ; перед закрытием девайса возвращаем флажок


c dev


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



Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Факторы сохранения биоразнообразия Астраханской области в охраняемых резервах
Реферат Overwhelming Use Of Staplers In Western Civilization
Реферат Інститут електроніки та систем управління Кафедра радіоЕлектронних комплексів Прокопенко Ігор Григорович
Реферат Маркетинг фирмы 2
Реферат The Short Happy Life Of Francis Mccamber
Реферат Законы Ману
Реферат Учет, документальное оформление и расчет затрат при определении фактической производственной себ
Реферат Violence In Jane Eyre Essay Research Paper
Реферат Нахождение критического пути табличным методом
Реферат Primal Will Essay Research Paper How the
Реферат Стратегическое инвестиционное планирование на примере ООО Швея
Реферат Музеи города Красноярск
Реферат Побудова математичної моделі задачі лінійного програмування
Реферат 151022 Монтаж и техническая эксплуатация холодильно-компрессорных машин и установок Квалификационная характеристика выпускника
Реферат Вегетативная нервная система отдельных органов