Студопедия

КАТЕГОРИИ:


Архитектура-(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 . (4-2)

Последние изменения в файловой системе ОС UNIX

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

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

3. Использование не одного, а двух размеров блоков. Для файлов большого размера – блоки 1024 байт; для файлов маленького размера – 512 байт. Наличие блоков двух размеров позволяет обеспечивать эффективность операций чтениязаписи для больших файлов и эффективное использование дискового пространства для небольших файлов.

Индексный дескриптор файла в ОС UNIX. Таблица файлов. (6-2)

С каждым файлом в ОС UNIX связан индексный дескриптор. Это структура данных (64 байта), которая имеет следующие атрибуты:

· права доступа к файлу для владельца, группы и прочих;

· количество (счетчик) жестких ссылок;

· идентификатор владельца;

· идентификатор группы;

· размер файла в байтах;

· время последнего доступа к файлу;

· время последней модификации файла;

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

· системный номер индексного дескриптора файла;

· идентификатор файловой системы, в которой находится файл;

· тип файла;

· тип организации файла;

· физический адрес на диске (обычно указатель на начало);

· диспозиция файла.

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

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

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

Таблицы индексных дескрипторов содержатся в соответствующих файловых системах на диске, но ядро ОС UNIX ведет их копии и в ОП.

(Здесь же рассказать весь следующий вопрос!)

(Здесь обязательно рассказать про три момента: таблица файлов, таблица пользовательских дескрипторов, таблица индексных дескрипторов)

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

Когда процесс вызывает системный вызов open/creat чтобы открыть файл для чтения/записи, ядро преобразует имя файла в индексный дескриптор файла.

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

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

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

Значение счетчика ссылок индексного дескриптора файла увеличивается на единицу.

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

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

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

<== предыдущая лекция | следующая лекция ==>
Типы файлов в файловой системе ОС UNIX. Топология файловой системы. Последние изменения в файловой системе ОС UNIX. (18-2) | Физическая и логическая организация файловой системы ОС UNIX. (16-2)
Поделиться с друзьями:


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


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



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




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