Файл: Введение 3 Жесткие диски 3 Конструкция hdd 3.doc

ВУЗ: Не указан

Категория: Реферат

Дисциплина: Не указана

Добавлен: 28.04.2024

Просмотров: 43

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Введение

Жесткие диски

Конструкция HDD

Логическая структура диска

Файловые системы Файловая система (File System) - это способ организации хранения информации на каком-либо носителе (обычно магнитном, оптическом или флэш-диске) в виде набора файлов. Понятие файл (file) можно определить как набор логически связанных между собой данных, пригодных для хранения на долговременных носителях информации и с точки зрения человека выступающих как единое целое. Файлы могут содержать текстовые документы, исходные и машинные коды программ, мультимедийную информацию и т.д. Внутренняя структура файлов может быть произвольной, важно лишь, что с «внешней» точки зрения каждый файл можно рассматривать как единое целое.Каждый файл обязательно имеет имя, с помощью которого файлы отличаются друг от друга. Длина имени и символы, которые могут в него входить, равно как и максимальная длина файла зависят от того, какая файловая система применяется для хранения файлов (см. ниже). Файл имеет также набор атрибутов, дополнительно характеризующих его и оговаривающих возможные способы его использования. Информация обо всех файлах, хранящихся на данном носителе, собрана в специальные структуры данных, организация которых зависит от типа файловой системы. В большинстве современных файловых систем набор сведений о файлах называется каталогом (directory, иногда catalogue). В большинстве современных операционных систем каталоги могут образовывать древовидную иерархию.Программное обеспечение, реализующее ту или иную файловую систему, в общем случае выполняет такие функции, как выделение на носителе (например, диске) места под файлы и под служебную информацию о них, поиск файлов по заданным критериями, защиту файлов от несанкционированного доступа и т.п. Как правило, программное обеспечение, реализующее файловую систему, логически интегрировано в состав операционной системы, поэтому с точки зрения прикладной программы последняя работает с файлами через сервисы, предоставляемые операционной системой. В мире существовали и существуют сотни файловых систем, однако лишь сравнительно небольшое их количество широко используется в настоящее время. В настоящее время в персональных компьютерах под управлением системы Windows используются две системы: файловая система FAT и ее разновидности, а также файловая система NTFS, нацеленная на эффективную работу с большими дисками и на обеспечение целостности данных (защиту целостности данных при сбоях в системе). Для хранения информации на оптических носителях (лазерных дисках) применяются другие файловые системы: ISO 9660, ISO 9690, HFS, UDF и др. Системы жёстких дисков не годятся для оптических из-за серьёзных различий в принципах низкоуровневой организации хранения информации на этих носителях.Так как файловая система FAT имеет сравнительно простую структуру, которая позволяет произвести ее детальный анализ, именно эту систему мы и будем изучать подробно. Это даст представление об общих принципах организации всех файловых систем. Файловая система NTFS имеет намного более сложное устройство и будет изучаться более поверхностно.Файловая система FAT Файловая система FAT (File Allocation Table) названа в соответствии с названием метода организации данных — таблицы распределения данных и создавалась в конце 1970 - начале 1980 годов. Изначально она была создана для гибких дисков размером меньше чем 500K, но со временем развивалась для поддержки дисков всё больших и больших размеров. Сейчас существуют три типа FAT: FAT12, FAT16 и FAT32.Применительно к жесткому диску файловая система будет создаваться в первичном разделе диска (логическом диске). Файловая система организует «сквозную» нумерацию секторов, при которой каждому сектору логического диска присваивается свой уникальный номер, поэтому в дальнейшем будет использоваться адресация в логических секторах, т.е. будет указываться на сколько секторов нужный нам сектор отстоит от начала диска.Файловая система FAT состоит из четырёх основных областей на диске, порядок их расположения показан на рисунке 5. 3 – Область файлов и каталогов (File and Directory Data Region) 2 – Корневой каталог (Root Directory Region) 1 – Область FAT (FAT Region) 2 копии 0 – Загрузочная запись (Boot Record)

NTFS

Форматирование

Загрузка операционной системы

Интерфейсы жестких дисков

Интерфейс SCSI

Интерфейс ATA (PATA, SATA)

ТЕРМИНЫ ПО ЖЕСТКОМУ ДИСКУ


Последний элемент загрузочной записи – программа начальной загрузки IPL2 (Initial Program Loading 2), которая и осуществляет начальную загрузку операционной системы (если диск является загрузочным – содержит базовые файлы операционной системы). Если диск не является загрузочным, исполняемый код в загрузочном секторе выдает следующее сообщение:


Non-System disk or disk error

Replace and press any key when ready

Что означает «Не системный диск или ошибка диска. Замените его и нажмите любую клавишу, когда будете готовы».

Заканчивается загрузочная запись определенной кодовой комбинацией – сигнатурой (AA55h).

