Смекни!
smekni.com

Файловая система 2 (стр. 1 из 3)

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

Лекция 4

• Введение

Файловая система - это часть ОС, обеспечивающей

- организацию хранения и доступа к информации на различных носителях

- пользовательский интерфейс при работе с данными

- совместное использование файлов несколькими пользователями и процессами.

2. Имена файлов
Файлы

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

- Для идентификации файлов используются имена.

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

2. Имена файлов
Переход от коротких имен файлов к длинным

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

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

2. Имена файлов
Символьные имена файлов

- Обычно разные файлы могут иметь одинаковые символьные имена.

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

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

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

- Уникальное имя представляет собой числовой идентификатор и используется программами операционной системы (inode в Unix).

3. Типы файлов

Файлы бывают разных типов:

- обычные файлы

- специальные файлы

- файлы-каталоги

3. Типы файлов
Обычные файлы

- Обычные файлы в свою очередь подразделяются на текстовые и двоичные.

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

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

3. Типы файлов
Специальные файлы

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

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

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

3. Типы файлов
Каталоги

- Каталог – это

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

- файл, содержащий системную информацию о группе файлов, его составляющих.

- В каталоге содержится список файлов, входящих в него, и устанавливается соответствие между файлами и их характеристиками (атрибутами).

3. Типы файлов
Каталоги

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

- информация о разрешенном доступе,

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

- владелец файла,

- создатель файла,

- признак "только для чтения",

- признак "скрытый файл",

- признак "системный файл",

- признак "архивный файл",

3. Типы файлов
Каталоги

- признак "двоичный/символьный",

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

- признак блокировки,

- длина записи,

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

- длина ключа,

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

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

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

3. Типы файлов
Каталоги

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

3. Типы файлов
Каталоги

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

- Иерархия каталогов может быть деревом или сетью.

- Каталоги образуют дерево, если файлу разрешено входить только в один каталог (MS-DOS), и сеть - если файл может входить сразу в несколько каталогов (UNIX)

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

3. Типы файлов
Каталоги

4. Логическая организация файла

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

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

4. Логическая организация файла

- Записи могут быть фиксированной длины или переменной длины.

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

- Для идентификации записи может быть использовано специальное поле записи, называемое ключом.

- В файловых системах ОС UNIX и MS-DOS файл имеет простейшую логическую структуру - последовательность однобайтовых записей.

4. Логическая организация файла

5. Физическая организация и адрес файла

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

- Файл состоит из физических записей - блоков.

- Блок - наименьшая единица данных, которой внешнее устройство обменивается с оперативной памятью.

5. Физическая организация и адрес файла

5. Физическая организация и адрес файла

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

- Для задания адреса файла в этом случае достаточно указать только номер начального блока.

- Другое достоинство этого метода - простота.

- Но имеются и два существенных недостатка:

- во время создания файла заранее не известна его длина, а значит не известно, сколько памяти надо зарезервировать для этого файла

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

5. Физическая организация и адрес файла

- Размещение в виде связанного списка блоков дисковой памяти (рисунок б ).

- В начале каждого блока содержится указатель на следующий блок.

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

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

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

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

5. Физическая организация и адрес файла

- Популярным способом, используемым, например, в файловой системе FAT операционной системы MS-DOS, является использование связанного списка индексов.

- С каждым блоком связывается некоторый элемент - индекс.

- Индексы располагаются в отдельной области диска (в MS-DOS это таблица FAT).

- Если некоторый блок распределен некоторому файлу, то индекс этого блока содержит номер следующего блока данного файла.

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

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

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

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

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

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

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

Список прав доступа к файлу может включать:

- создание файла,

- уничтожение файла,

- открытие файла,

- закрытие файла,

- чтение файла,

- запись в файл,

- дополнение файла,

- поиск в файле,

- получение атрибутов файла,

- установление новых значений атрибутов,

- переименование,

- выполнение файла,

- чтение каталога,

- и другие операции с файлами и каталогами.

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

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