Конспект лекций для студентов специальности 5В070200 Автоматизация и управление Алматы 2015


Лекция №13. Файловые системы, их особенности и реализация



Pdf көрінісі
бет27/33
Дата13.03.2023
өлшемі0,92 Mb.
#73886
түріКонспект
1   ...   23   24   25   26   27   28   29   30   ...   33
Байланысты:
PXcdfzCNmVjtZ8sMK5nLG1UywOruSq

Лекция №13. Файловые системы, их особенности и реализация 
 
Цель: получить представление о структуре и основных характеристиках 
файловых систем, а также о принципах реализации и их архитектуре.
Файловая система - это часть операционной системы, назначение 
которой состоит в том, чтобы организовать эффективную работу с данными, 
хранящимися во внешней памяти, и обеспечить пользователю удобный 
интерфейс при работе с такими данными.
Общая структура файловой системы представлена на рисунке Б.1.
Нижний уровень - оборудование. Это в первую очередь магнитные диски с 
подвижными головками - основные устройства внешней памяти, 
представляющие собой пакеты магнитных пластин (поверхностей), между 
которыми на одном рычаге двигается пакет магнитных головок. Шаг 
движения пакета головок является дискретным, и каждому положению пакета 
головок логически соответствует цилиндр магнитного диска. Цилиндры 
делятся на дорожки (треки), а каждая дорожка размечается на одно и то же 
количество блоков (секторов) так, что в каждый блок можно максимально 
записать одно и то же число байтов. Следовательно, для обмена с магнитным 
диском на уровне аппаратуры нужно указать номер цилиндра, номер 
поверхности, номер блока на соответствующей дорожке и число байтов, 
которое нужно записать или прочитать от начала этого блока. Таким образом, 
диски могут быть разбиты на блоки фиксированного размера и можно 
получить доступ к любому блоку (организовать прямой доступ к файлам). 
Непосредственно с устройствами (дисками) взаимодействует система 
ввода-вывода, которая предоставляет в распоряжение файловой системы 
используемое дисковое пространство в виде непрерывной последовательности 
блоков фиксированного размера. Система ввода-вывода работает с 
физическими блоками диска, которые характеризуются адресом, например, 
диск 2, цилиндр 75, сектор 11. Файловая система имеет дело с логическими 
блоками, каждый из которых имеет номер от 0 (1) до N. Размер логических 
блоков файла совпадает или является кратным размеру физического блока 
диска и может быть задан равным размеру страницы виртуальной памяти, 
поддерживаемой аппаратурой компьютера совместно с ОС. 
В структуре системы управления файлами можно выделить базисную 
подсистему, которая отвечает за выделение дискового пространства 
конкретным файлам, и более высокоуровневую логическую подсистему
которая использует структуру дерева директорий для предоставления модулю 
базисной 
подсистемы 
необходимой 
ей 
информации, 
исходя 
из 
символического имени файла. Она также ответственна за авторизацию 
доступа к файлам. 
Непосредственное взаимодействие с диском осуществляется с помощью 
компонента системы ввода-вывода ОС, называемого драйвером диска. Чтобы 


