Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Файловая система ОС ЮНИКС и ее структура




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

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

Файлы каталогов. Каталогами называются файлы, содержащие списки файлов. ОС UNIX обеспечивает существование системы каталогов. Программы пользователя могут читать файлы этого типа, но не в состоянии их изменить. Система гарантирует сохранность структуры каталогов. В каждый каталог могут входить обычные файлы, специальные файлы и поименованные конвейеры (FIFO). Каждый пользователь обладает каталогом, именуемым начальным. В вершине иерархии файловой системы располагается специальный каталог − корневой. Файловая структура операционной системы часто называется древовидной. Часть системы, которая ниже текущего каталога, называется текущим поддеревом. Для работы с поддеревьями в системе существует несколько специальных команд. Каталог, в котором пользователь находится в данный момент, называется текущим.

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

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

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

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

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

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

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

 

 

Корневой каталог

Текущий каталог и текущее поддерево заштрихованы

 

Рис. 8.7 Иерархическая файловая система ЮНИКС (UNIX)

 

а)

 

б)

Рис. 8.8. Файловая система а) − перед монтированием, б) − после монтирования

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

В некоторых операционных системах предполагается, что блоки файла размещаются последовательно, и тогда задаются номера начального и конечного блоков. Это неудобно, так как расширение файла ограничено двумя соседними, и возникает неизбежность потери дискового пространства из-за фрагментации. Применение в ЮНИКС (UNIX) списков блоков, занимаемых файлами, снимает проблему непрерывности файловых систем. Блоки файла могут быть физически разбросаны по диску, но логически они будут образовывать длинную цепочку, включающую весь набор данных. Ключом, защищающим весь набор файлов, служит список из 13 номеров блоков на диске, хранящихся в индексном дескрипторе.

 

Блок 0 Начальная загрузка
Блок 1 Суперблок
Блок 2 Индексные дескрипторы
Блок n
Блок n+1  
Последний блок

Рис. 8.9. Размещение файловой системы

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

Например, если файлу достаточно 4-х блоков, то первые 4 элемента списка включают соответствующие адреса, а остальные 9 заполнены нулями. Если же длина данных превышает 10 блоков, первые 10 элементов списка ссылаются на блоки файла, а 11-ый блок − на блок, где размещается список следующих 128 блоков. Этот блок называется косвенным. Для файлов, длина которых больше 138 блоков (70656 байтов), 12-ый элемент списка содержит адрес блока, включающего адреса 128 косвенных блоков. Такой блок называют двойным косвенным.

Если же файл длиннее, чем 16522 блока (8459264 байта), то в 13-ом элементе списка находится адрес тройного косвенного блока. Тогда максимальная длина файла в ОС UNIX 2113674 блока (1082201088 байт). Это длина информации, которая может адресоваться в данной системе. И хотя выбор информации из больших файлов сложнее, чем из малых (из-за промежуточных обращений к косвенным блокам), система позволяет использовать огромные наборы данных. Как всякий файл, каталог определяется своим индексным дескриптором. Каталог состоит из элементов по 16 байтов каждый, из которых 14 служат для имени и 2 − для номера индексного дескриптора файла. С точки зрения ядра этой ОС траектория, задаваемая полным именем файла, представляет собой переходы между каталогами и индексными дескрипторами. Все вышесказанное иллюстрирует схема на рис. 8.10.

 

 

 

Рис. 8.10. Адресация блоков файла блоком указателей индексных дескрипторов




Поделиться с друзьями:


Дата добавления: 2014-12-29; Просмотров: 456; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.