Замечание: не следует путать загрузочную запись (Boot Record - BR) с главной загрузочной записью (Master Boot Record - MBR). MBR имеется на физическом диске в одном экземпляре и обеспечивает разбиение жесткого диска на разделы, а BR находится в начале каждого раздела и выполняет загрузку операционной системы и работу файловой системы в каждом из разделов. Процедура загрузки компьютера будет разобрана дальше.

Таблицы размещения файлов


Таблицы размещения файлов - FAT (File Allocation Table) - это таблица которая хранит информацию о месте нахождения частей файлов и каталогов.. От этой таблицы и получилось название всей файловой системы, в которой FAT является лишь одним из элементов. Учитывая крайнюю важность данной структуры, таблица FAT хранится в двух экземплярах, что повышает надежность системы. Конкретный способ организации этой таблицы будет рассмотрен ниже.

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


Директория (или каталог) это список 32-байтных элементов, каждый из которых описывает какой-либо файл или каталог. Есть лишь одна специальная директория, которая всегда должна присутствовать на диске, это корневая директория (Root Directory), которая располагается сразу после последней копии FAT. Файловая система имеет древовидную структуру – в корневом каталоге располагаются 32-байтовые элементы, которые содержат информацию о других (вложенных) каталогах, те в свою очередь содержат вложенные каталоги следующего уровня и так далее.

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

Область файлов и каталогов, понятие кластера


После корневого каталога на диске следуют сектора, где собственно и хранятся файлы и каталоги (все каталоги кроме корневого тоже можно рассматривать как особые файлы). Эта область называется областью файлов и каталогов (File and Directory Data Region) или просто областью данных. Область данных предназначена для размещения всех файлов и всех каталогов, кроме корневого каталога.


Вся эта область разделена на так называемые кластеры. Кластер (cluster) – это логическая единица хранения данных, объединяющая группу секторов. Например, на дисках с размером секторов в 512 байт, 512-байтный кластер содержит один сектор, тогда как 4-килобайтный кластер содержит восемь секторов. Это наименьшее место на диске, которое может быть выделено для хранения файла.

Размер кластера (число секторов) выбирается кратным степени числа 2 (размер кластера может быть описан формулой 2n*512). Это означает, что кластер может иметь размер 512, 1024, 2048, 4096 и.т.д. байт. Конкретный размер кластера на диске задается при его форматировании в зависимости oт объема диска и размера FAT Файл на диске занимает целое число кластеров, от одного до всех кластеров, входящих в область данных. Количество файлов на диске не может превышать количества кластеров

Каждый кластер имеет свой номер, который может использоваться для указания места на диске.

Структура каталога и дескриптора файла


Как мы уже говорили, любой каталог содержит 32-байтовые элементы – дескрипторы (Descriptor – дословно описатель, описательный элемент), описывающие файлы и другие каталоги. Поля дескриптора описывают различные характеристики файла (или каталога). Приведем формат дескриптора файла (Таблица 6):

Таблица 6 Формат дескриптора файла

Размер

(байт)

Поле

8

Имя файла или каталога

3

Расширение имени файла

1

Атрибуты файла.

2

Время создания файла или время его последней модификации

2

Дата создания файла или время его последней модификации

2

Номер первого кластера, распределённого файлу

4

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

Остановимся на понятии атрибутов файла. Атрибут – признак, дополнительно характеризующий некоторые свойства файла или каталога. В FAT атрибуты занимают один байт, каждый из атрибутов кодируется одним битом. Биты этого байта имеют следующие значения:
Таблица 7. Атрибуты файлов.

Бит

Название атрибута

Перевод

Описание

0

R – READ ONLY

только для чтения

Файл предназначен только для чтения, в этот файл нельзя писать и его нельзя стирать.

1

Н–HIDDEN

скрытый

Файл скрывается от показа, пока явно не сказано обратное

2

S –SYSTEM

системный

Системный файл. Этот бит обычно установлен в файлах, являющихся составной частью операционной системы.

3

V–VOLUME

том

Данный дескриптор описывает метку диска. Для этого дескриптора поля имени файла и расширения имени файла должны рассматриваться как одно поле длиной 11 байтов. Это поле содержит метку диска.

4

D–DIRECTORY

каталог

Дескриптор описывает файл, являющийся подкаталогом данного каталога. Только операционная система может управлять этим атрибутом.

5

А–ARCHIVE

Архивный (требующий архивации)

Файл изменён после резервного копирования или не был скопирован программами резервного копирования (сейчас используется редко)



Информация, хранимая в атрибутах, используется операционной системой при выполнении файловых операций. Например, значение атрибута DIRECTORY позволяет отличать файл от подчиненного каталога, а по значению атрибута ARCHIVE отбираются файлы для резервного копирования. Атрибут READ ONLY запрещает изменять и удалять файл, а атрибут HIDDEN делает файл «невидимым». Биты атрибутов VOLUME и DIRECTORY может изменить только операционная система, остальные атрибуты могут изменяться пользователем.

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

