Автор работы: Пользователь скрыл имя, 06 Декабря 2010 в 19:40, Не определен
FAT, NTFS
На физическом уровне файловая система определяет номер физического блока, который содержит требуемую логическую запись, и смещение логической записи в физическом блоке. Для решения этой задачи используются результаты работы логического уровня - смещение логической записи в файле, адрес файла на внешнем устройстве, а также сведения о физической организации файла, включая размер блока. Подчеркнем, что задача физического уровня решается независимо от того, как был логически организован файл.
После определения номера физического блока, файловая система обращается к системе ввода-вывода для выполнения операции обмена с внешним устройством. В ответ на этот запрос в буфер файловой системы будет передан нужный блок, в котором на основании полученного при работе физического уровня смещения выбирается требуемая логическая запись.
2.2 Современные архитектуры файловых систем
Разработчики новых операционных систем стремятся обеспечить пользователя возможностью работать сразу с несколькими файловыми системами. В новом понимании файловая система состоит из многих составляющих, в число которых входят и файловые системы в традиционном понимании.
Новая
файловая система имеет многоуровневую
структуру (рисунок 2.2), на верхнем уровне
которой располагается так называемый
переключатель файловых систем (в Windows
95, например, такой переключатель называется
устанавливаемым диспетчером файловой
системы - installable filesystem manager, IFS). Он обеспечивает
интерфейс между запросами приложения
и конкретной файловой системой, к которой
обращается это приложение. Переключатель
файловых систем преобразует запросы
в формат, воспринимаемый следующим уровнем
- уровнем файловых систем.
Рис. 2.2. Архитектура современной файловой системы
Каждый компонент уровня файловых систем выполнен в виде драйвера соответствующей файловой системы и поддерживает определенную организацию файловой системы. Переключатель является единственным модулем, который может обращаться к драйверу файловой системы. Приложение не может обращаться к нему напрямую. Драйвер файловой системы может быть написан в виде реентерабельного кода, что позволяет сразу нескольким приложениям выполнять операции с файлами. Каждый драйвер файловой системы в процессе собственной инициализации регистрируется у переключателя, передавая ему таблицу точек входа, которые будут использоваться при последующих обращениях к файловой системе.
Для выполнения своих функций драйверы файловых систем обращаются к подсистеме ввода-вывода, образующей следующий слой файловой системы новой архитектуры. Подсистема ввода вывода - это составная часть файловой системы, которая отвечает за загрузку, инициализацию и управление всеми модулями низших уровней файловой системы. Обычно эти модули представляют собой драйверы портов, которые непосредственно занимаются работой с аппаратными средствами. Кроме этого подсистема ввода-вывода обеспечивает некоторый сервис драйверам файловой системы, что позволяет им осуществлять запросы к конкретным устройствам. Подсистема ввода-вывода должна постоянно присутствовать в памяти и организовывать совместную работу иерархии драйверов устройств. В эту иерархию могут входить драйверы устройств определенного типа (драйверы жестких дисков или накопителей на лентах), драйверы, поддерживаемые поставщиками (такие драйверы перехватывают запросы к блочным устройствам и могут частично изменить поведение существующего драйвера этого устройства, например, зашифровать данные), драйверы портов, которые управляют конкретными адаптерами.
Большое
число уровней архитектуры
В
ходе инициализации драйвер
Внесенная в цепочку вызова процедура драйвера может решить передать запрос дальше - в измененном или в неизмененном виде - на следующий уровень, или, если это возможно, процедура может удовлетворить запрос, не передавая его дальше по цепочке.
3. Виды файловых систем
3.1 Файловая система FAT
Большинство существующих на сегодняшний день файловых систем построены на основе таблицы размещения файлов (File Allocation Table - FAT), которая содержит дорожки данных в каждом кластере на диске. Существует несколько типов файловой системы FAT - FAT 12, FAT 16 и FAT 32. Они отличаются количеством цифр, используемых в таблице размещения файлов. Другими словами, в FAT 32 используется 32-разрядное число для хранения дорожки данных в каждом кластере, в FAT 16 - 16-разрядное число и т.д. В настоящее время существуют следующие типы файловой системы FAT:
Файловые системы
FAT 12 и FAT 16 изначально применяются в DOS
и Windows и поддерживаются практически всеми
известными на сегодняшний день операционными
системами. Большинство персональных
компьютеров поставляется с жесткими
дисками, на которых установлена одна
из файловых систем FAT.
Файловая система FAT 32 поддерживается
операционной системой Windows 95 и более поздними
версиями, а также Windows 2000.
Для обеспечения пользовательским приложениям
доступа к файлам независимо от типа используемого
диска в операционной системе предусмотрено
несколько структур. Эти структуры поддерживаются
системами Windows и представлены ниже в порядке
расположения на диске:
Информация о
каждом разделе сохраняется в
загрузочном секторе раздела (или
логического диска) в начале каждого
раздела. Существует также основная таблица
списка разделов, помещенная в загрузочный
сектор главного раздела.
Загрузочный сектор
главного раздела (или главная загрузочная
запись (Master Boot Record - MBR)) является первым
сектором на жестком диске (цилиндр 0, головка
0, сектор 1) и состоит из двух элементов.
Загрузочный
сектор - это первый сектор на любом
логическом диске DOS. Например, на дискете
или на диске Zip это самый первый физический
сектор, так как дискету нельзя разбить
на разделы и она имеет только один логический
диск. На жестком диске загрузочный сектор
(секторы) располагается в начале каждого
раздела, не являющегося дополнительным,
или в начале любой области диска, распознаваемой
как логический диск DOS.
Эти секторы немного похожи на загрузочные
секторы разделов, так как содержат таблицы
со специальной информацией о логическом
диске.
Загрузочный сектор дискеты загружается ROM BIOS, а при загрузке системы с жесткого диска MBR передает управление загрузочному сектору активного раздела. В обоих случаях загрузочный сектор логического диска получает управление. Он выполняет некоторые проверки и затем пытается прочитать с диска первый системный файл (в DOS/Windows это файл Io.sys). Загрузочный сектор не виден, так как находится вне области хранения файлов логического диска.
Каталог - это база данных, содержащая информацию о записанных на диске файлах. Каждая запись в ней имеет длину 32 байт, и между записями не должно быть никаких разделителей. В каталоге сохраняется практически вся информация о файле, которой располагает операционная система.
Информация
о расположении файла, т.е. расположении
оставшихся кластеров, содержится в FAT.
Все каталоги имеют одинаковую структуру.
Записи в этой базе данных сохраняют важную
информацию о файлах, которая связана
с информацией, хранящейся в FAT, посредством
одного из полей записи - номера первого
занимаемого файлом кластера на диске.
Если бы все файлы на диске не превышали
размеров одного кластера, потребности
в FAT вообще бы не возникло. В FAT содержится
информация о файле, отсутствующая в каталоге,
- номера кластеров, в которых расположен
весь файл.
Таблица
размещения файлов (FAT) содержит номера
кластеров, в которых расположены файлы
на диске. Каждому кластеру в FAT соответствует
одно число. Секторы, не содержащие пользовательских
данных (файлов), не отражены в FAT. К таким
секторам относятся загрузочные секторы,
таблицы размещения файлов и секторы корневого
каталога.
В файловой системе FAT дисковое пространство
разбивается не на секторы, а на группы
секторов, которые называются кластерами
(ячейками размещения). Кластер содержит
один или несколько секторов. Размер кластера
определяется при делении диска на разделы
с помощью программы Fdisk и зависит от размера
создаваемого раздела. Наименьший размер
диска, который может занимать файл ненулевого
размера, - один кластер. Каждый файл использует
целое число кластеров. Например, если
файл занимает на один байт больше размера
кластера, то для его размещения на диске
будет выделено два кластера.
FAT - это электронная таблица, управляющая
распределением дискового пространства.
Каждая ячейка этой таблицы связана с
определенным кластером на диске. Число,
содержащееся в этой ячейке, сообщает
о том, использован ли данный кластер под
какой-либо файл и, если использован, где
находится следующий кластер этого файла.
Область данных диска - это область, следующая за загрузочным сектором, таблицами размещения файлов и корневым каталогом на любом логическом диске. Эта область контролируется с помощью FAT и корневого каталога и делится на ячейки размещения, называемые кластерами. В этих кластерах и располагаются сохраняемые на диске файлы.
Ошибки в файловой системе появляются скорее из-за программных, нежели из-за аппаратных сбоев (например, при неверном завершении работы Windows).