Файлы и файловая структура. Что такое файловая структура компьютера? Определение

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

щая уникальным собственным именем. Обычно в отдельном файле хранят данные, относящиеся к одному типу. В этом случае тип данных определяет тип файла.

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

Например, расширения для файлов: исполняемых - .ехе, .сот; текстовых -.txt, .doc; графических - .bmp, .gif, .jpg; звуковых - .wav, .mid; видео - .evi; программных - .bas, .pas, .asm и др.

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

Рис. 2.4.

В качестве вершины структуры служит имя носителя, на котором сохраняются файлы.

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

Все современные дисковые ОС предусматривают создание файловой системы, предназначенной для хранения данных на дисках и обеспечения доступа к ним. Принцип организации файловой системы - табличный.

Поверхность жесткого диска рассматривается как трехмерная матрица, измерениями которой являются номера поверхности, цилиндра и сектора. Под цилиндром понимается совокупность всех дорожек, принадлежащих разным поверхностям и находящихся на равном удалении от оси вращения. Данные о том, в каком месте диска записан файл, хранятся в системной области диска. Формат служебных данных определяется конкретной файловой системой. Нарушение целостности служебных данных приводит к невозможности воспользоваться данными, записанными на диске. К системной области предъявляются особые требования по надежности. Целостность, непротиворечивость и надежность этих данных регулярно контролируется средствами операционной системы. Наименьшей физической единицей хранения данных является сектор. Размер сектора равен 512 байт. Теоретически возможна самостоятельная адресация для каждого сектора. Но для дисков большого объема такой подход неэффективен, поэтому группы секторов объединяются в кластеры. Кластер является наименьшей единицей адресации при обращении к данным. Размер кластера, в отличие от размера сектора, строго не фиксирован. Обычно он зависит от емкости диска.

Операционные системы MS-DOS, OS/2, Windows 95 и др. используют файловую структуру на основе таблиц размещения файлов (FAT-таблицы), состоящих из 16-разрядных полей. Такая файловая система называется FAT 16. Она позволяет разместить в FAT-таблицах не более 65 536 записей (2 16) о местоположении единиц хранения данных. Для дисков объемом от 1 до 2 Гб длина кластера составляет 32 Кб (64 сектора). Это не вполне рациональный расход рабочего пространства, поскольку даже маленький файл полностью оккупирует весь кластер. Для дисков объемом примерно 2 Гб потери, связанные с неэффективностью этой файловой системы, могут составлять от 25 до 40 % полной емкости диска.

Начиная с ОС Windows 98, семейство Windows (Windows Me/ 2000/ХР) поддерживает более совершенную версию файловой системы на основе FAT-таблиц - FAT32 с 32-разрядными полями в таблице размещения файлов. Для дисков размером до 8 Гб эта система обеспечивает размер кластера 4 Кб (8 секторов).

Операционные системы Windows NT и Windows ХР способны поддерживать совершенно другую файловую систему - NTFS. В ней хранение файлов организовано иначе - служебная информация хранится в главной таблице файлов (MFT ). В системе NTFS размер кластера не зависит от размера диска, и потенциально для очень больших дисков эта система должна работать эффективнее, чем FAT32.

Файловые системы. Типы файловых систем. Операции с файлами. Каталоги. Операции с каталогами.

Файл - это именованная область внешней памяти, в которую можно записывать и из которой можно считывать данные.

Основные цели использования файла.

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

    Совместное использование информации . Файлы обеспечивают естественный и легкий способ разделения информации между приложениями и пользователями за счет наличия понятного человеку символьного имени и постоянства хранимой информации и расположения файла. Пользователь должен иметь удобные средства работы с файлами, включая каталоги-справочники, объединяющие файлы в группы, средства поиска файлов по признакам, набор команд для создания, модификации и удаления файлов. Файл может быть создан одним пользователем, а затем использоваться совсем другим пользователем, при этом создатель файла или администратор могут определить права доступа к нему других пользователей. Эти цели реализуются в ОС файловой системой.

Файловая система (ФС) - это часть операционной системы, включающая:

    совокупность всех файлов на диске;

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

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

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

Широко известны следующие файловые системы:

    файловая система операционной системы MS - DOS , в основу которой положена таблица размещения файлов - FAT ( File Allocation Table ).

Таблица содержит сведения о расположении всех файлов (каждый файл делится на кластеры в соответствии с наличием свободного места на диске, кластеры одного файла не обязательно расположены рядом). Файловая система MS-DOS имеет значительные ограничения и недостатки, например, под имя файла отводится 12 байт, работа с жестким диском большого объема приводит к значительной фрагментации файлов;

Основные функции в такой ФС нацелены на решение следующих задач:

    именование файлов;

    программный интерфейс для приложений;

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

    устойчивость файловой системы к сбоям питания, ошибкам аппаратных и программных средств.

    OS /2 , называемая HPFS ( High - Performance File System - быстродействующая файловая система).

Обеспечивает возможность иметь имя файла до 254 символов. Файлы, записанные на диск, имеют минимальную фрагментацию. Может работать с файлами, записанными в MS DOS;

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

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

    файловая система операционной системы Windows 95

Имеет уровневую структуру, что позволяет поддерживать одновременно несколько файловых систем. Старая файловая система MS-DOS поддерживается непосредственно, а файловые системы разработанные не фирмой Microsoft , поддерживаются с помощью специальных модулей . Имеется возможность использовать длинные (до 254 символов) имена файлов.

    файловые системы операционной системы Unix

