Файловая система пк. Что такое файловая система

Структуры данных

Файловые системы

· Общее. В теории информатики определены следующие три основных типа структур данных – линейная, табличная, иерархическая. Пример книга: последовательность листов – линейная структура. Части, разделы, главы, параграфы – иерархия. Оглавление – таблица – связывает – иерархическую с линейной. У структурированных данных появляется новый атрибут - Адрес.

· Линейные структуры (списки, вектора). Обычные списки. Адрес каждого элемента однозначно определяется его номером. Если все элементы списка имеют равную длину – вектора данных.

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

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

· Упорядочение структур данных. Основной способ – сортировка . ! При добавлении нового элемента в упорядоченную структуру – возможно изменения адреса у существующих . Для иерархических структур – индексация – каждому элементу уникальный номер – который далее используется в сортировке и поиске.

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

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

Последовательность произвольного числа байтов,

Уникальное собственное имя (фактически – адрес).

Данные одного типа – тип файла.

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

Первая, в современном понимании, развитая файловая система была разработана фирмой IBM для ее серии 360 (1965-1966 годы). Но в нынешних системах она практически не применяется. Использовала списочные структуры данных (ЕС- том, раздел, файл) .

Большинство из Вас знакомо с файловыми системами современных ОС. Это прежде всего MS DOS, Windows, а некоторые с построением файловой системы для различных вариантов UNIX.

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



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

· Защита файлов . Системы управления файлами должны обеспечивать авторизацию доступа к файлам . В общем виде подход состоит в том, что по отношению к каждому зарегистрированному пользователю данной вычислительной системы для каждого существующего файла указываются действия, которые разрешены или запрещены данному пользователю. Существовали попытки реализовать этот подход в полном объеме. Но это вызывало слишком большие накладные расходы как по хранению избыточной информации, так и по использованию этой информации для контроля правомочности доступа. Поэтому в большинстве современных систем управления файлами применяется подход к защите файлов, впервые реализованный в ОС UNIX (1974). В этой системе каждому зарегистрированному пользователю соответствует пара целочисленных идентификаторов: идентификатор группы, к которой относится этот пользователь, и его собственный идентификатор в группе. Соответственно, при каждом файле хранится полный идентификатор пользователя, который создал этот файл, и отмечается, какие действия с файлом может производить он сам, какие действия с файлом доступны для других пользователей той же группы, и что могут делать с файлом пользователи других групп. Эта информация очень компактна, при проверке требуется небольшое количество действий, и этот способ контроля доступа удовлетворителен в большинстве случаев.

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

Файловая система ПК

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

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

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

Файловая система включает:

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

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

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

Каждая ОС имеет свою файловую систему.

Функции файловой системы:

Распределение дисковой памяти;

Присвоение имени файлу;

Отображение имени файла в соответствующий физический адрес во внешней памяти;

Обеспечение доступа к данным;

Защита и восстановление данных;

Типы файлов

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

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

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

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

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

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

Простое имя определяет файл в пределах одного каталога. Файла могут иметь одинаковые символьные имена, если они расположены в разных каталогах. «Много файлов – одно простое имя».

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

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

Если ОС поддерживает несколько устройств внешней памяти (жесткий диск, дисковод, CD ROM), то хранение файлов может быть организовано двумя способами:

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

2. Монтирование файловых систем (ОС UNIX). Пользователь имеет возможность объединить файловые системы, находящиеся на разных устройствах, в единую файловую систему, которая будет иметь единое дерево каталогов.

Атрибуты файлов – свойства, приписываемые файлу. Основные атрибуты – Только для чтения, Системный, Скрытый, Архивный.

Файловая система ОС должна предоставить пользователю набор операций для работы с файлами в виде системных вызовов. Этот набор включает системные вызовы: create (создать файл), read (читать), write (запись), close (закрыть) и некоторых других. При работе с одним файлом, как правило, выполняется не одна операция, а последовательность. Например, при работе в текстовом редакторе. Какая бы операция не выполнялась над файлом, ОС должна выполнить ряд универсальных для всех операций действий:

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

2. Скопировать характеристики файла в ОП;