51 
избавить пользователя от сложностей взаимодействия с аппаратурой, была 
придумана абстрактная модель файловой системы.
В ОС используются несколько методов выделения файлу дискового 
пространства, для каждого из которых запись в директории, 
соответствующая символьному имени файла, содержит указатель, следуя 
которому можно найти все блоки данного файла. Различают методы: 
1) выделение непрерывной последовательности блоков - каждый файл 
хранится как непрерывная последовательность блоков диска, при этом файл 
характеризуется адресом и длиной (в блоках). Файл, стартующий с блока b, 
занимает затем блоки b+1, b+2, ... b+n-1. Преимущества схемы: легко 
реализуется, так как достаточно определить, где находится первый блок; 
обеспечивает хорошую производительность, так как целый файл может быть 
считан за одну дисковую операцию. Недостатки: в зависимости от размера 
диска и среднего размера файла в большей или меньшей степени проявляется 
внешняя фрагментация; неприменим, если неизвестен максимальный размер 
файла; а поскольку содержимое диска изменяется, метод нерационален; 
2) связные списки - запись в директории содержит указатель на первый 
и последний блоки файла. Каждый блок содержит указатель на следующий 
блок (рисунок Б.2). Внешняя фрагментация для данного метода отсутствует. 
Любой свободный блок может быть использован для удовлетворения запроса. 
Не нужно декларировать размер файла в момент создания, файл может расти 
неограниченно. Недостатки: при прямом доступе к файлу выборка логически 
смежных записей, физически занимающих несмежные секторы, требует много 
времени; способ ненадежен, поскольку наличие дефектного блока в списке 
приводит к потере информации в оставшейся части файла и потенциально к 
потере дискового пространства, отведенного под файл. Метод обычно не 
используется в чистом виде; 
3) таблица отображения файлов - указатели хранятся в индексной 
таблице в памяти, которая называется таблицей отображения файлов (FAT - 
file allocation table). Запись в директории содержит только ссылку на первый 
блок. При помощи таблицы FAT можно локализовать блоки файла независимо 
от его размера. В тех строках таблицы, которые соответствуют последним 
блокам файлов, обычно записывается некоторое граничное значение, 
например, EOF. Достоинство: по таблице отображения можно судить о 
физическом соседстве блоков, располагающихся на диске, и при выделении 
нового блока можно легко найти свободный блок диска, находящийся 
поблизости от других блоков данного файла. Недостаток: необходимость 
хранения в памяти этой довольно большой таблицы; 
4) индексные узлы - с каждым файлом связывается таблица (индексный 
узел - i-node), которая перечисляет атрибуты и дисковые адреса блоков файла. 
Запись в директории, относящаяся к файлу, содержит адрес индексного блока. 
По мере заполнения файла указатели на блоки диска в индексном узле 
принимают осмысленные значения. Индексирование поддерживает прямой 
доступ к файлу, без ущерба от внешней фрагментации. Индексированное 


52 
размещение широко распространено и поддерживает как последовательный, 
так и прямой доступ к файлу. Обычно применяется комбинация 
одноуровневого и многоуровневых индексов. Схему используют файловые 
системы Unix, а также файловые системы HPFS, NTFS. Подход позволяет при 
фиксированном, относительно небольшом размере индексного узла 
поддерживать работу с файлами, размер которых может меняться от 
нескольких байтов до нескольких гигабайтов.
Дисковое пространство, не выделенное ни одному файлу, также должно 
быть управляемым. В современных ОС используется несколько способов 
учета используемого места на диске. Наиболее распространенные среди них: 
1) учет при помощи организации битового вектора - список 
свободных блоков диска реализован в виде битового вектора (bit map или bit 
vector). Каждый блок представлен одним битом, принимающим значение 0 
или 1, в зависимости от того, занят он или свободен. Преимущество: метод 
относительно прост и эффективен при нахождении первого свободного блока 
или n последовательных блоков на диске. Используется в Apple Macintosh; 
2) учет при помощи организации связного списка - в список 
связываются все свободные блоки, размещая указатель на первый свободный 
блок в специально отведенном месте диска, попутно кэшируя в памяти эту 
информацию. Недостаток: схема не всегда эффективна, поскольку для 
трассирования списка нужно выполнить много обращений к диску. 
Существуют и другие методы, например, свободное пространство 
можно рассматривать как файл и ввести для него индексный узел. 
Важную роль играет размер логического блока. В некоторых системах 
(Unix) он может быть задан при форматировании диска. Небольшой размер 
блока будет приводить к тому, что каждый файл будет содержать много 
блоков. Чтение блока осуществляется с задержками на поиск и вращение, 
поэтому файл из многих блоков будет читаться медленно. Большие блоки 
обеспечивают более высокую скорость обмена с диском, но из-за внутренней 
фрагментации снижается процент полезного дискового пространства.
Структура служебных данных типовой файловой системы на одном из 

Достарыңызбен бөлісу:
1   ...   23   24   25   26   27   28   29   30   ...   33




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет