Реферат на тему:


Воспользуйтесь поиском к примеру Реферат        Грубый поиск Точный поиск






Загрузка...
МИНИСТЕРСТВО ОБРАЗОВАНИЯ УКРАИНЫ

Министерство образования УКРАИНА

Черновицкого государственного университета

им. Ю. Федьковича

ФИЗИЧЕСКИЙ ФАКУЛЬТЕТ

Кафедра ЭВМ

файловой системе FAT

Курсовая работа по курсу "Архитектура ЭВМ"

Студент 3-го курса

Заньковський Ю.В.

Руководитель

Иванников А.В..

2002

файловой системе FAT

Содержание

Сохранение информации 2

Что хранится в таблице размещения файлов? 4

Как программа определяет формат FAT 5

Формат FAT. 5

FAT защищенного режима. 9

Операционные и файловые системы FAT 9

Сохранение информации.

Сразу после загрузочного сектора на логическом диске находятся сектора, содержащие таблицу размещения файлов FAT (File Allocation Table).

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

Магнитные ленты.

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

Если вы попытаетесь перезаписать файл, то это может привести к потере всех файлов, расположенных на магнитной ленте после него (этого файла).

Доступ к информации, записанной на магнитном диске, может выполняться или последовательным, либо прямым методом доступа. Использование прямого метода доступа позволяет позиционировать головки сразу на тот файл, который вам нужен (или нужную запись файла). Например, вы можете задать номер сектора на определенной дорожке и номер головки.

Но метод доступа это еще не все. Важное значение имеет способ распределения места на диске для файлов. От правильного выбора средства распределения зависит эффективность работы программ.

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

Операционные системы, такие как DOS, UNIX, OS / 2 используют дисковое пространство другим способом.

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

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

Как правило в операционных системах для сохранения этой информации используется таблица размещения файлов.

Весь диск разбивается операционной системой на участки одинакового размера, которые называются кластерами. Кластер может содержать несколько секторов. Для каждого кластера FAT имеет свою индивидуальную ячейку, в которой хранится информация об использовании данного кластера. Иными словами, таблица размещения файлов - это массив, содержащий информацию о кластерах. Размер этого массива определяется общим количеством кластеров на логическом диске. (Именно кластеров, а не секторов!).

Что хранится в таблице размещения файлов?

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

Утилиты операционной системы и некоторые специальные утилиты проверяют диск на предмет наличия дефектных областей. Кластеры, которые находятся в этих дефектных областях, отмечаются в FAT как плохие и не используются операционной системой.

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

Рассмотрим сначала два формата FAT - 12-битовый и 16-битный. Эти форматы используют, соответственно, 12 и 16 бит для хранения информации об одном кластере диска.

12-битный формат удобный для дискет с небольшим количеством секторов - вся таблица размещения файлов помещается в одном секторе. Если размер диска такой, что для представления всех секторов двенадцати разрядов недостаточно, можно увеличить размер кластера, например до восьми секторов. Однако большой размер кластера приводит к неэффективному использованию дискового пространства. Это происходит из-за того, что минимальный выделяемый файла элемент - кластер - имеет слишком большой размер. Даже для файла, имеет длину 1 байт выделяется целый кластер. Получается, если размер кластера составляет 8 секторов, то для сохранения одного байта будет использовано 4 килобайта дисковой памяти.

При использовании FAT 16-битного формата операционная система может работать с диском, имеет размер более 32 мегабайт. DOS версии 4.0 при использовании 16-битного формата FAT и кластеров размером 4 сектора может работать с разделами, которые по размеру достигают 134 мегабайта.

Как программа определяет формат FAT.

Для DOS версии 3.0 16-битовый формат используется, если размер диска превышает 4086 кластеров. Это число образовалось исходя из того, что в 12 разрядах может быть представлено максимальное число 4096, кроме того, значение, большие 0ff6, зарезервированы.

Для DOS версии 3.2 16-битовый формат FAT используется в том случае, когда размер диска превышает 20790 секторов (именно секторов, а не кластеров). Фактически это означает, что 16-битный формат используется только для дисков, имеющих размер более 10 мегабайт.

Сектор загрузочной записи (BOOT-сектор) диска, отформатированного в DOS версии 4.0 в поле со смещением 36h содержит висьмибайтовий строку, идентифицирует формат FAT. Она имеет вид "FAT12" или "FAT16". Можно использовать это поле для определения формата FAT. В структуре BOOT, описанной в файле sysp. h, это поле називаетcя fat_format.

