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

 

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

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

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

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

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

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

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

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

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

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

rstr(len,to)


Cache': перехват текущего устройства Евгений Каратаев Эта заметка описывает программный перехват ввода-вывода текущего устройства в Cache'. Неудобство станд

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