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

Что означает Cache': перехват текущего устройства и что это такое? В разделе Информатика, программирование дан подробный ответ и объяснение на вопрос.

Здесь выложено готовое сочинение на тему Cache': перехват текущего устройства, которое вы так же можете использовать как реферат.

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

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

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

Эта заметка описывает программный перехват ввода-вывода текущего устройства в 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

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

Подобные материалы

Интерпретация блок-схем
Томский государственный университет Факультет прикладной математики и кибернетики Кафедра
Антивирусы, архиваторы, Word
СОДЕРЖАНИЕ: 1. Работа с Антивирусами Что такое компьютерный вирус? Антивирус Dr.Web for Win32
Электронный справочник по изучению Visual Basic
Сравнительная характеристика средств обучения программированию в среде Visual Basic. Задачи
Электронные системы адаптивного компьютерного обучения, на основе стандартов образовательных сред AICC
Анализ существующих стандартов образовательных сред в системах адаптивного компьютерного обучения.
Общие принципы, характерные для нейросетей
Исследование нейросетевых архитектур и их приложений. Общие принципы, характерные для нейросетей.