Если рздилы на жестком диске создавались утилитой DOS FDISK, формат FAT можно определить, анализируя содержимое поля sys главной загрузочной записи (Master Boot Record). Если это поле содержит значение 1, используется 12-битный формат, если 4 - 16-битный. Однако диск, подготовленный программами диск-менеджеров, может иметь нестандартный для DOS формат таблицы разделов диска (Partition Table), и поле sys может содержать другие размеры, отличные от 1 и 4.

Формат FAT.

Первый байт FAT называется "Описатель среды" (Media Descriptor) или байт ID идентификации FAT. Он имеет такое же значение, как и байт-описатель среды, находящейся в BOOT-секторе логического диска.

Следующие 5 байтов для 12-битного формата или 7 байтов для 16-битного формата всегда содержат значение 0ffh.

Остальная часть FAT состоит из 12-битных или 16-битных ячеек, каждая ячейка соответствует одному кластеру диска. Эти ячейки могут содержать следующие значения: FAT12 FAT16

Что значит 000h0000h свободный кластер

ff0h - ff6hfff0h - fff6h зарезервирован кластер

ff7hfff7h плохой кластер

ff8h - fffhfff8h - ffffh последний кластер в списке

002h - fefh0002h - ffefh номер следующего кластера в списке.

Непосредственный доступ к FAT может понадобиться для организации сканирования каталогов для поиска нужных файлов; для чтения каталОгива в виде файлов; для организации защиты информации от несанкционированного копирования.

Общая схема использования FAT такова: Читаем FAT в памьять.Як уже отмечалось FAT располагается сразу после BOOT-сектора (логический сектор с номером 1). Для точного определения начального сектора FAT нужно прочитать в память BOOT-сектор и проанализировать содержимое блока параметров BIOS. В поле ressecs записано количество зарезервированных секторов, которые располагаются перед FAT. Поле fatsize содержит размер FAT в секторах. Кроме того, следует учитывать, что на диске может находиться несколько копий FAT. Операционная система использует только первую копию, другие нужны для утилит восстановления содержимого диска. Количество копий FAT находится в поле fatcnt BOOT-сектора. Затем необходимо определить номер первого кластера файла, для которого необходимо определить его расположение на диске. Используем номер первого кластера как индекс в FAT для получения номера такого кластера. Повторяем эту процедуру до тех пор, пока полученное с FAT значение не будет соответствовать концу файла.

Процедура извлечения номера кластера с FAT зависит от формата таблицы размещения файлов.

16-битную FAT можно представить как массив 16-битных чисел. Для определения номера следующего кластера надо просто получить 16-битное значение с FAT, использовав в качестве индекса номер предыдущего кластера.

Для 12-битной FAT процедура значительно сложнее.

Необходимо выполнить следующие действия:

Умножить номер начального кластера на 3.

Разделить результат на 2 (так как каждый элемент таблицы имеет длину 1.5 байта).

Прочитать 16-битное слово с FAT, используя в качестве смещения значение, полученное после деления на 2.

Если номер начального кластера четный, на выбранное из FAT слово надо наложить маску 0fffh, оставив младше 12 битов. Если номер начального кластера четный, выбранное из FAT значение необходимо сдвинуть вправо на 4 бита, оставив старшие 12 бит.

Полученный результат номер такогокластера в цепи, значение 0fffh соответствует концу цепи кластеров.

Файловая система {DOS} имеет древовидную структуру. В корневом каталоге располагаются 32-байтовые элементы, содержащие информацию о файлах и другие каталоги. Для чтения корневого каталога необходимо определить его расположение и размер.

Корневой каталог находится сразу за последней копией FAT. Количество секторов, занимающихся одной копией FAT, находится в блоке параметров BIOS в BOOT-секторе в поле fatsize, количество копий FAT - в поле fatcnt блока BPB. Итак, перед корневым каталогом находится один BOOT-сектор и (fatcnt _ _ fatsize) секторов таблицы размещения файлов FAT.

Размер корневого каталога можно определить исходя из значения поля rootsize. В этом поле при форматировании диска записывается максимальное количество файлов и каталогов, которые могут находиться в корневом каталоге. Для каждого элемента в каталоге выделяется 32 байта, поэтому корневой каталог имеет длину (32 _ _ rootsize) байтов.

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

Области логического диска Номер начального сектора на логическом диске

+ ---------------------- +

:: 0

: BOOT-сектор и

: зарезервированы

: сектора:

:

+ -------------------

:: ressecs - количество резервных

Первая копия FAT: секторов

+ -------------------

:: ressecs + fatsize

Вторая копия FAT

:

+ -------------------

:: ressecs + (fatsize fatcnt)

: Корневой каталог

:

+ -------------------

:: ressecs + (fatsize fatcnt) +

: Область данных: sectsize _ / _ (32 rootsize)

