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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

q TXT — текстовый файл;

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

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

q BAK — копия файла, создаваемая при перезаписи оригинала;

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

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

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

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

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

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

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

Управление файлами

Доступом называется обращение к файлу с целью чтения или записи в него информации.

Файловая система поддерживает два типа доступа к файлам:

q последовательный метод доступа;

q прямой (непосредственный) метод доступа.

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

q доступ к файлу с использованием специальной таблицы — управляющего блока файла;

q доступ к файлу по идентификатору.

Управляющий блокфайла (FCB — File Control Block) содержит следующую информацию:

q номер (букву) дисковода, где установлен диск с файлом;

q имя файла и его расширение;

q текущий номер блока в файле;

q длину записи в байтах;

q размер файла в байтах;

q дату последней модификации файла;

q относительный номер записи (текущий номер);

q номер записи и т. д.

Некоторые из вышеназванных параметров требуют дополнительного пояснения. Файл состоит из блоков, объединяющих по 128 записей в каждом. Относительный номер записи — это порядковый номер записи в блоке. Текущий номер блока и относительный номер записи используются при последовательном доступе к записям файла. Номер записи — это параметр, объединяющий номер блока и относительный номер записи в блоке, он используется при произвольном доступе к записям файла. Важный параметр — длина записи (точнее длина логической, кажущейся записи, которая может отличаться от длины физической записи ввиду наличия различных служебных элементов в структуре записи и файла). Длина записи используется при определении числа байтов, пересылаемых при обмене информацией с ОЗУ и при определении положения записи внутри блока. Блок FCB позволяет получать доступ к файлам только в текущем каталоге. Идентификатор файла — ASCIIZ-строка, идентифицирующая файл.

ASCIIZ (ASCII-zero) строка содержит следующую информацию:

q номер (логическое имя) дисковода и путь к файлу (если нужно);

q имя файла и его расширение;

q нулевой байт (zero-байт).

Использование FCB для обращения к файлу позволяет реализовать и произвольный и последовательный методы организации доступа, но часто оказывается довольно сложным, поэтому в версиях MS DOS, начиная с DOS 2.0 и выше, введено обращение к файлу по идентификатору, которое чаще всего и применяется на практике, если не требуется выполнять детализированные процедуры с отдельными дорожками и секторами диска. Каждый файл и в случае использования FCB, и в случае использования ASCIIZ должен иметь свой файл атрибута или просто атрибут.

Атрибуты файлов

Атрибут — это классифицирующий файлпризнак, определяющий способ его использования, права доступа к нему и т. д. ОС DOS допускает задание следующих элементов в атрибуте:

q R (Read only) — файл предназначен только для чтения и не может быть ни удален, ни изменен. При попытке обновить или уничтожить такой файл системными средствами (при помощи программ DOS) будет выдано сообщение об ошибочных действиях. Атрибут устанавливается для защиты от случайного изменения или уничтожения;

q H (Hidden) — скрытый файл. Игнорируется многими командами DOS. При просмотре каталога командой DIR сведения о скрытом файле обычно не выдаются;

q S (System) — системный файл. Системные файлы предназначены для работы операционной системы или работы внешних устройств ПК;

q A (Archive) — еще не архивированный файл. Этот атрибут позволяет определить, было ли произведено резервное копирование файла (создание его резервной копии в специальном формате). Атрибут A присваивается каждому вновь создаваемому файлу и сбрасывается (уничтожается) при создании резервной копии файла.

Файлу могут быть присвоены одновременно любые из перечисленных атрибутов или ни один из них.

К группе атрибутов файла можно условно отнести пароль, обеспечивающий разграничение доступа к файлам.








Дата добавления: 2016-04-02; просмотров: 1095;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.02 сек.