3. На основании характеристик файла проверить права доступа на выполнение запрашиваемой операции (чтение, запись, удаление);

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

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

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

Принципы размещения файлов, каталогов и системной информации на конкретном устройстве внешней памяти называется Физической организацией файловой системы.

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

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

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

Имя файла состоит из двух частей: собственно имени и расшире­ния (типа). Тип может отсут­ствовать. Имя отделяется от типа символом точки. В ОС Windows файлам можно присваивать имена длиной до 255 символов. Тип указывает вид и назначение файла, некоторые из них являются стандартными, например:

· .СОМ и.ЕХЕ - исполняемые файлы;

· .ВАТ - командный пакетный файл;

· .ТХТ - текстовый файл произвольного типа;

· .MDB - файл базы данных Access;

· .XLS - электронная таблица Excel;

· .DOC - текстовый файл редактора Microsoft Word;

· .ZIP - упакованный файл архиваторов Winzip/PkZip.

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

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

На каждом физическом или логическом диске существует корневой (головной) каталог, который нельзя создать, удалить или переименовать средствами пользователя. Он обозначается символом ‘\’ (в некоторых операционных системах можно использовать также ‘/’). В головном каталоге могут быть зарегистрированы другие каталоги и файлы. Вложенные каталоги могут, в свою очередь, включать каталоги более низкого уровня. Такая структура называется иерархической системой или деревом каталогов, в котором главный каталог образует корень дерева, а остальные каталоги подобны ветвям.

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

Для того чтобы ОС могла обратиться к файлу, необходимо ука­зать:

· путь по дереву каталогов;

· полное имя файла.

Эта информация указывается в спецификации файла, которая имеет следующий формат:

[диск:][путь]имя файла[.тип]

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

Если диск не указан, то используется текущий диск. Текущий диск - это диск, с которым в настоящий момент работает опера­ционная система.

Путь -последовательность папок, которые необходимо пройти к искомому файлу. Имена в пути записываются в по­рядке уменьшения их старшинства и разделяются символом «\». Ката­лог, в который входит текущий каталог, называется родительским.

Довольно часто возникает необходимость обработать одной командой сразу несколько файлов. Например, удалить все файлы резервных копий, имеющие расширение BAK, или переписать несколько файлов-документов с именами doc1.txt, doc2.txt и т. д. В этих случаях используют специальные символы-маски , позволяющие описать одним именем группу файлов. Масок всего две:

· символ * в имени или расширении файла заменяет любое допустимое количество любых символов;

· символ? в имени или расширении файла заменяет любой символ или отсутствие символа.

Нашим примерам будут соответствовать маски *.bak (все файлы с расширением bak) и doc?.txt (все файлы с расширением txt и именем из 4 символов, начинающимся с doc).

Вопросы по теме, выносимые на зачет:

1. Определение ОС. Основные концепции ОС Windows (многозадачность, графический интерфейс пользователя, внедрение и связывание данных).

2. Графический интерфейс пользователя, его основные компоненты (окна, средства диалога, стандартное управление окнами и средствами диалога).

3. Работа с клавиатурой и «мышью» в Windows. Стандартные комбинации клавиш и операции с «мышью».

4. Работа с файлами и папками в Windows - основные операции и возможности. Программы «Мой компьютер» и «Проводник».

5. Поиск информации в Windows.

6. Создание ярлыков приложений и документов.

7. Панель управления и ее основные компоненты.

8. Обработка сбоев в Windows.

9. Настройка DOS-приложений под Windows.

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

Перечислим основные функции файловой системы.

1. Идентификация файлов. Связывание имени файла с выделенным ему пространством внешней памяти.

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

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

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

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

6. Обеспечение высокой производительности.

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

37. Простейшая таблица оглавления тома и её элементы

Файловая система включает в себя таблицу содержания и область данных – совокупность блоков на диске, идентифицируемых своими номерами / адресами. Пример простейшей (абстрактной) таблицы содержания, оглавления тома (диска, пакета дисков), которая в разных ОС имеет различные наименования – VTOC – Volume Table of Content(Таблица Содержания Тома), FAT – File Allocation Table (Таблица Размещения Файлов), FDT – File Definition Table (Таблица Определения Файлов) и т. п., приведена на рис. 1.