Они обеспечивают унифицированный способ доступа к файловым системам ввода-вывода.

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

Типы файлов

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

Обычные файлы , или просто файлы, содержат информацию произвольного характера, которую заносит в них пользователь или которая образуется в результате работы системных и пользовательских программ. Большинство современных операционных систем (например, UNIX, Windows, OS/2) никак не ограничивает и не контролирует содержимое и структуру обычного файла. Содержание обычного файла определяется приложением, которое с ним работает. Например, текстовый редактор создает текстовые файлы, состоящие из строк символов, представленных в каком-либо коде. Это могут быть документы, исходные тексты программ и т. п. Текстовые файлы можно прочитать на экране и распечатать на принтере. Двоичные файлы не используют коды символов, они часто имеют сложную внутреннюю структуру, например исполняемый код программы или архивный файл. Все операционные системы должны уметь распознавать хотя бы один тип файлов - их собственные исполняемые файлы.

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

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

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

Иерархическая структура файловой системы

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

Граф, описывающий иерархию каталогов, может быть деревом или сетью. Каталоги образуют дерево, если файлу разрешено входить только в один каталог (рис. 7.3, б), и сеть - если файл может входить сразу в несколько каталогов (рис. 7.3, в). Например, в MS-DOS и Windows каталоги образуют древовидную структуру, а в UNIX - сетевую. В древовидной структуре каждый файл является листом. Каталог самого верхнего уровня называется корневым каталогом, или корнем ( root ).

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

Частным случаем иерархической структуры является одноуровневая организация, когда все файлы входят в один каталог (рис. 7.3, а).

Имена файлов

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

Простое, или короткое, символьное имя идентифицирует файл в пределах одного каталога. Простые имена присваивают файлам пользователи и программисты, при этом они должны учитывать ограничения ОС как на номенклатуру символов, так и на длину имени. До сравнительно недавнего времени эти границы были весьма узкими. Так, в популярной файловой системе FAT длина имен ограничивались схемой 8.3 (8 символов - собственно имя, 3 символа - расширение имени), а в файловой системе s5, поддерживаемой многими версиями ОС UNIX, простое символьное имя не могло содержать более 14 символов. Однако пользователю гораздо удобнее работать с длинными именами, поскольку они позволяют дать файлам легко запоминающиеся названия, ясно говорящие о том, что содержится в этом файле. Поэтому современные файловые системы, а также усовершенствованные варианты уже существовавших файловых систем, как правило, поддерживают длинные простые символьные имена файлов. Например, в файловых системах NTFS и FAT32, входящих в состав операционной системы Windows NT, имя файла может содержать до 255 символов.

В иерархических файловых системах разным файлам разрешено иметь одинаковые простые символьные имена при условии, что они принадлежат разным каталогам. То есть здесь работает схема «много файлов - одно простое имя». Для одпозначной идентификации файла в таких системах используется так называемое полное имя.

Полное имя представляет собой цепочку простых символьных имен всех каталогов, через которые проходит путь от корня до данного файла. Таким образом, полное имя является составным, в котором простые имена отделены друг от друга принятым в ОС разделителем. Часто в качестве разделителя используется прямой или обратный слеш, при этом принято не указывать имя корневого каталога. На рис. 7.3, б два файла имеют простое имя main.exe, однако их составные имена /depart/main.ехе и /user/anna/main.exe различаются.

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

Файл может быть идентифицирован также относительным именем. Относительное имя файла определяется через понятие «текущий каталог». Для каждого пользователя в каждый момент времени один из каталогов файловой системы является текущим, причем этот каталог выбирается самим пользователем по команде ОС. Файловая система фиксирует имя текущего каталога, чтобы затем использовать его как дополнение к относительным именам для образования полного имени файла. При использовании относительных имен пользователь идентифицирует файл цепочкой имен каталогов, через которые проходит маршрут от текущего каталога до данного файла. Например, если текущим каталогом является каталог /user, то относительное имя файла /user/anna/main.exe выглядит следующим образом: anna/ main.exe.

В некоторых операционных системах разрешено присваивать одному и тому же файлу несколько простых имен, которые можно интерпретировать как псевдонимы. В этом случае, так же как в системе с сетевой структурой, устанавливается соответствие «один файл - много полных имен», так как каждому простому имени файла соответствует по крайней мере одно полное имя.

И хотя полное имя однозначно определяет файл, операционной системе проще работать с файлом, если между файлами и их именами имеется взаимно однозначное соответствие. С этой целью она присваивает файлу уникальное имя, так что справедливо соотношение «один файл - одно уникальное имя». Уникальное имя существует наряду с одним или несколькими символьными именами, присваиваемыми файлу пользователями или приложениями. Уникальное имя представляет собой числовой идентификатор и предназначено только для операционной системы. Примером такого уникального имени файла является номер индексного дескриптора в системе UNIX.

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

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

    тип файла (обычный файл, каталог, специальный файл и т. п.);

    владелец файла;

    создатель файла;

    пароль для доступа к файлу;

    информация о разрешенных операциях доступа к файлу;

    времена создания, последнего доступа и последнего изменения;

    текущий размер файла;

    максимальный размер файла;

    признак «только для чтения»;

    признак «скрытый файл»;

    признак «системный файл»;

    признак «архивный файл»;

    признак «двоичный/символьный»;

    признак «временный» (удалить после завершения процесса);

    признак блокировки;

    длина записи в файле;

    указатель на ключевое поле в записи;

    длина ключа.

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

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

