Переадресация ввода-вывода, фильтры и конвейеры

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

Реализация этой функции в DOS стала возможной начиная с версии 2.0, в которой появился механизм для выполнения ввода-вывода по логическим номерам устройств (file handles). Переадресация ввода-вывода возможна для всех стандартных внешних устройств последовательного типа и файлов, организованных на устройствах прямого доступа с ка- талоговой организацией (на магнитных дисках). Программный интерфейс, предназначенный для поддержки ввода-вывода на уровне логических номеров внешних устройств и файлов, реализован в виде набора подпрограмм-функций.

Соблюдая данный интерфейс, можно реализовать этот уровень доступа и для нестандартных устройств ввода-вывода. Для управления потоками ввода-вывода в системе оператору предоставлены три специальных символа: > - переадресовать вывод без сохранения содержимого файла, указанного в качестве выводного в командной строке; » - переадресовать вывод с сохранением содержимого файла, указанного в качестве выводного в командной строке; < - переадресовать ввод. Следует отметить, что переадресация ввода-вывода - "пассивная" функция. Она влечет за собой только смену логического номера внешнего устройства или файла, являющегося источником или приемником данных, и не вызывает передачи информации.

Например, ввод командной строки FILE1.DAT»FILE2.DAT не повлечет за собой передачу информации из файла FILE1.DAT в файл FILE2.DAT. Таким образом, для выполнения операций над файлами необходимо задание какой-либо команды. Функция переадресации ввода-вывода позволяет организовать общий механизм конвейерной обработки команд, т.е. выполнять цепочки команд без выдачи промежуточных результатов. При этом вывод каждой предыдущей команды и ввод каждой последующей переадресуются на специальный временный вспомогательный файл, который автоматически удаляется сразу после выполнения заданной цепочки команд.

Такая возможность имеет особое значение для команд фильтров, которые в силу своей специфики используются, в основном, в составе конвейеров. Команды для работы с файлами Файл - основная единица информации, используемая для хранения данных на магнитных дисках. Поэтому любая процедурa, выполняемая на компьютере, включает в себя одну или неколько файловых операций. С точки зрения системы файл - то единая совокупность данных, расположенная на магнитном юсителе, имеющая уникальное имя и набор атрибутов. Каждый конкретный файл однозначно идентифицируется четырьмя составляющими: именем накопителя; маршрутом каталога файлов; именем файла; расширением имени файла (типом файла).

Имя накопителя - буква латинского алфавита в диапазоне от А до E-Z в зависимости от конкретной реализации ОС для установки последнего имени накопителя при конфигурировании системы служит команда LASTDRIVE. Признак имени накопителя - двоеточие. Маршрут - путь, который нужно проделать по дереву каталогов от корневого (ROOT) или текущего каталога до определяемого. При указании маршрута имена каталогов разделяются знаком (BACKSLASH). Этот знак используется и для обозначения корневого каталога файлов.

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

. " / [ ] | < > + : = ; , \

В данном разделе рассмотрены операции над файлами: установка/опрос атрибутов файлов (ATTRIB);

копирование файлов (COPY);

удаление файлов (DEL);

преобразование загрузочных модулей (EXE2BIN);

распечатка файлов (PRINT); восстановление файлов (RECOVER);

переименование файлов (REN);

замена файлов новыми версиями (REPLACE);

установка режима разделенного доступа к файлам (SHARE);

копирование скрытых файлов DOS (SYS);

просмотр файлов на дисплее (TYPE);

копирование файлов с расширенным сервисом (XCOPY).

Описание команд размещено в алфавитном порядке для облегчения использования материала в качестве справочника


Обсудить вопрос в студенческом форуме

 

Сайт содержит информацию о учебном заведении и студенческой общине и не является официальным