Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционные системы_лекции.doc
Скачиваний:
47
Добавлен:
28.09.2019
Размер:
1.71 Mб
Скачать

6.3. Обзор файловых систем

6.3.1. Файловая система fat16, fat32 и vfat

Файловые системы FAT16, VFAT и FAT32 получила своё название по основному элементу этих файловых систем – таблице размещения файлов (File Allocation Table). Все три файловых системы предполагают разбивку диска на секторы и объединение нескольких секторов, идущих друг за другом, в кластеры. FAT16 является 16-разрядной файловой системой, позволяющей обращаться к 216 кластерам.

Файловая система FAT16 использовала формат имени файла 8.3: 8 символов отводилось для имения и 3 символа для расширения имени файла. Это достаточно жёсткое ограничение усугублялось ограниченным набором символов, допускавшихся для образования имени файла и его расширения.

Поэтому в операционных системах Windows 95 и NT, а затем и в исходных версиях Windows 2000 и XP появились файловые системы VFAT (виртуальная FAT) и FAT32. Файловая система VFAT поддерживает длинные имена файлов и совместима со стандартной системой FAT16. Совместимость обеспечивается наличием специальных утилит. Недостатком VFAT являются большие потери на кластеризацию и ограничения на размер логического диска. FAT32 является самостоятельной 32-разрядной файловой системой, наиболее совершенной из описываемых трёх систем.

Во всех трёх файловых системах пространство логического диска делится на системную область и на область данных. Обязательным элементом всех трёх систем является загрузочная запись, расположенная в начале диска (табл. 6.2). Она состоит из блока параметров диска (BDP) и системного загрузчика (SB). Во всех трёх файловых системах присутствуют каталоги и файлы, которые описываются как файловый объект. Структуры файловых объектов в системах FAT16, VFAT и FAT32 показаны на рис. 6.2.

Таблица 6.2. Структура загрузочной записи

FAT32

Содержимое

Безусловный переход на системный загрузчик

Системный идентификатор

Размер сектора, байт

Число секторов в кластере

Число зарезервированных секторов

Число копий FAT-таблицы

0000h

0000h

Дескриптор носителя

0000h

Число секторов на дорожке

Число рабочих поверхностей

Обозна­чение поля

Jmp 3Eh

SectSize

ClstSize

ResSecs

FATcnt

RootSize

TotSecs

Media

FATSize

TrcSecs

HeadCnt

Длина поля, байт

3

8

2

1

2

1

2

2

1

2

2

2

FAT16

Содержимое

Безусловный переход на системный загрузчик

Системный идентификатор

Размер сектора, байт

Число секторов в кластере

Число зарезервированных секторов

Число копий FAT-таблицы

Максимальное число элементов корневого каталога

Число секторов на логическом диске объёмом до 32 Мбайт, иначе 0000h

Дескриптор носителя

Размер FAT в секторах

Число секторов на дорожке

Число рабочих поверхностей

Обозна­чение поля

Jmp 3Eh

CectSize

ClastSize

ResCecs

FATcnt

RootSize

TotSecs

Media

FATsize

TrcSecs

HeadCnt

Длина поля, байт

3

8

2

1

2

1

2

2

1

2

2

2

Смеще­­­ние, байт

00h

03h

0Bh

0Dh

0Eh

10h

11h

13h

15h

16h

18h

1Ah

Таблица 6.2. (продолжение)

FAT32

Содержимое

Число скрытых секторов

Число секторов на логическом диске

Число секторов в таблице FAT

Расширенные флаги

Версия файловой системы

Номер первого кластера корневого каталога

Номер сектора с резервной копией загрузочного сектора

Зарезервировано

Системный загрузчик

* Том –логическое дисковое пространство, состоящее из одного или нескольких разделов, которое может быть воспринято файловой системой как один логический диск

Обозна­чение поля

HidnSecs

Длина поля, байт

4

4

4

2

2

4

2

12

FAT16

Содержимое

Число скрытых секторов

Число сектров на логическом диске до 32 Мбайт

Тип диска (00h – FDD, 80h – HDD)

Зарезервирован

Маркер с кодом 29h

Серийный номер тома

Метка тома*

Имя файловой системы

Системный загрузчик

Сигнатура (слово AA44h)

Обозна­чение поля

HidnSecs

Длина поля, байт

4

4

1

1

1

4

11

4

8

2

Смеще­­­ние, байт

1Ch

20h

24h

25h

26h

27h

28h

2Ah

2Bh

2Ch

34h

36h

3Eh

1Feh

31

Структура каталога для короткого имени FAT16

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

Структура каталога для короткого имени FAT132

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

Структура каталога для длинного имени VFAT и FAT32

6 – 11 символы имения файла в кодировке Unicode

31

Рис. 6.2. Структура файлового объекта