Значения атрибутов файлов могут непосредственно содержаться в каталогах, как это сделано в файловой системе MS-DOS (рис. 7.6, а). На рисунке представлена структура записи в каталоге, содержащая простое символьное имя и атрибуты файла. Здесь буквами обозначены признаки файла: R - только для чтения, А - архивный, Н - скрытый, S - системный.

Рис. 7.6. Структура каталогов: а - структура записи каталога MS-DOS (32 байта), б - структура записи каталога ОС UNIX

Другим вариантом является размещение атрибутов в специальных таблицах, когда в каталогах содержатся только ссылки на эти таблицы. Такой подход реализован, например, в файловой системе ufs ОС UNIX. В этой файловой системе структура каталога очень простая. Запись о каждом файле содержит короткое символьное имя файла и указатель на индексный дескриптор файла, так называется в ufs таблица, в которой сосредоточены значения атрибутов файла (рис. 7.6, б).

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

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

Большинство современных ОС рассматривают файл как неструктурированную последовательность байт переменной длины. В стандарте POSIX над файлом определены следующие операции:

    int open ( char * fname , int flags , mode _ t mode )

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

Параметр char * fname задает имя файла.int flags - это битовая маска, определяющая режим открытия файла.Файл может быть открыт только на чтение, только на запись и начтение и запись; кроме того, можно открывать существующий файл,а можно пытаться создать новый файл нулевой длины.Необязательный третий параметр mode используется толькопри создании файла и задает атрибуты этого файла.

    off _ t lseek ( int handle , off _ t offset , int whence )

Эта операция перемещает указатель чтения/записи в файле.Параметр offset задает количество байт, на которое нужно сместитьуказатель, а параметр whence - откуда отсчитывать смещение.Предполагается, что смещение можно отсчитывать от начала файла(SEEK_SET), от его конца (SEEK_END) и от текущегоположения указателя (SEEK_CUR). Операция возвращает положениеуказателя, отсчитываемое от начала файла. Таким образом, вызовlseek(handle, 0, SEEK_CUR) возвратит текущее положение указателя,не передвигая его.

    int read(int handle, char * where, size_t how_much)

Операция чтения из файла. Указатель where задает буфер,куда нужно поместитьпрочитанные данные; третий параметр указывает, сколько данных надо считать.Система считывает требуемое число байт из файла, начиная с указателячтения/записи в этом файле, и перемещает указатель к концу считаннойпоследовательности. Если файл кончился раньше, считывается столько данных,сколько оставалось до его конца. Операция возвращает количествосчитанных байт. Если файл открывался только для записи, вызов readвозвратит ошибку.

    int write(int handle, char * what, size_t how_much)

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

Если файл открывался только для чтения, вызов write возвратит ошибку.

    int ioctl(int handle, int cmd, ...) ; int fcntl ( int handle , int cmd , ...)

Дополнительные операции над файлом. Первоначально, по-видимому,предполагалось, что ioctl - это операции над самим файлом,а fcntl - это операции над дескриптором открытого файла,но потом историческое развитие несколько перемешало функции этих системныхвызовов. Стандарт POSIX определяет некоторые операции как наддескриптором, например дублирование (в результате этой операции мы получаемдва дескриптора, связанных с одним и тем же файлом), так и над самим файлом,например, операцию truncate - обрезать файл до заданной длины.В большинстве версий Unix операцию truncate можноиспользовать и для вырезания данных из середины файла. При считывании данныхиз такой вырезанной области считываются нули, а сама эта область незанимает физического места на диске.

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

Большинство реализаций стандарта POSIX предлагает и своидополнительные операции. Так, в Unix SVR 4 этими операциямиможно устанавливать синхронную или отложенную запись и т.д.

    caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int handle, off_t offset)

Отображение участка файла в виртуальное адресное пространство процесса.Параметр prot задает права доступа к отображенному участку:на чтение, запись и исполнение. Отображение может происходитьна заданный виртуальный адрес, или же система может выбирать адрес дляотображения сама.

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

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

Примерно та же модель работы с файлами принята в CP / M ,а набор файловых системных вызовов MS DOS фактическископирован с вызовов Unix v 7 . В свою очередь, OS /2 и Windows NT унаследовали принципы работы с файламинепосредственно от MS DOS .

Напротив, в системах, не имеющих Unix в родословной,может использоваться несколько иная трактовка понятия файла.Чаще всего файл трактуется как набор записей. Обычно система поддерживаетзаписи как постоянной длины, так и переменной. Например, текстовый файлинтерпретируется как файл с записями переменной длины, а каждой строке текстасоответствует одна запись. Такова модель работы с файлами в VMS и в ОС линии OS /360 -MVS фирмы IBM.

Файловая система позволяет систематизировать программы и данные и организовать упорядоченное управление этими объектами.

На операционные системы персональных компьютеров наложила глубокий отпечаток концепция файловой системы, лежащей в основе ОС Unix. В ОС Unix подсистема ввода-вывода унифицирует способ доступа как к файлам, так и к периферийным устройствам. Под файлом при этом понимают набор данных на диске, терминале или каком-либо другом устройстве.

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

Файловая система – это система управления данными.

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

Файловые системы ОС создают для пользователей некоторое виртуальное представление внешних запоминающих устройств, позволяя работать с ними не на низком уровне команд управления физическими устройствами, а на высоком уровне наборов и структур данных.

Файловая система (назначение):

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

Файловая структура

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

Файловая структура в виде дерева

Используется древовидная структура каталогов – дерево каталогов. Заимствована у Unix. Иерархическая структура – структура системы, части (компоненты) которой связаны отношениями включения или подчинения.

Иерархическая структура изображается ориентированным деревом, в котором вершины соответствуют компонентам, а дуги – связям.

дерево каталогов диска G

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

Деревья используются при описании и проектировании иерархических структур.

Корень – начальная позиция, листья – заключительная позиция.

Разделы

Любой жесткий или магнитооптический диск в процессе форматирования можно разделить на несколько частей и работать с ними как с отдельными (самостоятельными) дисками. Эти части называются разделами или логическими дисками. Разбиение диска на несколько логических дисков может быть необходимо из-за того, что ОС не могут работать с дисками, размер которых превышает определенную величину. Очень удобно хранить данные и пользовательские программы отдельно от системных программ (ОС), ведь ОС может «слететь с компьютера».

Раздел – область диска. Под логическим диском(разделом) в компьютере понимается любой носитель информации, с которым операционная система работает как с единым целым объектом.

Имя диска – обозначение логического диска; запись в корневом каталоге.

Логические диски (разделы) обозначаются латинскими буквами A, B, C, D, E, … (32 буквы от A до Z).

Буквы A, B зарезервированы для обозначения дискет.

С – жесткий диск, обычно с которого производится загрузка ОС.

Остальные буквы – логические диски, компакт-диски и т.д. Максимальное количество логических дисков для ОС Windows – бесконечное.

В таблице разделов указывается расположение начала и конца этого раздела и число секторов в этом разделе (место и размер).

Файловая структура логического диска

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

Элементы файловой структуры:

    стартовый сектор (начальной загрузки, Boot-сектор);

    таблица размещения файлов (FAT – File Allocation Table);

    корневой каталог (Root Directory);

    область данных (оставшееся свободным дисковое пространство).

Файловая структура на дискете емкостью 360 кбайт

Boot-сектор – первый (начальный) сектор диска. Находится на 0- стороне, 0-дорожке.

Boot-сектор содержит служебную информацию:

    размер кластера диска (кластер – блок, объединяющий в группу несколько секторов для сокращения размера FAT-таблицы);

    местоположение FAT-таблицы (в вoot-секторе находится указатель на то, где расположена FAT-таблица);

    размер FAT-таблицы;

    количество FAT-таблиц (всегда есть как минимум 2 копии таблицы для обеспечения надежности и безопасности, т.к. разрушение FAT ведет к потере информации и трудно восстанавливается);

    адрес начала корневой директории и ее максимальный размер.

В вoot-секторе находится блок начальной загрузки (загрузчик) – загрузочная запись Boot Record.

Загрузчик – обслуживающая программа, которая помещает выполняемую программу в оперативную память и приводит ее в состояние готовности к исполнению.

FAT (таблица размещения файлов)

FAT (File Allocation Table) – таблица размещения файлов. В ней определено, какие участки диска относятся к каждому файлу.Область данных диска представлена в ОС как последовательность пронумерованных кластеров.

FAT – это массив элементов, адресующих кластеры области данных диска. Каждому кластеру области данных соответствует один элемент FAT. Элементы FAT служат в качестве цепочки ссылок на кластеры файла в области данных.

FAT состоит из элементов длиной 16 /32/64 бита. Всего в таблице может быть до 65520 таких элементов, каждый из них (кроме первых двух) соответствует кластеру диска. Кластер является той единицей, в которой распределяется пространство в области данных на диске для файлов и каталогов. Первые два элемента таблицы (с номерами 0 и 1) зарезервированы, а каждый из остальных элементов таблицы описывает состояние кластера диска с тем же номером. Элемент может указывать, что кластер свободен, что кластер дефектный, что кластер принадлежит файлу и является последним кластером в файле. Если кластер принадлежит файлу и не является его последним кластером, то элемент таблицы содержит номер следующего кластера в этом файле.

FAT – крайне важный элемент файловой структуры. Нарушения в FAT могут привести к полной или частичной потери информации на всем логическом диске. Именно поэтому, на диске хранится две копии FAT. Существуют специальные программы, которые контролируют состояние FAT и исправляют нарушения.

Для разных ОС необходимы разные версии FAT

Windows 95 FAT 16, FAT 32

Windows NT (XP) NTFS

Novell Netware TurboFAT

UNIX NFS,ReiserFS

Логическая структура носителя информации

Полная информация о кластерах, которые занимают файлы, содержится в таблице размещения файлов FAT (FAT - File Allocation Table).

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

Например, для файлов Файл_1 и Файл_2 таблица FAT с 1-й по 54-ю ячейку принимает вид:

Фрагмент FAT

Это определенная область диска, создаваемая в процессе инициализации (форматировании) диска, где содержится информация о файлах и каталогах, хранящихся на диске. Корневой каталог всегда существует на отформатированном диске.

Он не вложен ни в какие другие каталоги, это каталог самого верхнего уровня

На одном диске бывает только один корневой каталог

Каталог - это поименнованная совокупность файлов и подкаталогов (т.е. вложенных каталогов).

Каталог (папка) – специальное место на диске, в котором хранится информация о местоположении файлов.

В каталоге хранится информация о файлах и подкаталогах - имя, размер, дата и время последнего обновления и т.п.

Каждый каталог имеет имя, и он может быть зарегистрирован в другом каталоге.

Основная цель такой структуры каталогов – организация эффективного хранения большого количества файлов на диске.

Подкаталог – каталог более низкого уровня (вложенный) по отношению к текущему каталогу.

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

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

Перейдем в следующей теме к главному элементу файловой системы - ФАЙЛУ

Как установить такие кнопки?
Давайте дружить!

komputercnulja.ru

Файлы и файловые структуры - Информатика в школе

Логические имена устройств внешней памяти

К каждому компьютеру может быть подключено несколько устройств внешней памяти. Основным устройством внешней памяти ПК является жёсткий диск. Если жёсткий диск имеет достаточно большую ёмкость, то его делят на несколько логических разделов.

Наличие нескольких логических разделов на одном жёстком диске обес­печивает пользователю следующие преимущества:

Можно хранить операционную систему в одном логическом разделе, а данные - в другом, что позволит переустанавливать операционную систему, не затрагивая данные;

На одном жёстком диске в различные логические разделы можно установить разные операционные системы;

Обслуживание одного логического раздела не затрагивает другие разделы.

Каждое подключаемое к компьютеру устройство внешней памяти, а также каждый логический раздел жёсткого диска имеют логическое имя.

В операционной системе Windows приняты логические имена устройств внешней памяти, состоящие из одной латинской буквы и знака двоеточия:

Для дисководов гибких дисков (дискет) - А: и В:;

Для жёстких дисков и их логических разделов - С:, D:, Е: и т. д.;

Для оптических дисководов - имена, следующие по алфавиту после имени последнего имеющегося на компьютере жёсткого диска или раздела жёсткого диска (например, F:);

Для подключаемой к компьютеру флэш-памяти - имя, следующее за последним именем оптического дисковода (например, G:).

В операционной системе Linux приняты другие правила именования дисков и их разделов.

Например:

Логические разделы, принадлежащие первому жёсткому диску, получают имена hdal, hda2 и т. д.;

Логические разделы, принадлежащие второму жёсткому диску, получают имена hdbl, hdb2 и т. д.

Все программы и данные хранятся во внешней памяти компьюте­ра в виде файлов.

Файл - это поименованная область внешней памяти.

Файловая система - это часть ОС, определяющая способ органи­зации, хранения и именования файлов на носителях информации.

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

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

В современных операционных системах имя файла может включать до 255 символов, причём в нём можно использовать буквы национальных алфавитов и пробелы. Расширение имени файла запи­сывается после точки и обычно содержит 3-4 символа.

В ОС Windows в имени файла запрещено использование следующих символов: \, /, :, *, ?, ", |. В Linux эти символы, кроме /до­пустимы, хотя использовать их следует с осторожностью, так как некоторые из них могут иметь специальный смысл, а также из соображений совместимости с другими ОС.

Операционная система Linux, в отличие от Windows, различает строчные и прописные буквы в имени файла: например, FILE.txt, file.txt и FiLe.txt - это в Linux три разных файла.

В таблице приведены наиболее распространённые типы файлов и их расширения:

В ОС Linux выделяют следующие типы файлов:

Обычные файлы - файлы с программами и данными;

Каталоги - файлы, содержащие информацию о каталогах;

Специальные файлы устройств - файлы, используемые для представле­ния физических устройств компьютера (жёстких и оптических дисково­дов, принтера, звуковых колонок и т. д.).

Каталоги

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

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

Каталог - это поименованная совокупность файлов и подкаталогов (вложенных каталогов).

Каталог самого верхнего уровня называется корневым каталогом.

В ОС Windows любой информационный носитель имеет корневой каталог, который создаётся операционной системой без участия поль­зователя. Обозначаются корневые каталоги добавлением к логическому имени соответствующего устройства внешней памяти знака «\» (обратный слэш): А:\, С:\, D:\, E:\ и т. д.

В Linux каталоги жёстких дисков или их логических разделов не принадлежат верхнему уровню файловой системы (не являются коричневыми каталогами). Они «монтируются» в каталог mnt. Другие устройства внешней памяти (гибкие, оптические и флэш-диски) «монтируются» в каталог media. Каталоги mnt и media, в свою оче­редь, «монтируются» в единый корневой каталог, который обознача­ется знаком « / » (прямой слэш).

Файловая структура диска

Файловая структура диска - это совокупность файлов на диске и взаи­мосвязей между ними.

Файловые структуры бывают простыми и многоуровневыми (иерархическими).

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

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

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

Графическое изображение иерархической файловой структуры называется деревом. В Windows каталоги на разных дисках могут образовывать несколько отдельных деревьев; в Linux каталоги объ­единяются в одно дерево, общее для всех дисков (рис. 2.10). Древовидные иерархические структуры можно изображать вертикально и горизонтально.

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

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

В операционной системе Windows путь к файлу начинается с логи­ческого имени устройства внешней памяти; после имени каждого подкаталога ставится обратный слэш. В операционной системе Linux путь к файлу начинается с имени единого корневого каталога; после имени каждого подкаталога ставится прямой слэш.

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

Пример полного имени файла в ОС Windows: Е:\изображения\фото\Катунь.jpg

Пример полного имени файла в ОС Linux: /home/methody/text

