Чтение онлайн

на главную - закладки

Жанры

Интернет-журнал "Домашняя лаборатория", 2007 №3
Шрифт:

Когда же операционной системе надо записать данные на жесткий диск, то она смотрит по таблице размещения файлов, где находится первый свободный кластер (то есть кластер, который не принадлежит какому-либо файлу), и пишет данные в него и последующие кластеры, указывая их номера в той же таблице. Но как только процесс записи файла на диск натыкается на занятый кластер, то система вновь ищет ближайший свободный кластер, следующий за занятыми, и продолжает запись данных на диск с него[20]. Если файл удаляется, то соответствующие ему кластеры освобождаются (точнее, просто их номера помечаются в таблице размещения

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

Таблица FAT

Таблица FAT — это как бы уменьшенное изображение строения всего жесткого диска (рис. 8.2). Она состоит из отдельных записей-"строчек" с информацией о последовательности кластеров в файлах.

Рис. 8.2. Если вы хотите наглядно представить себе, что такое FAT, то запустите программу дефрагментации диска из Windows95/98 и отобразите сведения о диске. Вот FAT — это примерно то же самое, только там вместо цветных квадратиков — отдельные записи, описывающие состояние каждого кластера диска.

В каждой записи FAT содержится информация следующих видов:

1. Если кластер, к которому относится данная запись FAT, не является последним в файле, то в данной записи будет указан номер следующего кластера, в котором записан данный файл.

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

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

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

Каждая запись в FAT имеет вполне определенную длину — 12, 16 или 32 бита. В зависимости от длины отдельных таких записей в FAT ее разновидности так и называются — FAT12, FAT16 и FAT32.

С целью повышения надежности на диске обычно находится две копии FAT, записанные в его начале одна за другой. При сбое в первой копии используется вторая, резервная, а при сбое в обоих — лучше сохранившаяся.

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

Узнать, какая файловая система установлена на вашем жестком диске, в операционных системах Windows можно в окне "Свойства диска". (Файловая система FAT16 обозначается как просто "FAT".)

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

При обращении

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

Сохраните лишний раз в процессе работы какой-нибудь Word'oBbrii, скажем, файл на жесткий диск, и вы заметите, как диск "хрюкнет" — то есть произойдет перемещение головок взад-вперед по диску. Причем шумовой эффект не будет за висеть от фрагментированности диска — даже на абсолютно чистом диске с единственным редактируемым файлом шум все же появится. Это так, потому что для записи файла головки жесткого диска будут перемещаться между областью FAT-таблицы, которая располагается в начале диска, и собственно записываемыми данными на диске.

Каталоги

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

А хранится она в каталогах.

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

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

В файлах каталогов, созданных в Windows95 и более старших версиях этой операционной системы, в каждом дескрипторе хранится как длинное имя файла, так и короткое — вида progra~1.exe, которое находится в том же месте дескриптора, что и в каталогах, созданных в MS-DOS. Таким образом обеспечивается возможность работы с созданными в Windows каталогами в старых операционных системах — эти системы смотрят в файл каталога и считывают оттуда лишь короткие имена файлов, а системы Windows умеют считывать из дескрипторов еще и длинные имена. Естественно, что при копировании или перемещении средствами MS-DOS файлов, созданных в Windows, длинные имена теряются, так как в этом случае операционная система MS-DOS копирует данные о файлах из одного файла каталога в другой, а так как она не умеет читать ту часть дескрипторов этих файлов, в которой записаны их длинные имена, то она их и игнорирует.

Поделиться:
Популярные книги

Проклятый Лекарь IV

Скабер Артемий
4. Каратель
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Проклятый Лекарь IV

Прометей: Неандерталец

Рави Ивар
4. Прометей
Фантастика:
героическая фантастика
альтернативная история
7.88
рейтинг книги
Прометей: Неандерталец

Семья. Измена. Развод

Высоцкая Мария Николаевна
2. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Семья. Измена. Развод

Страж. Тетралогия

Пехов Алексей Юрьевич
Страж
Фантастика:
фэнтези
9.11
рейтинг книги
Страж. Тетралогия

Соль этого лета

Рам Янка
1. Самбисты
Любовные романы:
современные любовные романы
6.00
рейтинг книги
Соль этого лета

Последний из рода Демидовых

Ветров Борис
Фантастика:
детективная фантастика
попаданцы
аниме
5.00
рейтинг книги
Последний из рода Демидовых

Измена. (Не)любимая жена олигарха

Лаванда Марго
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. (Не)любимая жена олигарха

Драконий подарок

Суббота Светлана
1. Королевская академия Драко
Любовные романы:
любовно-фантастические романы
7.30
рейтинг книги
Драконий подарок

Темный Лекарь 3

Токсик Саша
3. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь 3

Наследница Драконов

Суббота Светлана
2. Наследница Драконов
Любовные романы:
современные любовные романы
любовно-фантастические романы
6.81
рейтинг книги
Наследница Драконов

Книга пяти колец

Зайцев Константин
1. Книга пяти колец
Фантастика:
фэнтези
6.00
рейтинг книги
Книга пяти колец

Приручитель женщин-монстров. Том 9

Дорничев Дмитрий
9. Покемоны? Какие покемоны?
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Приручитель женщин-монстров. Том 9

Изгой. Пенталогия

Михайлов Дем Алексеевич
Изгой
Фантастика:
фэнтези
9.01
рейтинг книги
Изгой. Пенталогия

Камень. Книга шестая

Минин Станислав
6. Камень
Фантастика:
боевая фантастика
7.64
рейтинг книги
Камень. Книга шестая