double arrow

Файлы, их виды и организация

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

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

Файловой системой (ФС) называется совокупность программ, обеспечивающая выполнение операций над файлами. В настоящее время в ОС для ПК использу­ются десятки файловых систем: в DOS — FAT16, FAT32 и FAT12 для гибких дисков (FAT — File Allocation Table, таблица размещения файлов), для Windows 9x характерны FAT 16 и FAT32, популярной в Windows NT и Windows 2000 являет­ся NTFS, для OS/2 — HPFS, для ОС — Ext2FS и т. д. Наибольшее распростране­ние получили файловые системы DOS: FAT16 и FAT32. Некоторые их особен­ности и различия будут рассмотрены ниже.

В общем случае при программировании работы с файлами необходимо произ­водить:




□ задание и указание области ОЗУ для ввода-вывода информации файла;

□ чтение информации (считывания записей) из файла;

□ запись информации (включение записей) в файл;

□ создание файла (присвоение файлу имени, проверку уникальности этого име­ни файла, формирование атрибутов и т. д.);



Глава 6. Запоминающие устройства ПК


□ изменение атрибутов файла;

□ открытие файла (отыскание файла на диске и перенос в ОЗУ атрибутов файла);

□ закрытие файла (сохранение на диске атрибутов файла для дальнейшего ис­пользования);

U переименование файла;

□ удаление файла.

При доступе по идентификатору ASCIIZ, кроме этого, необходимо выполнять процедуру установки указателя текущей записи.

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



□ правила образования имен файлов и способов обращения к ним;

□ иерархическую систему оглавления файлов;

□ структуру хранения файлов на дисках;

□ методы доступа к содержимому файлов.

Файлы могут создаваться в двух форматах: двоичном и текстовом.

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

Текстовый файл (файл ASCII) состоит из последовательности строк переменной длины, каждая из которых является логической записью файла. Каждая строка содержит только текстовые символы и завершается маркером конца строки. Тек­стовым символом может быть любой символ ASCII, но, в отличие от двоичных файлов, последовательность символов в текстовом файле непосредственно вос­принимается человеком на экране или принтере. Текстовый файл может содер­жать текст программы на алгоритмическом языке (ассемблер, Basic и т. д.), таб­лицу, исходные и результирующие данные решения задач, документы, научные сообщения и т. п. Роль маркера конца строки играет символ возврата каретки (код 13 ASCII), за которым, возможно, следует символ перевода строки (код 10 ASCII). Текстовый файл завершается обычно маркером конца файла, роль кото­рого играет код 26 ASCII.

Некоторые программные продукты (текстовые редакторы, системы управления базами данных и другие) создают файлы, близкие к текстовым, но содержащие дополнительные управляющие символы, а иногда часть информации и в двоич­ном коде. При выводе таких файлов на экран или принтер средствами DOS


Внешние запоминающие устройства



появляются символы редактирования и/или описания баз данных. Однако при интерпретации этих файлов средствами текстового редактора или СУБД, их создавших, они выводятся в удобочитаемом виде.

С каждым файлом связываются:

□ полное имя файла;

□ атрибуты (характеристики) файла;

□ дата создания файла;

□ время создания файла;

□ длина файла.

Полное имя файла в общем случае состоит из двух частей:

□ идентифицирующей — имени файла;

□ классифицирующей — расширения.

Расширение, определяющее тип файла, может отсутствовать.

В имени файла может быть от 1 до 8 символов в DOS и от 1 до 255 символов в по­следних версиях Windows. Оно является обязательным элементом и должно все­гда указываться при доступе к файлу. Расширение содержит от 1 до 3 символов и отделяется от имени файла символом «> (точка). Хотя операционная система разрешает в имени файла и расширении наличие разных символов, рекомендуется использовать буквы латинского алфавита и цифры, а имя начинать обязательно с буквы. При назначении имен файлам рекомендуется образовывать их так, чтобы они отражали смысловое содержание файла. Расширение указывает тип файла, причем некоторые из расширений являются стандартными для операционной системы, например:

□ EXE (EXEcutable — исполняемый) — файл-программа на машинном языке, готовая к выполнению;

□ COM (COMmand) — файл-программа на машинном языке, готовая к выпол­нению (небольшая программа);

□ ВАТ (BATch — пачка, группа) — пакетный исполняемый командный файл;

□ SYS — системный файл;

□ BAS — файл-программа на языке BASIC;

□ PRG — файл-программа на языке dBASE;

□ ASM — файл-программа на языке ассемблер;

□ ТХТ — текстовый файл;

□ DOC — текстовый файл Word;

□ XLS — файл электронных таблиц Excel;

□ ВАК — копия файла, создаваемая при перезаписи оригинала;

□ ARJ — архивный файл;

□ ZIP — архивный файл.

Приведенный выше список расширений содержит наиболее часто встречающиеся расширения и является далеко неполным. В трансляторах, системных программах



Глава 6. Запоминающие устройства ПК


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

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

Операционная система использует в шаблонах глобальные символы ? и *. Во­просительный знак (?) в имени файла (расширении) означает, что в данной по­зиции может стоять любой (но только один!) допустимый символ. В имени фай­ла (расширении) может быть несколько вопросительных знаков. Если символ ? стоит в конце имени или расширения, то в этой позиции может быть пусто. Например: PROG7.EXE — это шаблон исполняемого файла, имя которого начи­нается с букв PROG и содержит в пятой позиции любой допустимый символ. Этими файлами могут быть PROGl.EXE, PROGA.EXE, PROG.EXE и т, п. Звез­дочка (*) в имени (расширении) файла означает, что на ее месте, начиная с этой позиции и до конца имени (расширения), могут стоять один или несколько любых допустимых символов или присутствие символов не обязательно (пусто). В имени или расширении допускается только по одному символу *, и все симво­лы, следующие за ним, игнорируются.

Например, *.ASM — все файлы с расширением ASM; Prog.* — все файлы с име­нем Prog с любым расширением; *.* — все файлы с любыми расширениями; ABC*.D? — все файлы, имена которых начинаются с ABC, а расширения начина­ются с буквы D и имеют в его второй позиции любой допустимый символ, на­пример, ABCRK.DA, ABC.D1, ABC1.D.

Шаблоны удобно использовать в командах DOS и при работе с программными оболочками (например, Norton Commander или Windows Commander) для поис­ка, копирования, перемещения и удаления групп файлов.






Сейчас читают про: