- Логическая организация файла
- Национальная библиотека им. Н. Э. Баумана Bauman National Library
- Персональные инструменты
- Файловая система
- Содержание
- Общие понятия
- Принципы организации файловых систем
- Логическая организация файла
- Набор записей постоянной длины
- Набор записей переменной длины
- Физическая организация файла
- Непрерывное размещение
- Связанный список блоков
- Связанный список индексов
- Перечень номеров блоков
- Общая организация файловой системы
- ОС WINDOWS
- ОС UNIX
Логическая организация файла
Программист имеет дело с логической организацией файла, представляя файл в виде определенным образом организованных логических записей. Логическая запись — это наименьший элемент данных, которым может оперировать программист при обмене с внешним устройством. Даже если физический обмен с устройством осуществляется большими единицами, операционная система обеспечивает программисту доступ к отдельной логической записи. На рисунке 2.33 показаны несколько схем логической организации файла. Записи могут быть фиксированной длины или переменной длины. Записи могут быть расположены в файле последовательно (последовательная организация) или в более сложном порядке, с использованием так называемых индексных таблиц, позволяющих обеспечить быстрый доступ к отдельной логической записи (индексно-последовательная организация). Для идентификации записи может быть использовано специальное поле записи, называемое ключом. В файловых системах ОС UNIX и MS-DOS файл имеет простейшую логическую структуру — последовательность однобайтовых записей.
Рис. 2.33. Способы логической организации файлов
Физическая организация и адрес файла
Физическая организация файла описывает правила расположения файла на устройстве внешней памяти, в частности на диске. Файл состоит из физических записей — блоков. Блок— наименьшая единица данных, которой внешнее устройство обменивается с оперативной памятью.
Критерии эффективности
- скорость доступа к данным
- V адресной информации
- степень фрагментированности дискового пространства
- Максимально возможный размер файла
Непрерывное размещение — простейший вариант физической организации (рисунок 2.34,а), при котором файлу предоставляется последовательность блоков диска, образующих единый сплошной участок дисковой памяти. Для задания адреса файла в этом случае достаточно указать только номер начального блока. Другое достоинство этого метода — простота. Но имеются и два существенных недостатка. Во-первых, во время создания файла заранее не известна его длина, а значит не известно, сколько памяти надо зарезервировать для этого файла, во-вторых, при таком порядке размещения неизбежно возникает фрагментация, и пространство на диске используется не эффективно, так как отдельные участки маленького размера (минимально 1 блок) могут остаться не используемыми.
Размещение в виде связанного списка блоков дисковой памяти (рисунок 2.34,б ). При таком способе в начале каждого блока содержится указатель на следующий блок. В этом случае адрес файла также может быть задан одним числом — номером первого блока. В отличие от предыдущего способа, каждый блок может быть присоединен в цепочку какого-либо файла, следовательно фрагментация отсутствует. Файл может изменяться во время своего существования, наращивая число блоков. Недостатком является сложность реализации доступа к произвольно заданному месту файла: для того, чтобы прочитать пятый по порядку блок файла, необходимо последовательно прочитать четыре первых блока, прослеживая цепочку номеров блоков. Кроме того, при этом способе количество данных файла, содержащихся в одном блоке, не равно степени двойки (одно слово израсходовано на номер следующего блока), а многие программы читают данные блоками, размер которых равен степени двойки.
Рис. 2.34. Физическая организация файла
а — непрерывное размещение; б — связанный список блоков;
в — связанный список индексов; г — перечень номеров блоков
В файловой системе FAT операционной системы MS-DOS, является использование связанного списка индексов. С каждым блоком связывается некоторый элемент — индекс. Индексы располагаются в отдельной области диска (в MS-DOS это таблица FAT). Если некоторый блок распределен некоторому файлу, то индекс этого блока содержит номер следующего блока данного файла. При такой физической организации сохраняются все достоинства предыдущего способа, но снимаются оба отмеченных недостатка: во-первых, для доступа к произвольному месту файла достаточно прочитать только блок индексов, отсчитать нужное количество блоков файла по цепочке и определить номер нужного блока, и, во-вторых, данные файла занимают блок целиком, а значит имеют объем, равный степени двойки.
В заключение рассмотрим задание физического расположения файла путем простого перечисления номеров блоков, занимаемых этим файлом. ОС UNIX использует вариант данного способа, позволяющий обеспечить фиксированную длину адреса, независимо от размера файла. Для хранения адреса файла выделено 13 полей. Если размер файла меньше или равен 10 блокам, то номера этих блоков непосредственно перечислены в первых десяти полях адреса. Если размер файла больше 10 блоков, то следующее 11-е поле содержит адрес блока, в котором могут быть расположены еще 128 номеров следующих блоков файла. Если файл больше, чем 10+128 блоков, то используется 12-е поле, в котором находится номер блока, содержащего 128 номеров блоков, которые содержат по 128 номеров блоков данного файла. И, наконец, если файл больше 10+128+128(128, то используется последнее 13-е поле для тройной косвенной адресации, что позволяет задать адрес файла, имеющего размер максимум 10+ 128 + 128(128 + 128(128(128.
UFS
|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14| 15 полей
первые 12 заполняются непосредственной адресацией
В этих полях находятся номера блоков где находятся файл
512*12=6 кб, если файл до 6 кб, если больше, то следующее поле это ссылка на новую запись в которой можно поместить до 1 Мб, если больше, то 2 косвенная адресация и тд.
Права доступа к файлу
Определить права доступа к файлу— значит определить для каждого пользователя набор операций, которые он может применить к данному файлу. В разных файловых системах может быть определен свой список дифференцируемых операций доступа. Этот список может включать следующие операции:
получение атрибутов файла,
установление новых значений атрибутов,
и другие операции с файлами и каталогами.
В самом общем случае права доступа могут быть описаны матрицей прав доступа, в которой столбцы соответствуют всем файлам системы, строки — всем пользователям, а на пересечении строк и столбцов указываются разрешенные операции (рисунок 2.35). В некоторых системах пользователи могут быть разделены на отдельные категории. Для всех пользователей одной категории определяются единые права доступа. Например, в системе UNIX все пользователи подразделяются на три категории: владельца файла, членов его группы и всех остальных.
Рис. 2.35. Матрица прав доступа
Различают два основных подхода к определению прав доступа:
избирательный доступ, когда для каждого файла и каждого пользователя сам владелец может определить допустимые операции;
мандатный подход, когда система наделяет пользователя определенными правами по отношению к каждому разделяемому ресурсу (в данном случае файлу) в зависимости от того, к какой группе пользователь отнесен.
Источник
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
Файловая система
Фа́йловая систе́ма (англ. file system ) — порядок, определяющий способ организации, хранения и именования данных на носителях информации в компьютерах, а также в другом электронном оборудовании: цифровых фотоаппаратах, мобильных телефонах и т. п. Файловая система определяет формат содержимого и способ физического хранения информации, которую принято группировать в виде файлов. Конкретная файловая система определяет размер имен файлов и (каталогов), максимальный возможный размер файла и раздела, набор атрибутов файла. Некоторые файловые системы предоставляют сервисные возможности, например, разграничение доступа или шифрование файлов.
Содержание
Общие понятия
Назначение файловой системы — обеспечение интерфейса к данным на накопителях. Цель — организация хранения и доступа.
Состав файловой системы
- Совокупность файлов.
- Набор структур данных управления (каталоги, дескрипторы, таблицы).
- Функции управления (создание объекта ФС, уничтожение, чтение, запись).
Каждый файл характеризуется своим уникальным именем. Чтобы упростить имена используются разрешения.
Для FAT16 правило 8.3: имя файла может состоять из 12 символов (8 — основная часть, и 3 символа расширения).
При копировании в файловой системе файлов производится преобразование имен.
Путь в файловой системе — для однозначной идентификации объекта.
- Текстовые.
- Двоичные.
- Специальные (связанные с аппаратными устройствами).
- Файлы, через которые описываются каталоги (директор).
- Системные.
- Архивные.
- Только для чтения.
- Скрытые.
- Время создания
- Временные
Типы иерархической структуры
- Дерево: узлы — объекты файловой системы, показана их вложенность; корень — точка, в которой начинается файловая система.
- Сеть: в отличие от дерева один объект может присутствовать в разных директориях.
С понятием файловые системы связаны следующие технологии:
Принципы организации файловых систем
Логическая организация файла
Описывает то, как выглядит файл для работающих с ним приложений. Файл рассматривается как набор записей. Выделяют следующие подходы к хранению файлов:
Набор записей постоянной длины
Последовательное хранение логических записей фиксированного размера.
Набор записей переменной длины
Для любой записи тут в начале (конце) должна указываться длина.
Физическая организация файла
Описывает, как файл может размещаться на носителе. Выделяют следующие способы размещения:
Непрерывное размещение
Непрерывное размещение (подряд блок за блоком).
- простота реализации
- скорость доступа (все данные подряд, поэтому не надо перемещать носитель головки).
- фрагментация
- место на носителе распределяется неэффективно.
Связанный список блоков
Пространство разбивается на нужные разделы. В каждый блок помещается ссылка на следующий. В последнем блоке стоит метка, что он последний. Уходим от фрагментации, но теряем в производительности. Также в каждом блоке часть места расходуется на указатели.
Связанный список индексов
Популярным способом, используемым, например, в файловой системе FAT операционной системы MS-DOS, является использование связанного списка индексов. С каждым блоком связывается некоторый элемент — индекс. Индексы располагаются в отдельной области диска (в MS-DOS это таблица FAT). Если некоторый блок распределен некоторому файлу, то индекс этого блока содержит номер следующего блока данного файла. При такой физической организации сохраняются все достоинства предыдущего способа, но снимаются оба отмеченных недостатка: во-первых, для доступа к произвольному месту файла достаточно прочитать только блок индексов, отсчитать нужное количество блоков файла по цепочке и определить номер нужного блока, и, во-вторых, данные файла занимают блок целиком, а значит имеют объем, равный степени двойки.
Перечень номеров блоков
Для хранения адреса файла выделено 13 полей. Если размер файла меньше или равен 10 блокам, то номера этих блоков непосредственно перечислены в первых десяти полях адреса. Если размер файла больше 10 блоков, то следующее 11-е поле содержит адрес блока, в котором могут быть расположены еще 128 номеров следующих блоков файла. Если файл больше, чем 10+128 блоков, то используется 12-е поле, в котором находится номер блока, содержащего 128 номеров блоков, которые содержат по 128 номеров блоков данного файла. И, наконец, если файл больше 10+128+128*128, то используется последнее 13-е поле для тройной косвенной адресации, что позволяет задать адрес файла, имеющего размер максимум 10+ 128 + 128*128 + 128*128*128.
Общая организация файловой системы
ОС WINDOWS
В ОС Windows наиболее распространенной на сегодняшний день является файловая система NTFS, заменившая устаревшую файловую систему FAT. Именно файловую систему NTFS лучше всего использовать на сегодняшний день. Чтобы жесткий диск можно было использовать в компьютере, его необходимо подготовить, отформатировать в выбранную файловую систему. Программа форматирования создает на жестком диске компьютера структуру в соответствии с правилами файловой системы Windows после чего диск становится виден в операционной системе и его можно использовать. Форматирование жесткого диска осуществляется силами операционной системы или сторонней программы. При этом выбирается тип файловой системы жесткого диска, размер кластера и способ форматирования.
Кластер — упрощенно, минимальная ячейка на жестком диске для хранения информации, эдакая коробочка для хранения файлов. Кластер имеет вполне конкретные стандартизованные размеры равные 512 байт раньше и 4 096 байт в настоящее время. В одном кластере хранится только один файл, если он меньше размера кластера, то все равно занимает весь кластер. Когда файл не помещается целиком в одном кластере, то он записывается кусочками по разным кластерам, необязательно соседним. Поскольку размеры файлов крайне редко кратны размеру кластера, то на диске файлы практически всегда занимают больше места, чем их реальный размер. Чтобы было понятнее, возьмем для наглядности такой пример. Есть 9 кирпичей, из них 3 белых и 6 красных, а в контейнер помещается только 5 кирпичей одного типа. Чтобы хранить наши кирпичи нам понадобится 3 контейнера, хотя емкость двух контейнеров 10 кирпичей. Вот наглядная иллюстрация, как это происходит.
В файловой системе компьютера происходит точно также. В этом легко убедиться, если кликнуть правой кнопкой мыши по файлу и выбрать свойства.
Файл размером 6 байт занимает в файловой системе жесткого диска 4 096 байт, т.е. один кластер. Соответственно маленький размер кластера больше подходит для хранения маленьких файлов, а большой размер кластера для хранения больших. Тогда место на диске будет использоваться более рационально. Так же происходит и с ярлыками.
Структура файловой системы Windows
Первоначально, вся информация в виде файлов записывалась в файловую систему Windows в одну кучу, однако с ростом количества информации и емкости дисков это стало очень неудобно. Попробуйте найти нужную вам вещь в коробке, среди десятков других. Выходом из этой ситуации стало создание древовидной структуры папок (директорий или каталогов) сильно облегчающих структурирование и поиск информации. Внутри каталога создаются подкаталоги, и файлы группируются по логическому принципу удобному пользователю.
Дальнейший рост емкости дисков привел к следующему очевидному шагу, разбить один физический носитель информации на несколько логических разделов (дисков). Логически выделенная часть смежных блоков на диске называется раздел (partition). Такая структура файловой системы применяется в настоящее время в операционной системе Windows.
Это позволяет упростить структурирование информации, повысить надежность хранения данных за счет разделения системных и пользовательских файлов, более гибко управлять правами доступа к файлам, увеличить скорость дисковых операций. Каждый созданный логический диск воспринимается операционной системой, как независимый, хотя фактически он виртуален. Благодаря этому каждому разделу жесткого диска можно назначить произвольную файловую систему или настроить размер кластера, а так же иметь несколько операционных систем на одном компьютере.
Первый физический сектор жесткого диска отведен для хранения главной загрузочной записи (MBR), необходимой для начальной загрузки операционной системы, а так же хранит таблицу разделов.
Разделы бывают двух видов: первичный (основной) и дополнительный (расширенный). В первом секторе основного раздела располагается загрузочный сектор, обеспечивающий загрузку ОС с данного раздела жесткого диска. Всего на физическом диске может быть четыре раздела и только один из них расширенный. Дополнительный раздел представляет собой оболочку для любого количества других логических разделов. Это позволяет обойти ограничение, только четыре раздела на физическом диске.
Вот и все, что мы хотели рассказать о файловой системе компьютера в операционной системе Windows.
Все данные в компьютере хранятся в файлах (file – с англ. документ). Каждый файл имеет название, которое состоит из двух частей: имя(позволяет идентифицировать конкретный документ); расширение(характеризует тип документа, необязательный параметр). Длина имени вместе с расширением может содержать до 256 символов, имя от расширения отделяется точкой (расширением считаются символы после последней встречающейся точки). В имени и расширении файла нельзя использовать символы «?», «*», «:», «\», «/», « » и символ кавычек. В операционной системе MS-DOSфайлы с расширениями <.com, .exe, .bat>– исполняемые, <.txt, .doc>– текстовые, <.pas, .bas, .c, .for>– тексты программ на языках программирования: Паскаль, Бейсик, Си, Фортран соответственно, <.mdb>– файл базы данных. Windows различает прописные и строчные буквы при создании файла, но игнорирует регистр при обращении к файлу. Для нахождения файла не из текущей папки необходимо указать путь к нему. Путь – это последовательность продвижения от текущей папки или диска по ветвям дерева к нужному файлу. Имена папок на этом пути разделяются символом «\», а выход на один уровень вверх – «..». Если путь начинается с символа «\», то движение начинается от текущего диска, в противном случае – от текущей папки. Для указания нескольких файлов, объединенных по какому-либо признаку, в операционной системе используют специальные символы “*” и “?”. Символ «*» заменяет в имени или расширении файла любое количество произвольных символов, а «?» – любой символ, но только один. . docили *.doc– все файлы в текущей папке, обладающие расширением .doc. . doc– файлы с именем длиной не более трех символов и расширением .doc, с. doc–все файлы с именем, начинающимся с символа “с”, длиной не более трех символов и расширением .doc. Папки (каталоги)– элементы иерархической структуры, необходимые для обеспечения удобного доступа к файлам. Файлы объединяются в папки по признаку, заданному пользователем (по типу, по назначению, по принадлежности и т.п.) Папки низких уровней вкладываются в папки более высоких уровней и являются для них вложенными. Верхним уровнем вложенности иерархической структуры является корневой каталог диска. Все папки образуют древовидную структуру. Самой главной папкой (папкой верхнего уровня) является Рабочий стол. В нее вложены папки:Мой компьютер,Сетевое окружениеиКорзина. Мой компьютерсодержит все ресурсы данного компьютера, позволяет иметь доступ ко всем дискам, папкам и файлам в компьютере, содержит средства настройки и управления и т.д. Сетевое окружениепозволяет иметь доступ ко всем ПК и серверам, подключенным к ЛВС (Локальной Вычислительной Сети). Корзинапредназначена для временного хранения удаленных файлов, папок, ярлыков, позволяет восстановить объекты, удаленные по ошибке. Все ограничения, существующие для имен файлов, распространяются на имена папок, причем в имени папки расширение, как правило, отсутствует. Диски в Windows также считаются папками. Все современные дисковые ОС обеспечивают создание файловой системы, предназначенной для хранения данных на дисках и обеспечения доступа к ним. Принцип организации файловой системы – табличный. Поверхность жесткого диска рассматривается как трехмерная матрица. Ее измерения: номер поверхности; номер цилиндра; номер сектора. Данные о месторасположении хранятся в системной области диска в специальных таблицах размещения файлов (FAT-таблицах). Сектор– наименьшая единица хранения данных (512 байт). Кластер– наименьшая единица адресации к данным (размер не фиксирован, зависит от емкости диска). Windows 98 обеспечивает совершенную организацию файловой системы – FAT32 с 32-разрядными полями в таблице размещения файлов. Функции обслуживания файловой структуры: запуск программ и открытие документов; создание файлов и присвоение им имен; создание папок (каталогов) и присвоение им имен; переименование файлов и папок (каталогов); копирование и перемещение файлов между дисками компьютера и между папками (каталогами) одного диска; удаление файлов и папок (каталогов); навигация по файловой структуре с целью доступа к заданному файлу, папке (каталогу); управление атрибутами файлов.
ОС UNIX
Состоит из двух компонент:
- иерархия файлов и директорий
- набор файлов устройств, логических томов или разделов.
Для файловой системы UNIX характерна операция монтирования. Монтирование – установление ассоциаций между именами файловой иерархии и устройствами. Оно происходит в два этапа:
- монтирование корневой директории
- монтирование остальной ФС в точке монтирования согласно таблице монтирования.
Источник