Рис. 1. Простейшая таблица оглавления тома

Она состоит из трех областей:

· область файлов. Это таблица, имеющая обычно ограниченное (в приведенном примере N =6) число строк N (в MS-DOS, например, N =500, т.е. число файлов не более 500). Количество столбцов M (в примере M= 5)обычно выбирается из тех соображений, чтобы 85 -95%файлом, создаваемых пользователем содержало бы не более М блоков, что зависит как от размера блока и типа пользователя, так и от общего уровня развития информационного и программного обеспечения. Первый столбец таблицы в каждой строке (заглавная запись – Title Record) содержит данные о файле, в данном примере – имя файла;

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

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

· список сбойных блоков. Это таблица, создаваемая при инициа­лизации (разметке) тома (диска), пополняемая программами диагностики (примером которых может служить хорошо изве­стный пользователям NDD - Norton Disk Doctor) и предот­вращающая распределение испорченных областей на магнит­ном носителе под файлы данных.

Перечислим особенности ситуации, зафиксированной на рис.1. в простейшей (искусственной) файловой системе.

File_l занимает 6 блоков, это число больше максимального, по­этому адрес блока № 6 (23) размещен в таблице переполнения;

File_2 занимает 2 блока, что меньше ограничения, поэтому вся информация сосредоточена в области файлов.

Имеются следующие конфликтные ситуации:

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

· File_4 и File_l ссылаются на блок № 3. Это ошибка, посколь­ку каждый блок должен быть закреплен за единственным фай­лом;

· в списке свободных блоков содержатся номера блоков № 12 (помеченный как сбойный) и № 13 (распределенный под File_1).

38. Логическая структура разделов диска на примере IBM- и MS-совместимых файловых систем


Логическими дисками D и E

Максимальное число первичных разделов- 4. Активный раздел тот, где находится системный загрузчик.

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

Запись расширенного раздела называют SMBR (Secondary Master Boot Record ). Отличие этой записи заключается в том, что она не имеет загрузчика, а таблица разделов состоит из двух записей: основной раздел и расширенный раздел.

39. Файловая система FAT. Структура тома FAT

40. Файловая система NTFS. Структура тома NTFS

41. Реестр ОС Windows

42. Операционные системы семейства Windows NT

43. Некоторые архитектурные модули Windows NT

44. Управление жесткими дисками в Windows NT

45. Проективные операционные системы, их принципы, преимущества, недостатки

46. Процедурные операционные системы, их принципы, преимущества, недостатки

47. История развития и идеология построения ОС Unix

48. Структура ОС Unix

49. Пользовательские интерфейсы Unix

50. Диспетчеризация процессов (задач) в Unix

51. ОС Linux и ее основные преимущества

52. Реализация графического режима в ОС Linux

53. Основные принципы работы в ОС Linux

54. Основные файлы конфигурации ОС Linux

55. Работа с дисковыми накопителями в ОС Linux

56. Приложения для ОС Linux

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

Файловая система

Одной из основных задач ОС является предоставление удобств пользователю при работе с данными, хранящимися на дисках. Для этого ОС подменяет физическую структуру хранящихся данных некоторой удобной для пользователя логической моделью, которая реализуется в виде дерева каталогов, выводимого на экран такими утилитами, как Norton Commander, Far Manager или Windows Explorer. Базовым элементом этой модели является файл , который так же, как и файловая система в целом, может характеризоваться как логической, так и физической структурой.

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

Файл – именованная область внешней памяти, предназначенная для считывания и записи данных.

Файлы хранятся в памяти, не зависящей от энергопитания. Исключением является электронный диск, когда в ОП создается структура, имитирующая файловую систему.

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

Файловая система включает:Файловая система включает:

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

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

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

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

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

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

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

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

Пример

