Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OS.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
355 Кб
Скачать
☆

Директории fat, unix и ntfs.

  1. Фат

Фиксир размер каталога 32 байта. Содержит имя файла, его атрибуты, дату и время создания, номер начального блока и размер ф-ла в байтах(32 разряда). Остальные блоки файла(номера) в таблице размещения файлов (ФАТ)

  1. Нтфс

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

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

Надежность файловой системы.

- способность фс сохранять или восстанавливать данные, утерянные в результате сбоев.

Целостность файловой системы.

-взаимная непротиворечивость данных, включенных в состав фс

Типы сбоев.

-жесткие – из-за разрушения носителя данных

-мягкие – при неполадках в работе эвм, из-за перебоев питания

Средства и методы обеспечения целостности.

  1. обеспечение отказоустойчивости (резервирование, дублирование, зеркалирование оборудования и данных)

  2. обеспечение безопасного восстановления (резервное копирование и электронное архивирование информации).

Все средства на 3 группы:

  1. позволяющие уменьшить вред от нарушения целостности(порядок выполнения операций)

  2. позволяющие восстановить целостность(служебные программы-утилиты)

  3. предотвращающие нарушение целостности(обеспеч. Атомарности операций)

Алгоритмы восстановления целостности.

Определяются типом фс.

Пример для юникс – fsck

2 типа проверки непротиворечивости: блоков и файлов

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

если нет ни в одной таблице – потеряный блок. Включается в спис свободных

если 2жды встреч – его содержимое копир в свободн блок для замены неправильн ссылки. Блок, котор присутств в табл свободн и занят блоков исключается из списка свободн блоков

  1. структура каталогов

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

Предотвращение нарушений целостности.

Реализация файловых операций в виде транзакций.

Транзакция – последовательность операций, которая либо должна быть выполнена полностью, либо не выполняться совсем. Главн св-во транзакций – атомарность. Все операц. Протоколируются и если нужно выполняется откат.

Производительность файловой системы.

Задачи:

  1. уменьшение времени обращения к диску(оптимизация размещения данных на носителе)

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

Кэширование.

Хранение дисковых блоков в спец области памяти – буферном кэше

Проблема ограниченной ёмкости

Структура буферного кэша:

А. область данных

Б. заголовки буфера

1. номер устройства

2. номер блока

3. указатель на область данных

4. поле состояния

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

Для работы с буферным пулом ядро поддерживает список свободных буферов и хэш-таблицу для поиска

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

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

Кэш со сквозной записью – все модифиц блоки немедленно запис на диск

Чтение с продвижением – при чтении очередного блока из файла фс проверяет наличие в буф кэше следующего за ним блока и, если этого блока нет, считывает его с диска

Оптимизация перемещения блока головок.

Приёмы:

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

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

Реализация файловых операций в UNIX: открытие (создание) файла, чтение из файла, запись в файл, закрытие файла.

  1. Открытие

А) логич подсистема управления ф-лами преобразовывает полное имя ф-ла в номер индекса, просматривая соотв каталого фс. Затем ядро проверяет наличие соотв индекса в кэше

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

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

  1. Чтение

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

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

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

Г) значение текущей позиции увеличивается на реальное прочитанное число байт

  1. Запись

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

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

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

Г) значение текущей позиции увеличивается на реальное записанное число байт

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]