Задача 1. Пользователь работал с каталогом С:\Физика\Задачи\Кинематика. Сначала он поднялся на один уровень вверх, затем ещё раз поднялся на один уровень вверх и после этого спустился в ка­талог Экзамен, в котором находится файл Информатика.doc. Каков путь к этому файлу?

Решение. Пользователь работал с каталогом С:\Физика\Задачи\Кинематика. Поднявшись на один уровень вверх, пользователь оказался в ка­талоге С:\Физика\Задачи. Поднявшись ещё на один уровень вверх, пользователь оказался в каталоге С:\Физика. После этого пользова­тель спустился в каталог Экзамен, где находится файл. Полный путь к файлу имеет вид: С:\Физика\Экзамен

Задача 2. Учитель работал в каталоге 0:\Уроки\8 класс\Практические работы. Затем перешёл в дереве каталогов на уровень выше, спустился в подкаталог Презентации и удалил из него файл Введение.ppt. Каково полное имя файла, который удалил учитель?

Решение. Учитель работал с каталогом 0:\Уроки\8 класс\Практические работы. Поднявшись на один уровень вверх, он оказался в каталоге Б:\Уроки\8 класс. После этого учитель спустился в каталог Презентации, путь к файлам которого имеет вид: Б:\Уроки\8 класс\Презентации. В этом каталоге он удалил файл Введение.ppt, полное имя которого 0:\Уроки\8 класс\ Презентации \Введение.ppt

Работа с файлами

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

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

Копирование (создаётся копия файла в другом каталоге или на дру­гом носителе);

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

Переименование (производится переименование собственно имени файла);

Удаление (в исходном каталоге объект уничтожается).

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

«?» (вопросительный знак) - означает ровно один произвольный символ;

«*» (звездочка) - означает любую (в том числе и пустую) по­следовательность символов произвольной длины.

Например, по маске n*.txt будут найдены все файлы с расширением txt, имена которых начинаются с буквы «n», в том числе и файл n.txt. По маске n?.* будут найдены файлы с произвольными расширениями и двухбуквенными именами, начинающимися с буквы «n».

САМОЕ ГЛАВНОЕ

Основным устройством внешней памяти ПК является жёсткий диск. Если жёсткий диск имеет достаточно большую ёмкость, то его делят на несколько логических разделов. Каждое подключаемое к компьютеру устройство внешней памяти, а так лее каждый логический раздел жёсткого диска имеют логические имена.

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

Каталог - это поименованная совокупность файлов и подкатало­гов (вложенных каталогов). Каталог самого верхнего уровня называется корневым каталогом.

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

Путь к файлу - имена всех каталогов от корневого до того, в котором непосредственно находится файл. Последовательно записанные путь к файлу и имя файла составляют полное имя файла. Полное имя файла уникально.

sites.google.com

§11. О файлах и файловых структурах

Основные темы параграфа:

что такое файл;

имя файла;

логические диски;

файловая структура диска;

путь к файлу, полное имя файла;

таблица размещения файлов на диске.

Что такое файл

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

Файл - это информация, хранящаяся на внешнем носителе и объединенная общим именем.

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

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

Работа с файлами на компьютере производится с помо­щью файловой системы. Файловая система - это функцио­нальная часть ОС, обеспечивающая выполнение операций над файлами.

Чтобы найти нужный файл, пользователю должно быть известно: а) какое имя у файла; б) где хранится файл1.

Имя файла

Практически во всех операционных системах имя файла составляется из двух частей, разделенных точкой. Например:myprog.pas

Слева от точки находится собственно имя файла (myprog). Следующая за точкой часть имени называется расши­рением файла (pas). Обычно в именах файлов употребляются латинские буквы и цифры. В большинстве ОС максимальная длина расширения - 3 символа. Кроме того, имя файла мо­жет и не иметь расширения. В операционной системе Win­dows в именах файлов допускается использование русских букв; максимальная длина имени - 255 символов.

Расширение указывает, какого рода информация хранит­ся в данном файле. Например, расширение txt обычно обо­значает текстовый файл (содержит текст); расширение рсх - графический файл (содержит рисунок), zip или гаг - архивный файл (содержит архив - сжатую информацию), pas - программу на языке Паскаль.

Логические диски

На одном компьютере может быть несколько дисково­дов - устройств работы с дисками. Каждому дисководу при­сваивается одно буквенное имя (после которого ставится двоеточие), например А:, В:, С:. Часто на персональных компьютерах диск большой емкости, встроенный в систем­ный блок (его называют жестким диском), делят на разделы. Каждый из таких разделов называется логическим диском, и ему присваивается имя С:, D:, Е; и т. д. Имена А: и В: обычно относятся к сменным дискам малого объема - гиб­ким дискам (дискетам). Их тоже можно рассматривать как имена дисков, только логических, каждый из которых пол­ностью занимает реальный (физический) диск. Следователь­но, А:, В:, C:, D: - это всё имена логических дисков,

Имя логического диска, содержащего файл, является пер­вой «координатой», определяющей место расположения файла.

Файловая структура диска

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

Одноуровневая файловая структура - это простая по­следовательность фай лов. Для отыскания файла на диске до­статочно указать лишь имя файла. Например, если файл tetris.exe находится на диске А:, то его «полный адрес» выгля­дит так:

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

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

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

В операционной системе Windows для обозначения поня­тия «каталог» используется термин 4папка».

Графическое изображение иерархической файловой структуры называется деревом.

