Физическая организация и адресация файлов
Физическая организация файла описывает правила расположения файла на устройстве внешней памяти, в частности на диске. Файл состоит из физических записей - блоков. |
Физическая организация файла а - непрерывное размещение; б - связанный список блоков; в - связанный список индексов; г - перечень номеров блоков |
Непрерывное размещение - простейшая схема создания файла – использовать подряд идущие сектора дисковой системы. Такая система легко реализуется, и весь файл прочитывается за одну операцию ввода-вывода.
Проблема – большая фрагментация дисковой системы, при работе. И ограничения по размеру файла. Используется для CD-ROM – iso9660.
Связанный список из сегментов или кластеров дисковой системы. Первое слово каждого сегмента указывает на следующий. В остальной части хранятся данные. В каталоге достаточно хранить только адрес первого блока файла. При удалении тоже можно просто удалить этот адрес.
Проблема – долгая операция поиска нужного блока данных в файле.
Связанный список с хранением индексов в памяти.
FAT – специальная таблица индексов сегментов дисковой системы образующих файлы и каталоги загружается в оперативную память. Скорость доступа увеличивается, но расходуется память
Недостаток – вся таблица должна храниться в оперативной памяти. Для 20 Гб диска это составит 60-80 Мб
I-узлы
Связывание сегментов через узлы – специальные индексные файлы с полной информацией о файле. Тогда в памяти достаточно держать только информацию об этих узлах. Размер такой таблицы значительно меньше FAT, поскольку при I-node содержат информацию обо всех файлах, а FAT – информацию о всех сегментах дисковой системы.
Обычные файлы
Операционные системы зачастую никак не ограничивают и не контролируют содержимое и структуру обычного файла. Обычно это ASCII или бинарные файлы. Содержимое обычного файла определяется приложением, которое с ним работает. Все операционные системы должны уметь распознавать хотя бы один тип файлов - их собственные исполняемые файлы. Вид исполняемого файла
Исполняемый файл UNIX имеет 5 разделов: заголовок, начинающийся с «магического числа» (идентифицирующего файл как исполняемый), с адрес исполнения файла (точка входа в реальном режиме работы памяти), текст программы и данные программы (они загружаются в оперативную память), биты релокации (адрес загрузки в виртуальной памяти) и таблицу символов (используется для отладки работы программы).
Второй файл – файл архива, он состоит из откомпилированных готовых процедур и заголовков к ним. Эти процедуры используются при компиляции исполняемого файла.
Каждая ОС должна распознавать свои исполняемые файлы, для этого используются «магические числа», поскольку в случае запуска исполняемого файла другой ОС, скорее всего система рухнет.
Современные файлы, используют как последовательный доступ, так и произвольный доступ к данным. Последний помогает нескольким процессам получать информацию из одного файла.
У каждого файла в операционной системе есть атрибуты – это дополнительная информация, которая помогает ОС управлять ими. Например, флаг архивации используется ОС чтобы создавать резервную копию файла, скрытый – не показывать файл при просмотре, временный – удалять файл после окончания работы процесса. Текущий размер файла- позволяет отслеживать изменения для восстановления в случае краха процесса.
Операции с файлами
1. Create
2. Delete
3. Open
4. Close
5. Read
6. Write
7. Append
8. Seek
9. Get Attributes
10. Set Attributes
11. Rename
Файлы, отображаемые в адресном пространстве виртуальной памяти. ОС с сегментной виртуальной памятью поддерживают отображение файлов через предоставление файлам выделенных сегментов виртуальной памяти. С одной стороны это удобно, поскольку тогда с файлом можно работать как с таблицей памяти, но
С одной стороны удобно, поскольку не используются операции ввода-вывода, но:
- размеры файлов превышают виртуальное пространство.
- трудно определить длину файла.
- адресное пространство одного процесса не доступно другому
КАТАЛОГИ
Основная функция каталога преобразовать символьное имя файла в информацию о первом блоке или Inode файла.
Простейшая форма хранения файлов – собрать их в один каталог, который называется – корневым каталогом. Преимущества корневого каталога – простота реализации и скорость нахождения файла.
Проблема – нельзя использовать одинаковые имена.
Двух уровневые каталоги – если каталоги могут быть сами представлены файлами – их можно поместит в другой каталог. Таким образом, использую 2 типа файлов – каталоги и файлы можно построить двухуровневую ФС, если каталоги можно помещать только в корневой каталог, либо древовидную структуру, если в любой каталог можно помещать файл-каталог.
Иерархические каталоги содержат специальные файлы возврата в каждом каталоге. Это «..» - для перемещения вверх по иерархии и «.» для текущего каталога. Такой подход позволяет экономить время пользователя при переходе из каталога в каталог.
Дата добавления: 2018-09-24; просмотров: 233;