Файловая система FAT (file allocation table) имеет множество реализаций как система управления файлами

  • Система, разработанная для первых ПК называлась просто FAT (сейчас ее называют просто FAT-12) . Ее разрабатывали для работы с дискетами, и некоторое время она использовалась для работы с жесткими дисками.
  • Потом ее усовершенствовали для работы с жесткими дисками большего объема, и эта новая реализация получила название FAT–16. это название используется и по отношению к СУФ самой MS-DOS.
  • Реализация СУФ для OS/2 называется super-FAT (основное отличие – возможность поддерживать для каждого файла расширенные атрибуты).
  • Есть версия СУФ и для Windows 9x/NT и т.д. (FAT-32).

Типы файлов

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

Обычные файлы могут быть двух типов:

  1. Программные (исполняемые) – представляют собой программы, написанные на командном языке ОС, и выполняют некоторые системные функции (имеют расширения.exe, .com, .bat).
  2. Файлы данных – все прочие типы файлов: текстовые и графические документы, электронные таблицы, базы данных и др.

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

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

Пример . Copy con text1 (работа с клавиатурой).

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

Файловая структура – вся совокупность файлов на диске и взаимосвязей между ними (порядок хранения файлов на диске).

Виды файловых структур:

  • простая , или одноуровневая : каталог представляет собой линейную последовательность файлов.
  • иерархическая или многоуровневая : каталог сам может входить в состав другого каталога и содержать внутри себя множество файлов и подкаталогов. Иерархическая структура может быть двух видов: «Дерево» и «Сеть». Каталоги образуют «Дерево», если файлу разрешено входить только в один каталог (ОС MS-DOS, Windows) и «Сеть» – если файл может входить сразу в несколько каталогов (UNIX).
  • Файловая структура может быть представлена в виде графа, описывающего иерархию каталогов и файлов:



Типы имен файлов

Файлы идентифицируются именами. Пользователи дают файлам символьные имена , при этом учитываются ограничения ОС как на используемые символы, так и на длину имени. В ранних файловых системах эти границы были весьма узкими. Так в популярной файловой системе FAT длина имен ограничивается известной схемой 8.3 (8 символов — собственно имя, 3 символа — расширение имени), а в ОС UNIX System V имя не может содержать более 14 символов.

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

Например, Windows NT в своей файловой системе NTFS устанавливает, что имя файла может содержать до 255 символов, не считая завершающего нулевого символа.

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

Символьные имена могут быть трех типов: простые, составные и относительные:

  1. Простое имя идентифицирует файл в пределах одного каталога, присваивается файлам с учетом номенклатуры символа и длины имени.
  2. Полное имя представляет собой цепочку простых символьных имен всех каталогов, через которые проходит путь от корня до данного файла, имени диска, имени файла. Таким образом, полное имя является составным , в котором простые имена отделены друг от друга принятым в ОС разделителем.
  3. Файл может быть идентифицирован также относительным именем . Относительное имя файла определяется через понятие «текущий каталог». В каждый момент времени один из каталогов является текущим, причем этот каталог выбирается самим пользователем по команде ОС. Файловая система фиксирует имя текущего каталога, чтобы затем использовать его как дополнение к относительным именам для образования полного имени файла.

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

Для файла 2.doc определить все три типа имени, при условии, что текущим каталогом является каталог 2008_год.

  • Простое имя: 2.doc
  • Полное имя: C:\2008_год\Документы\2.doc
  • Относительное имя: Документы\2.doc

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

Важной характеристикой файла являются атрибуты. Атрибуты – это информация, описывающая свойства файлов. Примеры возможных атрибутов файлов:

  • Признак «только для чтения» (Read-Only);
  • Признак «скрытый файл» (Hidden);
  • Признак «системный файл» (System);
  • Признак «архивный файл» (Archive);
  • Тип файла (обычный файл, каталог, специальный файл);
  • Владелец файла;
  • Создатель файла;
  • Пароль для доступа к файлу;
  • Информация о разрешенных операциях доступа к файлу;
  • Время создания, последнего доступа и последнего изменения;
  • Текущий размер файла;
  • Максимальный размер файла;
  • Признак «временный (удалить после завершения процесса)»;
  • Признак блокировки.

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

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

Права доступа к файлу

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

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

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

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



Просмотров