На рис. 2.9 имена каталогов записаны прописными буква­ми, а файлов - строчными. Здесь в корневом каталоге име­ются две папки: IVANOV и PETROV и один файл fin.com. Папка IVANOV содержит в себе две вложенные папки PROGS и DATA. Папка DATA - пустая; в папке PROGS имеются три файла и т. д, На дереве корневой каталог обыч­но изображается символом \.

Путь к файлу

А теперь представьте, что вам нужно найти определенный документ. Для этого надо знать ящик, в котором он находит­ся, а также «путь» к документу внутри ящика: всю последо­вательность папок, которые нужно открыть, чтобы до­браться до искомых бумаг.

Второй координатой, определяющей место положения файла, является путь к файлу на диске. Путь к файлу - это последовательность, состоящая из имен каталогов» начиная от корневого и заканчивая тем, в котором непосредственно хранится файл.

Вот всем знакомая сказочная аналогия понятия «путь к файлу «На дубе висит сундук, в сундуке - заяц, в зайце - утка, в утке - яйцо, в яйце - игла, на конце которой смерть Кощеева».

Последовательно записанные имя логического диска, путь к файлу и имя файла составляют полное имя файла.

Если представленная на рис. 2.9 файловая структура хра­нится на диске С:, то полные имена некоторых входящих в нее файлов в символике операционных систем MS-DOS и Windows выглядят так:

Таблица размещения файлов

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

На рис. 2.10 показан пример отображения на экране компьютера дерева каталогов на логическом диске Е: (левое окно).

В правом окне представлено содержимое папки ARCON. Это множество файлов различных типов. Отсюда, например, понятно, что полное имя первого в списке файла следующее:

Из таблицы можно получить дополнительную информа­цию о файлах. Например, файл dos4gw.exe имеет размер 254 556 байтов и был создан 31 мая 1994 года в 2 часа 00 мин.

Найдя в таком списке запись о нужном файле, применяя команды ОС, пользователь может выполнить с ним различ­ные действия: инициализировать программу, содержащуюся в файле; удалить, переименовать, скопировать файл. Выпол­нять все эти операции вы научитесь на практическом заня­тии.

Коротко о главном

Файл - это информация, хранящаяся на внешнем носи­теле и объединенная общим именем.

Файловая система - это функциональная часть ОС, обес­печивающая выполнение операций с файлами.

Имя файла состоит из собственно имени и расширения. Расширение указывает на тип информации в файле (тип файла).

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

Каталог - это поименованная совокупность файлов и под­каталогов (вложенных каталогов). Каталог самого верхнего уровня называется корневым. Он не вложен ни в какие ката­логи.

Полное имя файла состоит из имени диска, пути к файлу на диске и имени файла.

Вопросы и задания

1.Как называется операционная система» используемая в вашем компьютерном классе?

2.Какую файловую структуру использует операционная система на ваших компьютерах (простую, многоуровневую)?

3.Сколько физических дисководов работает на ваших компьюте­рах? Сколько логических дисков находится на физических ди­сках и какие имена они имеют в операционнсй системе?

4.Каким правилам подчиняются имена файлов в вашей ОС?

5.Что такое путь к файлу на диске, полное имя файла?

6.Научитесь (под руководством учителя) просматривать на экра­не каталоги дисков на ваших компьютерах.

7.Научитесь инициализировать работу программ из программ­ных файлов (типа exe, com).

8.Научитесь выполнять основные файловые операции в исполь­зуемой ОС (копирование, перемещение, удаление, переимено­вание файлов).

txtbooks.ru

Файл и файловая структура. Операции с файлами

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

Понятие файла и файловой структуры

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

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

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

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

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

Файлы (объекты), не соответствующие ни операционной системе, ни какой-либо программе, открыть будет не так просто. Грубо говоря, ни одна «операционка» не поймет, какое именно средство для открытия нужно запустить. В лучшем случае будет предложено выбрать соответствующую программу самому из предоставляемого списка вероятных решений.

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

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

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

Файлы и папки

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

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

Простейшие примеры поиска файлов

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

Однако для более точного поиска иногда нужно знать, где именно располагается искомый файл. Грубо говоря, необходимо выбрать определенный ящик в комоде, где находится нужный нам предмет. Сам поиск производится при помощи стандартного средства в файловом менеджере, но можно использовать и сочетание вроде Ctrl + F, которое вызывает поисковую строку.

Что такое файловая система?

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

Сегодня файловых систем можно найти достаточно много. К примеру, наиболее известными для Windows с момента развития компьютерной техники стали системы FAT с архитектурой 8, 16, 32 и 64 бита, NTFS и ReFS. Файловая система, структура файла, способ упорядочивания тесно связаны между собой. Но теперь несколько слов о самих системах.

Не говоря о технических подробностях, следует отметить, что основное различие между ними состоит только в том, что FAT имеет больший размер кластера для хранения и ускоренного доступа к файлам небольшого объема, а NTFS и ReFS оптимизированы для больших массивов данных и быстрого доступа к ним на максимальной скорости считывания информации с жесткого диска.

Операции с файлами

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

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

Архивация данных

Среди специфичных функций в первую очередь можно выделить сжатие файлов и папок, называемое архивацией, а также обратный процесс – извлечение данных из архива. На момент разработки системы DOS создание архивных типов данных в основном сводилось к использованию стандарта ARJ.