30

30

29

29

28

28

27

Номер начального кластера

Младшее слово номера начального кластера

0000h

27

26

26

25

Дата последней записи

Дата последней записи

6 – 11 символы имения файла в кодировке Unicode

25

24

24

23

Время последней записи

Время последней записи

23

22

22

21

Зарезервировано

Старшее слово номера начального кластера

21

20

20

19

Дата последнего доступа

19

18

18

17

Дата создания файла

17

16

16

15

Время создания файла

15

14

14

13

Контрольная сумма

13

12

Зарезервировано

Зарезервировано

12

11

Атрибуты

Атрибуты

Атрибуты

11

10

Имя файла в формате 8.3 (имя – 8 символов, расширение – 3 символа)

Имя файла в формате 8.3 (имя – 8 символов, расширение – 3 символа)

1 – 5 символы имени файла в кодировке Unicode

10

9

9

8

31

7

30

6

29

5

28

4

27

3

26

2

25

1

24

0

23

На рис. 6.3 показана структура логического диска в системе FAT16. В этой файловой системе системная область создаётся при форматировании диска и включает в себя:

  • загрузочную запись BR (Boot Record), структура которой приведена в табл. 6.2;

  • зарезервированных секторов Rsec (Reserved Sectors);

  • двух копий (основной и резервной) таблицы размещения файлов FAT1 и FAT2;

  • корневого каталога диск Rdir (Root Directory).

Рис. 6.3. Структура логического диска в FAT16

Таблицы размещения файлов содержат в себе:

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

  • перечень адресов свободных областей дискового пространства;

  • перечень адресов дефектных областей диска.

Область данных содержит обычные файлы и файлы-каталоги. В отличие от системной области область данных доступна через элементы пользовательского интерфейса операционной системы. Она разбита на кластеры, включающие в себя от 4 до 64 секторов и имеющие размеры в пределах 2 – 4 Кб. Размеры кластеров зависят от ёмкости раздела физического диска, отведённого под логический диск. Разбивка области на кластеры выполняется в следующих целях:

  • уменьшение таблицы FAT;

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

  • ускорение доступа к файлу.

Однако выделение для файла целых кластеров приводит к потерям дискового пространства в среднем по половине кластера на файл.

Описание файловых объектов приведено на рис. 6.2. Размещение файлов на диске показано на рис. 6.4.

Рис. 6.4. Описание файла и кластеры области данных, отведённых под файл

Кластеры с номерами 00 – 1В показаны прямоугольниками. Номера кластеров стоят над их обозначениями. Символы "00" указывают, что кластеры свободны. Символы "F7" внутри обозначения 18-о кластера указывает, что этот кластер дефектный.

Номер начального кластера файла указан в описании. Файл расположен в двух цепочках кластеров 08, 09, 0А, 0В и 15, 16, 17, 18, 19, 1А, 1В. Числа внутри обозначений этих кластеров размещаются после данных, записанных в кластер, и указывают номера последующих кластеров в цепочке. В конце последнего кластера в цепочке стоит код FF – указывающий на завершение файла.

Для обращения к кластеру используется 16-разрядное слово. Отсюда и появилось число 16 в обозначении файловой системы. Вариант файловой системы super-FAT применяется в операционной системе OS/2.

VFAT является файловой системой поддерживающей длинные имена. Её основным недостатком являются большие потери на кластеризацию. От этого недостатка в значительной мере свободна FAT32, которая является самостоятельной 32-разрядной файловой системой, и имеет следующие особенности:

  • применение для адресации кластеров 28 бит из 32 позволяет адресовать 228 кластеров, поэтому кластеры в этой файловой системе имеют меньший размер, и потери дискового пространства на кластеризацию меньше, чем в FAT16 и VFAT;

  • возможность использования резервной копии таблицы FAT вместо стандартной;

  • представление корневого каталога как обычной цепочки кластеров и, как следствие, возможность перемещения корневого каталога и снятие ограничения на размер корневого каталога;

  • расширенная загрузочная запись, позволяющая создавать резервные копии критически важных структур данных и, как следствие повышенная устойчивость дисков FAT32 к нарушениям структуры таблицы FAT;

  • использование для представления длинных имён файлов элементов каталогов, в т.ч. и корневого.

Поддержка длинных имен в системах VFAT и FAT32 проиллюстрирована на рис. 6.2. Имена файлов записываются в кодировке Unicode. Имя файла разделено на три части, содержащие 1 – 5, 6 – 11 и 12 – 13 символы. В описании файлового объекта с длинным именем отсутствуют даты и время создания файла, последней записи в файл, последнего доступа к файлу, а также сведения о номере начального кластера. Сведения о начальном номере кластера и отсутствущие данные о файле операционная система может взять из описания файлового элемента с коротким именем.