Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы СисПО.doc
Скачиваний:
14
Добавлен:
27.09.2019
Размер:
2.93 Mб
Скачать
  1. Управление файлами: общий принцип работы операционной системы с файлами

Общий принцип работы ОС с файлами

Под файлом понимают набор данных, организованных в виде совокупности записей одинаковой структуры

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

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

СУФ является основной подсистемой в абсолютном большинстве систем современных ОС.

Необходимость СУФ обуславливается:

  1. через СУФ связываются по данным все обрабатывающие программы;

  2. с помощью этой системы решается проблема централизованного распределения дискового пространства и управление данными;

  3. СУФ предоставляет пользователям возможности

– создание, удаление, переименование данных программ

– работа с недисковыми ПУ, как с файлами

– обмен данными между файлами, между устройствами, между файлами и устройствами

– защита файлов от несанкционированного доступа

– и другие

Функция управления файлами поясняется рисунком 1.

Рис. 1. К пояснению функции управления файлами

Каталог устанавливает соответствие логических имён файлов с их физическим местонахождением и может представить о файлах некоторую общую информацию.

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

Чтобы начать работу с файлами ОС просматривает каталог, определяет местонахождение соответствующей информационной таблицы. При открытии файла ОС в ОП создаёт буферы для размещения в них 2х блоков файлов, как правило использует способ двойной буферизации, показан на рисунке 2.

Рис. 2. Операции буферизации и объединения в блоки читаемых

и записываемых файлов

  1. Управление файлами: общая характеристика файловых систем (fat, fat32 и ntfs)

ФАЙЛОВЫЕ СИСТЕМЫ FAT, VFAT И FAT32

2.1. Файловая система fat

Аббревиатура FAT (file allocation table) расшифровывается как «таблица размещения файлов».

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

В файловой системе FAT логическое дисковое пространство любого логического диска делится на две области (рис. 3):

- системную область и

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

Рис. 3. Логическое дисковое пространство в файловой системе FAT

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

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

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

- загрузочной записи (boot record);

- зарезервированных секторов (reserved sector);

- таблицы размещения файлов (file allocation table);

- корневого каталога (root derectory).

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

Кластер представляет собой один или несколько смежных секторов в логическом дисковом адресном пространстве (точнее – только в области данных).

В таблице FAT кластеры, принадлежащие одному файлу (некорневому каталогу), связываются в цепочки. Для указания номера кластера в системе управления файлами FAT-16 используется 16-битовое слово, следовательно, можно иметь до 216 = 65536 кластеров (с номерами от 0 до 65535).

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

Файл или каталог занимает целое число кластеров. Последний кластер при этом может быть задействован не полностью, что приведет к заметной потере дискового пространства при большом размере кластера. На дискетах кластер занимает один или два сектора, а на жестких дисках – в зависимости от объема раздела (табл. 1).

Таблица 1.

Емкость раздела, Мб

Количество секторов в кластере

Размер кластеров, Кб

16-127

4

2

128-255

8

4

256-511

16

8

512-1023

32

16

1024-2047

64

32

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

Логическое разбиение области данных на кластеры как совокупности секторов взамен использования одиночных секторов имеет следующий смысл:

- прежде всего, уменьшается размер самой таблицы FAT;

- уменьшается возможная фрагментация файлов;

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

Однако слишком большой размер кластера ведет к неэффективному использованию области данных, особенно в случае большого количества маленьких файлов. В среднем на каждый файл теряется около половины кластера. Из таблицы следует, что при размере кластера в 32 сектора (объем раздела – от 512 Мбайт до 1023 Мбайт), то есть 16 Кбайт, средняя величина потерь на файл составит 8 Кбайт, и при числе файлов в несколько тысяч потери могут составлять более 100 Мбайт.

Поэтому в современных файловых системах размеры кластеров ограничиваются (обычно - от 512 байт до 4 Кбайт).

Основная идея файловой системы с использованием таблицы размещения файлов FAT иллюстрируется рис. 4.

Из этого рисунка видно, что файл с именем myfile.txt размещается начиная с восьмого кластера. Всего файл myfile.txt занимает 12 кластеров. Цепочка кластеров для нашего примера может быть записана следующим образом:

8, 9, 0А, 0В, 15, 16, 17, 19, 1А, 1В, 1С, 1D.

Кластер с номером 18 помечен специальным кодом F7 как плохой (bad), он не может быть использован для размещения данных. При форматировании обычно проверяется поверхность магнитного диска, и те секторы, при контрольном чтении с которых происходили ошибки, помечаются в FAT как плохие. Кластер 1D помечен кодом FF как конечный (последний в цепочке) кластер, принадлежащий данному файлу.

Рис. 4. Пример размещения файлов в FAT

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

Так как FAT используется при доступе к диску очень интенсивно, она обычно загружается в ОЗУ (в буфера ввода/вывода или кэш) и остается там настолько долго, насколько это возможно.

В связи с чрезвычайной важностью FAT она обычно хранится в двух идентичных экземплярах, второй из которых непосредственно следует за первым. Обновляются копии FAT одновременно. Используется же только первый экземпляр. Если он по каким-либо причинам окажется разрушенным, то произойдет обращение ко второму экземпляру.

Так, например, утилита проверки и восстановления файловой структуры scandisk.exe при обнаружении несоответствия первичной и резервной копии FAT предлагает восстановить главную таблицу, используя данные из копии.