:

+ ------------------- +

FAT защищенного режима.

FAT защищенногорежима это стандартная файловая система, используемая Windows 95 для устройств массовой памяти, например, для дисководов и жестких дисков. FAT защищенного режима совместима с FAT MS-DOS и также сохраняет информацию о содержании диска на основе таблицы размещения файлов и записей в каталогах. Кроме того, FAT защищенного режима поддерживает длинные имена и сохраняет дату и время создания файла, а также дату последнего доступа.

В FAT защищенного режима допустимые имена файлов длиной до 256 символов, включая нулевой завершающим символ. В цьму плане она похожа с фйловою системой Microsoft Windows NT (NTFS), которая тоже работает с длиной файлов до 256 символов. Длина пути в FAT защищенного режима (без имени самого файла) может быть до 246 символов (сюда входят имя диска, две точки и обратной слэш). максимальное число символов в полном имени файлов (вместе с именем диска, двоеточие, путем и завершающим нулевым символом) равно 260.

Когда приложение создает файл или каталог с длинными именами, сичтема автоматически генерирует для него соответствующий псевдоним в стандартном формате "8.3", используя те символы, допустимые в FAT MS-DOS. к ним относят любые комбинации латинских букв, цифр и символов с ASCII-кодами более 127, а также пробел и специальные символы:

!% () _- @ `~ {} & amp; # ^ $ '

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

Windows 95 сохраняет регистр букв, указанных в длинных именах файлов. Но FAT защищенного режима, не учитывает регистр букв, и не позволит создать в одном каталоге двух файлов например с такими именами FileName и filename.

Операционные и файловые системы FAT.

Сегодня FAT явно не является самой совершенной из файловогох систем, хотя и поддерживается всеми ОС. Почти каждая операционная система предлагает собственные форматы, которые имеют преимущества в отношении сохранения данных, скорости доступа, использования об объема жесткого диска и т.п. Так, например, при применении Windows NT следует выбирать NTFS, если основными требованиями являются надежность и скорость. Правда при определенных обстоятельствах можно же заблокироваться, если из-за проблем в аппаратной части или в программном обеспечении окажется невозможным запустить эту операционную систему. К этим данным нельзя будет обратиться даже с помощью другой операционной системы.

В файловой системы FAT16 может обращаться практически любая ОС. Если создать первичный раздел в этом формате и если этот раздел имеет размер до 1 ГБ, то это лучшие условия для инсталляции нескольких различных операционных систем на одном ПК. Существующие разделы могут уменьшаться или делиться без потери данных только с помощью коммерческих вспомогательных программ, например Partition Magic.

Пользователь, желающий разместить на одном ПК произвольную комбинацию самостоятельно загружая систем DOS, Windows 95/98 i NT 4.0 с возможностью совместного доступа к массивам, не обойдется без FAT16. Правда, преимуществам совместного использования массивов данных и программ противостоят некоторые недостатки.

В традиционными версиями MS-DOS вплоть до версии 6,22 невозможно, например, иметь непосредственный доступ к файлам с длинными именами, которые используются Windows 95/98 или NT 4.0; такой доступ можно иметь только к файлам сокращенными до 8 символов именами MS-DOS и расширением из трех символов (формат 8.3). Если вы записываете, переносите или копируете в MS-DOS 6.22 и более ранних версиях файл, имеющий длинное им я, то такое им я обрезается до формата 8.3.

Еще более неприятным является то, что некоторые DOS или Windows-программы оптимизации файловой системы при использовании их в файловых системах Windows 95/98 или NT 4.0 вместо пользы приносят вред, так как запутывают таблицу размещения файлов и структуры каталогов (например,более старые версии Norton Disk Doctor). Таким образом, программы DOS, непосредственно манипулируют структурами директорий или FAT, применять на FAT16 нельзя.

Еще один недостаток файлового формата FAT16 максимальная емкость диска: с его использованием можно адресовать только 2047 МБ в одном разделе. К тому же эти чуть больше 2 ГБ используют еще несколько более памяти памяти поскольку FAT16 в этом случае размер кластеров в 32 КБ. Это становится заметным при большом количестве малых файлов. Даже очень малые файлы в любом случае занимают не менее 32КБ памяти памяти жесткого диска.

FAT32 поддерживается Windows 95 OSR2, Windows 98 и Linux (начиная с Kernel 2.0.34), а также будущей Windows NT5.0 файловая система FAT32 позволяет установить минимальный размер кластеров всего в 4КБ (вместо 32КБ) даже для дисков емкостью до 8 гбайт. FAT12 и FAT16 они также поддерживают. Старые версии Windows

Загрузка...

Страницы: 1 2