Но с появлением технологий ZIP-архивирования такие процессы получили новое развитие. Впоследствии был создан и универсальный архиватор RAR. Эти технологии сейчас представлены в любой «операционке» даже без необходимости устанавливать дополнительное ПО. Файловая структура ОС операции с файлами в этом ракурсе трактуется как виртуальносжатие. По сути, технологии сжатия просто дают системе указание на то, чтобы она определяла не искомый размер, а меньший. Сам информационный объем файла или папки при архивации не меняется.

Управление отображением объектов

Понятия «файловая структура», «структура файла» и т. д. следует рассматривать еще и с точки зрения возможности видения самих объектов. Не секрет, что практически все пользователи современных ПК сталкивались с термином «скрытые файлы и папки».

Что это такое? Означает это только то, что в системе установлено ограничение на отображение некоторых объектов (например, системных файлов и папок, чтобы пользователь их случайно не удалил). То есть в физическом плане они с жесткого диска никуда не деваются, просто файловый менеджер их не видит.

Чтобы отобразить все скрытые объекты, в том же «Проводнике» следует использовать меню «Вид», где на соответствующей вкладке ставится галочка в строке отображения всех скрытых папок и файлов. После включения такого вида объекты будут иметь полупрозрачные иконки.

С поиском скрытых объектов тоже могут возникнуть трудности. При вводе имени файла или его расширения даже с указанием конкретного местоположения при отключенном отображении таких объектов результата не будет (система ведь не видит их). Для того чтобы их найти, нужно в начале и в конце имени корневой папки вводить символ %. Например, для поиска директории AppData, которая является скрытой и располагается в локальной папке настроек конкретного пользователя, следует использовать строку поиска %USERPROFILE%\AppData. Только в этом случае файл и файловая структура в целом получат ключ к взаимосвязи.

Заключение

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

Специально не рассматривались некоторые технические аспекты или классические определения, принятые в программировании и компьютерных технологиях, чтобы читателю материал был понятен на элементарном уровне.

fb.ru

Файловая структура (система). Представление о файле и каталоге

Методическая разработка урока

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

Данные – это любая информация. Данными можно назвать текст, рисунок, таблицу. Сохраняя определенные данные на диске, мы предполагаем, что когда-нибудь они нам понадобятся снова. Но как их потом найти? Необходимо знать, где были сохранены эти данные, а также имя, по которому к ним обращаться. Для сохранения адреса и имени области диска, где хранятся конкретные данные, было введено понятие файла. Итак, файл – это именованное место на диске для хранения данных определенного типа.

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

Часто каталоги называют также директориями или папками. Все три термина обозначают одно и тоже.

Получаем дерево?!

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

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

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

Каждому файлу – адрес!

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

На предыдущем рисунке можно видеть, что каталог less находиться в каталоге sasha. Тот в свою очередь в каталоге home, который находится непосредственно в корневом каталоге. Адрес записывается следующим образом: сначала пишется корневой каталог «/», и далее указываются каталоги, начиная с самого верхнего (родительского) и заканчивая самым нижним (дочерним), разделяемые между собой все тем же «/». В нашем примере адрес каталога less, будет выглядеть так: /home/sasha/less. Адрес и имя файла, формируют его полное имя. При этом следует запомнить правило: в операционной системе не может быть двух файлов (или каталогов) с одинаковыми полными именами.

Адресация, описанная выше, является абсолютной (т.е. адрес записывается, начиная с корневого каталога). Помимо абсолютной нередко используют относительную адресацию, где запись адреса начинается не с корневого каталога, а относительно текущего (того, который открыт в данный момент). Например, если мы, находясь в каталоге sasha, захотим перейти в каталог vaniy, то следует написать такой адресный путь: ../vaniy. Здесь две точки обозначают переход на уровень выше (в данном случае каталог /home). Если из каталога sasha потребуется перейти в каталог less, то достаточно будет указать просто имя этого каталога less; хотя более правильным будет такой вариант: ./less. Одна точка обозначает текущий каталог.

Файловый менеджер – ваш помощник

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


В графической оболочке GNOME по умолчанию таким менеджером/браузером является Nautilus. Запустить его можно через Главное меню (Приложения -> Система -> Обозреватель файлов) или другими способами.

Опишем структуру окна данного браузера и основные принципы навигации в нем.

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

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

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

Помимо Наутилуса существует много других файловых менеджеров. Например, в графической оболочке KDE по умолчанию им является Konqueror.

Навигация и создание файлов

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

Если понадобится переименовать объект, то это можно сделать следующими способами: выделить папку/файл, затем щелкнуть по нему левой кнопкой мыши (не путать с двойным кликом, когда щелчки происходят быстро друг за другом); выделить папку/файл, затем нажать на клавиатуре клавишу F2;

кликнуть папку/файл правой кнопкой мыши и в появившемся контекстном меню выбрать пункт Переименовать.

После любого из этих трех действий следует ввести новое имя файла и нажать Enter.

Практическая работа. Создание файлов и каталогов

Задание. Создайте в своем домашнем каталоге следующую файловую структуру.


Обозначения: эллипс – каталог, прямоугольник – файл.

Вопросы

  1. Почему файловую систему называют древовидной и иерархической?
  2. Что такое файл?
  3. Как обозначается корневой каталог в Linux? В каком каталоге по умолчанию содержатся каталоги пользователей?
  4. Что такое абсолютный адрес? относительный адрес? В каких случаях более уместно употреблять относительный адрес?

Выводы

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