Структура FAT


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

Иными словами FAT состоит из элементов, элементов в таблице ровно столько, сколько кластеров на диске, и кластеру с номером N соответствует элемент FAT с тем же номером N. Каждый из элементов FAT представляющий один кластер может содержать следующие коды (см. таблицу 8):

Таблица 8. Возможные значения элемента FAT

Код, содержащийся в элементе FAT

Описание

(0)000h

Доступный (пустой) кластер

(0)002h до (F)FEFh

Номер следующего кластера

(F)FF0h до (F)FF7h

Зарезервированный кластер

(используется NTFS)

(F)FF7h

Плохой кластер (BAD)

(F)FF8h до (F)FFFh

Конец цепочки (EOF)


Вернемся к задаче определения точного места на диске (номеров кластеров), где располагается файл.
Если файл занимает более одного кластера, то все кластеры, занимаемые файлом, организуются в цепочку кластеров (cluster chain).

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

Пример цепочки кластеров


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

На рисунке 6 обычным шрифтом обозначены номера элементов FAT (номера элементов FAT соответствуют номерам кластеров), а жирным шрифтом обозначены числовые значения, записанные в этих элементах.




Дескриптор файла A.txt






Фрагмент таблицы FAT

(разбит на элементы)




Фрагмент области данных
(разбит на кластеры)

10

0




Пустой

11

0




Пустой

12

13




1-й кластер файла A.txt

13

14




2-й кластер файла A.txt

14

17




3-й кластер файла A.txt

15

16




1-й кластер другого файла

16

EOF




2-й (последний) кластер другого файла

17

18




4-й кластер файла A.txt

18

20




5-й кластер файла A.txt

19

BAD




Плохой кластер

20

21




6-й кластер файла A.txt

21

22




7-й кластер файла A.txt

22

23




8-й кластер файла A.txt

23

EOF




9-й (последний) кластер файла A.txt

24

0




Пустой

25

0




Пустой

26

0




Пустой

Рисунок 6 Пример цепочки кластеров для файла A.txt





Из приведенного на рисунке 6 фрагмента FAT следует:

Файл занимает цепочку из десяти кластеров: 12–13–14–17–18–20–21–22–23. Каждый элемент указывает на следующий элемент цепочки - значение элемента № 13 равно 14, значение элемента 14 равно 17 и т.д. Последний элемент содержит специальный код EOF (FF8h) - конец файла.

Еще одна цепочка из двух кластеров начинается с кластера № 15 и кончается кластером № 16. Чтобы узнать, какому файлу (или каталогу) распределены эти кластеры, нужно отыскать в каком-либо каталоге диска дескриптор файла, содержащий ссылку на начальный кластер № 15.

Кластер № 19 помечен, как «плохой» (BAD - FF7) и не входит ни в одну из цепочек. При поиске свободных кластеров для записи нового файла этот кластер будет игнорироваться.

Кластеры № 10, 11, 24, 25, 26 пусты (точнее - объявлены таковыми). Они доступны для распределения под вновь записываемые файлы.

Каждая цепочка кластеров, выделенных системой для одного файла (подкаталога), упорядочена в порядке возрастания их номеров.

Форматы таблицы FAT(FAT12, FAT16, FAT32)


Каждый элемент таблицы FAT занимает на диске определенное место, т.е. под него выделяется определенное количество бит. Используются 12-ти, 16 32-битовые элементы FAT. Соответственно файловая система носит название FAT12, FAT16 или FAT32.

Длина элемента FAT определяет разрядность хранимого в нем двоичного числа, а значит и максимальный номер кластера, информация о котором находиться в этом элементе. Поэтому длина элемента FAT ограничивает максимальное количество кластеров, которые могут быть сформированы в рабочей области тома (для FAT12: 212 = 4096; для FAT-16: 216 = 65535; для FAT-32: 232 = 4294967296).

12-битовый формат годиться только для гибких дисков (дискет) с небольшим количеством секторов  при этом вся таблица FAT помещается в одном секторе диска.

16-ти и 32-битовые версии FAT были разработаны для жестких дисков. В настоящее время используется в основном FAT32, FAT16 может использоваться только с дисками небольшого объема, которые в настоящий момент уже не применяются. Разберем почему. Пусть нам необходимо организовать файловую систему на диске объемом 4Гбайта (очевидно, что речь идет о Flash-диске). Если мы используем FAT16, количество используемых кластеров на диске может достигать 216. Вычислим размер одного кластера, размер всего диска 4*230 делим на количество кластеров:
Размер кластера = 4*230 / 216 = 216 = 64КБайта
Это значит, что даже для хранения файла размером один байт будет использовано 64 КБайта дисковой памяти, т.е. дисковое пространство используется крайне нерационально. Неиспользованная часть кластера