ПЕРЕАДРЕСАЦИЯ ВВОДА-ВЫВОДА, ФИЛЬТРЫ И КОНВЕЙЕРЫ
В системах 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).
Описание команд размещено в алфавитном порядке для облегчения использования материала в качестве справочника