Типы файлов – имена и расширения

ЛЕКЦИЯ 19. СИСТЕМЫ ФАЙЛОВ

Понятие файла

Файл (file) –это смежная область логического адресного места. Обычно, файлы хранятся во наружной памяти.

Незначительно о терминологии. Слово файл уженесколько 10-ов лет употребляется как российское – один из бессчетных примеров программистских неологизмов. Сначало, когда около 50 годов назад появился данный британский термин, в русской литературе спецы пробовали ввести другую терминологию Типы файлов – имена и расширения – слово fileпереводили как фонди даже тека(в смысле хранилище ). Но исторически сложилось другое решение – слово файлстало русским. В британском языке слово fileимеет много других значений: к примеру, подшитый в папку картонный документи даже стадо(к примеру, слонов) – в последнем случае, как можно представить, размер "файла" может быть очень велик. У всех в Типы файлов – имена и расширения памяти заглавие знаменитого телесериала " X files"(в свободном российском переводе – "Скрытые материалы").

Компания IBM в документации по собственной системе IBM 360 в 1960-х гг. использовала другой термин – набор данных (data set) –для обозначения этого же понятия, но он не пережил операционную систему, в какой употреблялся.

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

Структура файла

В разных системах приняты разные точки зрения на структуру файлов. В ряде систем структура файла привязывалась к типу устройства, на котором он находится. В неких других системах структура файла Типы файлов – имена и расширения была искусственно усложнена. Но более ординарную и унифицированную точку зрения из их предложили создатели системы UNIX: файл – это последовательность слов либо байтов. Казалось бы, это разумеется, но преимущество данного подхода к файлам в том, что базисное представление файла и базисные операции над ним (read, write) не зависят от Типы файлов – имена и расширения типа устройства. В свое время для программистов нашего поколения таковой подход к файлам был откровением, после сложностей системы файлов IBM 360, а потом – "Эльбруса". Можно сказать, что файлы в собственном развитии прошли путь, аналогичный развитиюархитектур компов – поначалу в сторону значимых усложнений, потом – упрощения и унификации.

Файлы можно условно подразделять на Типы файлов – имена и расширения файлы обычный и сложной структуры (хотя точка зрения на структуру файла находится в зависимости от той программки, которая его обрабатывает).

Файлы обычныйструктуры состоят из последовательности записей (records) –простых единиц, в определениях которых производятся операции обмена с файлом. Записи могут быть:

· строчками, если это текстовый файл ;

· двоичными данными фиксированной длины ;

· двоичными данными переменной длины.

Файлы Типы файлов – имена и расширения сложной структурымогут быть самого различного вида, к примеру:

· отформатированным документомMicrosoft Office (таковой файл, не считая фактически текста, содержит управляющие знаки переключения шрифтов, цветов и т.д.);

· загрузочным модулемреального либо виртуального двоичного кода, к примеру, portable executable (PE)-файлом для платформы .NET; class-файлом для платформы Java; подобные Типы файлов – имена и расширения файлы состоят из нескольких секций, содержат внутренние ссылки и таблицы и т.д.

Непростая структура файла может быть смоделирована записями методом прибавления соответственных управляющих знаков.

Файлы интерпретируются операционной системой либо программками их обработки.

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

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

Различаются последующие главные атрибуты файла:

Имя (Name)– имя файла в символьной форме, воспринимаемое юзером.

Тип (Type)– тип хранимой в файле инфы. Отдельный атрибут типнужен для систем, которые поддерживают Типы файлов – имена и расширения разные типы файлов. К примеру, в системе "Эльбрус" значением атрибута тип файлаявляется число, кодирующее тип: 0 – данные, 2 – код, 3 – текст и т.д. Но более принятым подходом является подход, принятый в системах MS DOS, Windows, UNIX: тип файла кодируется расширением имени, к примеру, book.txt– текстовый файл (.txt), содержащий текст Типы файлов – имена и расширения книжки.

Размещение (Location)– указатель на размещение файла на устройстве.

Размер (Size)– текущий размер файла.

Защита (Protection)– управляющая информация, задающая возможности чтения, конфигурации и выполнения файла.

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

В ОС UNIX дату модификации файла можно поменять командой touch f, где f – название файла. Touch дословно значит потрогать. Не считая конфигурации времени модификации, больше никаких действий Типы файлов – имена и расширения над файлом не делается.

Идентификация юзера.В хоть какой системе поддерживается понятие владелец (создатель) файла (owner).Конкретно владелец вправе задавать другим юзерам возможности для работы с файлом.

Информация о файлах хранится в структуре директорий ( либо справочников- directories),время от времени, к примеру, в системе Windows, именуемых также папками (folders)– структурами во наружной Типы файлов – имена и расширения памяти, содержащими символьные названия файлов и ссылки на их. Важная концепция директории тщательно рассматривается дальше в данной лекции.

