
- •4.3.3 Позиционно независимый код.
- •5.1.3 Операции над файлами
- •5.2.0 Монтирование файловых систем
- •5.3.1 Проблемы размещения, произвольный доступ.
- •5.4 Устойчивость к сбоям.
- •5.4.1 Восстановление фс после сбоя.
- •5.4.2 Фс с трассировкой транзакций.
- •5.4.3 Устойчивость фс к сбоям диска
- •6. Юзер апи.
- •6.1 Интерфейс Командной строки.
5.3.1 Проблемы размещения, произвольный доступ.
В наиболее простых ФС каждому файлу выделяется непрерывная область на диске, благодаря этому в каталоге достаточно хранить адрес первого блока файла и его длинну, так же измеренную в блоках. Если же порядок записи в каталоге совпадает с порядком файлов на диске, то началом файла будет окончание предыдущего файла. Свободным участком диска при этом так же соответствует запись в каталоге. При создании файла система ищет первый свободный участок подходящего размера, фактически это структура отличается от последовательной структуры на ленте (архиватор тар). Только тем, что каталог вынесен в начало диска и сущетствует понятие свободного участка внутри области данных. Но эта простая организация имеет недостатки – при создании файла программа должна сразу указать его длинну, часто это бывает затруднителеьно (пример: невозможно увеличить в размере уже созданный файл) 2 – при работе системы, создания – удаления файлов возникает проблема фрагментации свободного пространства. Специальные программы – дефрагментаторы требуют много времени для работы, особенно на больших дисках. Для того, чтобы решить обе эти проблемы необходимо позволить частям файла занимать несмежные области диска, наиболее простым решением было бы хранить в конце каждого блока файла указатель на следующий т.е превратить файл в связаный список блоков.
5.4 Устойчивость к сбоям.
Свойство устойчивости к сбоям питания явл. Одной из важных характеристик ФС. Строго говоря, имеется в виду устойчивость не только к сбоям питания, но и к любой ситуации, при которой работа ФС прекращается без выполнения операции размонтирования. Неожиданное прекращение работы с ФС может произойти не только при сбое питания, но и при – извлечении носителя (внезапном), внезапном нажатии кнопки ресет пользователем, аппаратном сбое и программном сбое. Хотя первое из перечисленных выше причин ( извлечение носителя ) не явл. Сбоем даже в самом широком смысле этого слова с точки зрения ФС, это мало чем отличается от сбоя. Интересный альтернаивный подход использовался в ЭВМ фирмы ЭППЛ. У этих машин дисковод не имел кнопки для извлечения СД-ДВД, выталкивание диска осуществлялось программно подачей соответствующей команды дисководу. Перед подачей такой команды ОС могла выполнить нормальное размонтирование ФС на удаляемом носителе. В узком смысле слово устойчивость означает лишь то, что такая ФС после аварийной ситуации необязательно нуждается в починке, такие ФС обеспечивают целостность собственных структур данных в случае сбоя, но и не гарантируют целостности пользовательских данных файлов. Но даже если ФС считается в этом смысле устойчивой, некоторые сбои для нее могут быть опасны. Напротив можно говорить об устойчивости в том смысле, что в ФС после сбоя гарантирована целостность пользовательских данных. Такую гарантию нельзя обеспечить только на уровне ФС, обеспечение такой целостности накладывает серьезные ограничения и на программы, работающие с данными и часто оказывается просто невозможно. Поддержание целостности структур ФС обычно гораздо важнее чем целостность недописанных в момент сбоя пользовательских данных, поэтому обеспечение целостности ФС при сбое уделяется гораздо больше внимания.