Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
В этом разделе вместо термина «кластер» будет использоваться термин «блок», как это принято в файловых системах UNIX.
Файловые системы s5 (получившие название от System V, родового имени нескольких версий ОС UNIX, разработанных в Bell Labs компании AT&T) и ufs (UNIX File System) используют очень близкую физическую модель. Это не удивительно, так как система ufs является развитием системы s5. Файловая система ufs расширяет возможности s5 по поддержке больших дисков и файлов, а также повышает ее надежность.
Расположение файловой системы s5 на диске иллюстрирует рис. 5.7.
Раздел диска, где размещается файловая система, делится на четыре области:
загрузочный блок;
суперблок (superblock) -содержит самую общую информацию о файловой системе - 8размер файловой системы, размер области индексных дескрипторов, число индексных дескрипторов, список свободных блоков и список свободных индексных дескрипторов, а также другую административную информацию;
область индексных дескрипторов (inode list) – содержит набор индексных дескрипторов, пронумерованных в порядке расположения их но-меров;
область данных, в которой расположены как обычные файлы, так и файлы-каталоги, в том числе корневой каталог; специальные файлы представлены в файловой системе только записями в соответствующих каталогах и индексными дескрипторами специального формата, но места в области данных не занимают.
|
Файловая
система
Рис. 5.7. Расположение файловой системы s5 на диске
Основной особенностью физической организации файловой системы s5 является отделение имени файла от его характеристик, хранящихся в отдельной структуре, называемой индексным дескриптором (inode).
Индексный дескриптор в s5 имеет размер 64 байта и содержит данные о типе файла, адресную информацию, привилегии доступа к файлу и некоторую другую информацию:
идентификатор владельца файла;
тип файла – файл обычного типа, каталог, специальный файл, а также конвейер или символьная связь;
права доступа к файлу;
временные характеристики: время – последней модификации файла, время последнего обращения к файлу, время последней модификации индексного дескриптора;
число ссылок на данный индексный дескриптор, равное количеству псевдонимов файла;
адресная информация (структура адреса рассмотрена выше в разделе «Физическая организация и адресация файла»);
размер файла в байтах.
Каждый индексный дескриптор имеет номер, который одновременно является уникальным именем файла. Индексные дескрипторы расположены в особой области диска в строгом соответствии со своими номерами. Соответствие между полными символьными именами файлов и их уникальными именами устанавливается с помощью иерархии каталогов. Система ведет список номеров свободных индексных дескрипторов. При создании файла ему выделяется номер из этого списка, а при уничтожении файла номер его индексного дескриптора возвращается в список.
Запись о файле в каталоге состоит всего из двух полей: символьного имени файла и номера индексного дескриптора. Например, на рис. 5.8 показана информация, содержащаяся в каталоге /user.
Файловая система не накладывает особых ограничений на размер корневого каталога, так как он расположен в области данных и может увеличиваться как обычный файл.
Имя | № индексного дескриптора |
Progl | |
firelights | |
doc_23.txt | |
glazing.txt | |
lambda_good |
Рис. 5.8. Структура каталога в файловой системе s5
Доступ к файлу осуществляется путем последовательного просмотра всей цепочки каталогов, входящих в полное имя файла, и соответствующих им индексных дескрипторов. Поиск завершается после получения всех характеристик из индексного дескриптора заданного файла.
Рассмотрим эту процедуру на примере файла /home/stud2/labrab.doc, входящего в состав файловой системы, изображенной на рис. 5.9.
Корневой каталог /
/home /bin /sys
/stud1
/stud2
/doc
/studn
labrab.doc
otchet.doc
Корневой каталог Каталог /home Каталог /home/stud2
. | 2 |
.. | |
home | |
bin | |
sys |
. | |
.. | |
stud1 | |
stud2 | |
: : | : : |
studn |
. | |
.. | |
doc | |
labrab.doc | |
otchet.doc |
Рис. 5.9. Поиск адреса файла по его символьному имени
. – текущий каталог;.. – родительский каталог
Определение физического адреса этого файла включает следующие этапы.
1. Прежде всего просматривается корневой каталог с целью поиска первой составляющей символьного имени - home. Определяется номер
(в данном примере - 11) индексного дескриптора каталога, входящего в корневой каталог. Адрес корневого каталога известен системе.
2. Из области индексных дескрипторов считывается дескриптор с номером 11. Начальный адрес дескриптора определяется на основании известных системе номера начального сектора области индексных дескрипторов и размера индексного дескриптора. Из индексного дескриптора 11 определяется физический адрес каталога /home.
3. Просматривается каталог /home с целью поиска второй составляющей символьного имени stud2. Определяется номер индексного дескриптора каталога /home/stud2 (в данном случае - 36).
4. Считывается индексный дескриптор 36, определяется физический адрес /home/stud2.
5. Просматривается каталог /home/stud2, определяется номер индексного дескриптора файла labrab.doc (в данном случае - 131).
6. Из индексного дескриптора 131 определяются номера блоков данных, а также другие характеристики файла /home/stud2/labrab.doc.
Эта процедура требует в общем случае нескольких обращений к дис-ку – пропорционально числу составляющих в полном имени файла. Для уменьшения среднего времени доступа к файлу его дескриптор копируется в специальную системную область оперативной памяти. Копирование индексного дескриптора входит в процедуру открытия файла.
Физическая организация файловой системы ufs отличается от описанной физической организации файловой системы s5 тем, что раздел состоит из повторяющейся несколько раз последовательности областей «загруз-
чик - суперблок - блок группы цилиндров - область индексных дескрипторов» (рис. 5.10).
Загрузочный блок |
Суперблок |
Блок группы цилиндров |
Список inode |
Блоки данных |
Суперблок |
Блок группы цилиндров |
Список inode |
Блоки данных |
Рис. 5.10. Физическая организация файловой системы ufs
В этих повторяющихся последовательностях областей суперблок является резервной копией основной первой копии суперблока. При повреждении основной копии суперблока может быть использована резервная копия суперблока. Области же блока группы цилиндров и индексных дескрипторов содержат индивидуальные для каждой последовательности значения. Блок группы цилиндров описывает количество индексных дескрипторов и блоков данных, расположенных на данной группе цилиндров диска. Такая группировка делается для ускорения доступа, чтобы просмотр индексных дескрипторов и данных файлов, описываемых этими дескрипторами, не приводил к слишком большим перемещениям головок диска.
Кроме того, в ufs имена файлов могут иметь длину до 255 символов (кодировка ASCII, по одному байту на символ), в то время как в s5 длина имени не может превышать 14 символов.
Дата публикования: 2014-11-03; Прочитано: 1342 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!