Операции над файлами

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

· Созданиефайла ( Create ). Создается заголовок файла; сначало Типы файлов – имена и расширения его содержимое (память) пусто.

· Записьв файл ( Write ). Обычно, происходит записями (records)либо блоками– более большими логическими единицами инфы, объединяющими несколько записей, с целью оптимизацииопераций ввода-вывода.

· Чтениеиз файла ( Read ). Обычно также производится записями либо блоками.

· Поиск позиции снутри файла (размещение)( Seek ). Позиция задается номером записи либо блока, или особыми именами, обозначающими начало файла Типы файлов – имена и расширения (позиция перед первой записью) либо конец файла (позиция после последней записи).

· Удалениефайла ( Delete ). Зависимо от реализации системы файлов, неверное удаление файла может быть фатальным (UNIX) либо исправимым (MS DOS).

· Сокращениефайла ( Truncate ).

· Открытиефайла ( Open ) – поиск файла в структуре директорий по его символьному имени (пути) и считывание его заголовка и 1-го либо нескольких смежных блоков в Типы файлов – имена и расширения буферав основной памяти.

· Закрытиефайла ( Close ) – запись содержимого буферов в блоки файла; обновление файла во наружной памяти в согласовании с его текущим состоянием; освобождение всех структур в основной памяти, связанных с файлом.

Для выполнения операций обмена с файлом ( read, write ), обычно, файл нужно открыть. Закрытие файла является обязанностью пользовательского процесса Типы файлов – имена и расширения; но, если он по какой-нибудь причине этого не делает, то закрывает все файлы, открытые процессом, операционная система после окончания либо прекращения процесса.

Типы файлов – имена и расширения

В таблица 19.1 приведены некие более употребительные типы файлов и надлежащие им расширения имен.

Таблица 19.1. Типы файлов – имена и расширения
тип файла расширение Типы файлов – имена и расширения имени функциональность
исполняемый код (загрузочный модуль) exe, com, bin либо отсутствует готовая к выполнению программка в бинарном машинном коде
обьектный модуль obj, о откомпилированная программка в бинарном коде, но не слинкованная
начальный код на языке программирования с, сс, Java, pas, asm, а начальный код на разных языках (Си, Паскаль и др Типы файлов – имена и расширения.)
командный файл bat, sh файл с командами для командного интерпретатора
текст txt, doc текстовые данные, документы
документ для текстового микропроцессора wp, tex, rtf, doc документ в формате какого-нибудь текстового микропроцессора
библиотека lib, a, so, dll, mpeg, mov, rm библиотеки модулей для программирования
файл для печати либо Типы файлов – имена и расширения визуализации arc, zip, tar ASCII либо бинарный файл в формате для печати либо визуализации
архив arc, zip, tar несколько файлов, сгруппированных в один файл, для архивации либо хранения
мультимедиа mpeg, mov, rm бинарный файл, содержащий аудио- либо видео информацию

Смысл их ясен из приведенной таблицы. Следует увидеть, что унифицированных Типы файлов – имена и расширения расширений имен, принятых в разных ОС, сильно мало – по-видимому, только .txt(текст) и расширения для начальных кодов на языках программирования, к примеру, .c –Си, .pлибо . pas –Паскаль и др. Объектные модули именуются по-разному (в Windows – .obj, в UNIX - .o ), библиотеки – тоже: статически линкуемые в Windows - .lib, вUNIX - .a ; динамически линкуемые в Windows - .dll, в Типы файлов – имена и расширения UNIX – .so.Любопытно отметить, что для исполняемого кода в Windows есть стандартное расширение - .exe,а в UNIX – нет, зато есть очень экзотичное полное стандартное имя: a.out (assembler output).Унифицированы расширения имен для разных текстовых микропроцессоров: . doc- Microsoft Word, .pdf– Adobe Acrobat и др.

Способы доступа к файлам

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

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

По-видимому, поочередный доступ употребляется почаще: конкретно так происходит ввод данных, вывод результатов на печать либо на экран.

Обычные операции поочередного доступа Типы файлов – имена и расширения:

read next

write next

reset – установка на начало файла для чтения

rewrite – установка на начало файла для записи.

Обычные операции прямого доступа:

read n

write n

position to n – размещение на запись с номером n

read next

write next

rewrite n, где n - относительный номер блока (записи).

Описанная трактовка поочередных файлов и операций над ними иллюстрируется рис Типы файлов – имена и расширения. 19.1.


Рис. 19.1.Файл поочередного доступа.

По мере надобности можно смоделировать операции поочередного доступа для файла с прямым доступом. Метод моделирования показан в таблица 19.2.

Таблица 19.2. Моделирование поочередного доступа для файла с прямым доступом
поочередный доступ реализация для файла с прямым доступом
reset cp=0;
read next read cp; cp=cp+1;
write next Типы файлов – имена и расширения write cp; cp=cp+1;

Указатель на текущую позицию, соответствующий для поочередного доступа, для файла прямого доступа моделируется переменной cp, а операции поочередного доступа – операциями прямого доступа с указанием cpв качестве номера блока.

Для ускорения доступа к файлу огромного объема может употребляться индексный файл, содержащий ссылки на записи основного ( относительного ) файла. рис. 19.2 изображен пример основного Типы файлов – имена и расширения файла, содержащего упорядоченные по фамилиям анкетные данные людей. Индексный файл для данного основного файла содержит ссылки на 1-ые логические записи анкет с данной фамилией, к примеру, Smith.


Рис. 19.2.Индексный файл и основной файл.

Директории

Директория (directory, folder)- узел, содержащий информацию о файлах – их имена и ссылки на файлы и на Типы файлов – имена и расширения другие директории во наружной памяти. Таким макаром, вероятна организация иерархии директорий либо их более сложных взаимосвязей, прямо до случайных графов. Как структура директорий, так и файлы хранятся на диске. При помощи директорий поддерживается именование файлов при помощи путей (paths)– многослоговых имен, состоящих из имени корневой директории (либо Типы файлов – имена и расширения логического диска) и последовательности имен директорий следующих уровней. К примеру, в системе Windows c:\doc\plan.txt–путь доступа к файлу, задающий его размещение – на логическом диске C:,в директории doc(документы), и название файла – plan.txt.Имя содержит расширение, указывающее на тип файла.

Запасное копирование (back-up)файлов и директорий производится на особые Типы файлов – имена и расширения созданные для этого носители – к примеру, на ленту (стример), flash-память, наружный переносной жесткий диск, компакт-диск (CD, DVD). Безотступно рекомендуется часто копировать на наружный носитель (либо на несколько наружных носителей) более принципиальные директории.

Особенности системы файлов в "Эльбрусе"

Говоря о структуре директорий и именовании файлов Типы файлов – имена и расширения, нельзя не упомянуть настолько экзотичную систему файлов, как в МВК "Эльбрус". Это полезно читателям, чтоб сопоставить и лучше оценить обилие подходов к системам файлов.

Главные концепции системы файлов МВК "Эльбрус" – это файлы, контейнеры, справочники. Понятие контейнерав "Эльбрусе" близко к современным понятиям тома и контейнера в системах Windows и Solaris: контейнер – это хранилище файлов на одном Типы файлов – имена и расширения либо нескольких дисках. Понятие справочника близко к понятию директории в обычных файловых системах.

Файл в "Эльбрусе" состоит из заголовка и памяти. В заголовке хранятся атрибуты файла, число которых – порядка 100 (!).

Значимым различием файловой системы "Эльбруса" будет то, что может быть создание файла и управление им безприсваивания ему Типы файлов – имена и расширения имени, т.е. без отображения его в справочниках (директориях). Таковой временный файл создается в программке, ссылка на файл хранится в глобальной либо локальной переменной, и по окончании выполнения программки файл уничтожается, если на него не была сохранена ссылка в справочнике на диске. Не считая того, файлы могут ссылаться друг на друга (по Типы файлов – имена и расширения прямой "физической" файловой ссылке, а не c помощью символьных путей) через справочники наружных ссылок (СВС).СВС имеется у каждого файла. Его элементы адресуются по номерам, а не по именам. Обычный пример: файл объектного кода (ФОК)ссылается через собственный СВС на файл дополнения к файлу объектного кода (ДФОК),содержащий Типы файлов – имена и расширения в унифицированном виде таблицы именованных сущностей, определенных в программке и ее процедурах. Выражаясь современным языком, ДФОК содержит метаданные. Эта связь применяется при диагностике ошибок времени выполнения и для многих других целей.

К недочетам файловой системы "Эльбруса" можно отнести усложненную структуру файлов, огромное число атрибутов, зависимость логической структуры файла и набора операций над Типы файлов – имена и расширения ним от типа наружного устройства, на котором он размещен. По сопоставлению с системой файлов "Эльбруса", система файлов в UNIX еще проще и удобнее, но нисколечко не уступает по функциональности.

Обычная организация файловой системы изображена на рис. 19.3.


Рис. 19.3.Организация файловой системы.

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

Следует подразумевать, что в различных разделах могут быть установлены разные операционные системы, использующие различное форматирование и различные файловые системы для собственной работы. Даже если на компьютере установлена только одна ОС, разные разделы могут использовать разные типы файловых систем, к примеру, в Windows раздел A Типы файлов – имена и расширения может использовать файловую систему FAT32, а раздел B – файловую систему NTFS. В разделе C может быть инсталлирована ОС Linux, использующая свою свою файловую систему Ext2Fs.


tindal-morgan-chobb-bolingbrok-statya.html
tinktorialnie-svojstva.html
tip-1-dannie-tipa-gosudarstvennaya-statistika.html