Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лекция 11 Файловые системы

.pdf
Скачиваний:
197
Добавлен:
15.04.2015
Размер:
957.65 Кб
Скачать

Физическая и логическая организация данных на носителях.

Файловые системы.

Информация на ЖД хранится что упорядоченно, в соответствии с определенной структурой. Диски в компьютере обозначаются буквами. Например, А — дискета, С — жесткий диск, D — второй жесткий диск или, при его отсутствии, CD-ROM... И так далее.

Однако букве совсем не обязательно должен соответствовать реальный, физический жесткий диск. Буквой может обозначиться и логический раздел единственного жесткого диска. При использовании RAID-массива несколько «физических» жестких дисков могут быть объединены в один «логический».

Физические и логические диски для компьютера равноправны. Например, диск С:\

— это всегда первый из нескольких установленных в компьютере физических дисков,

либо первый (загрузочный) раздел первого физического диска.

Все пространство физического диска разделено на секторы емкостью 512 байт.

Однако логический диск, который создается во время первоначальной разметки физического диска (эта операция называется форматированием), разбивается уже не на секторы, а на кластеры. Величина кластера зависит от размеров жесткого диска и используемого способа размещения данных на диске — файловой системыпри объеме ЖД больше 32 Гб размер кластера 64 Кбайта.

Логическая структура диска имеет вид дерева. Файлы объединены в особые структуры — папки. В папку можно вложить файл, файлы, или другую папку. Обычно каждый программный пакет, установленный на компьютере, занимает свою, отдельную папку. Однако бывает так, что программа, раскидывает свои файлы по многим папкам.

Современные ЖД очень емкие 250 Гб и более и это приводит к потере дискового пространства, т.к. в кластер, частично занятый каким-либо файлом, нельзя поместить больше ничего. Допустим, файл располагается в 10 кластерах по 64 Кбайта, причем в последнем — десятом кластере он занимает всего десять байт. Что происходит с оставшимся свободным килобайтом? Ничего. Он просто пропадает. Такие не пригодные ни к чему остатки называют «хвостами». А в «хвосты» нередко уходит довольно значительный объем — до нескольких Гб! Для борьбы с «хвостами» необходимо применять более рациональную файловую систему — например, NTFS, используемую для линейки ОС, начиная с Windows ХР.

Файлы. Виды и свойства файлов

Минимальной физической единицей размещения информации является кластер.

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

Файл (File)— это поименованная совокупность данных, размещенных на

материальном носителе информации.

Каждый файл имеет свое индивидуальное имя. Оно составное — из двух частей.

Собственно имя — название файла — и идентификатор, определяющий его тип,

называемый расширением.

Имя файла чаще всего может быть выбрано произвольно самим пользователем.

Обычно расширение состоит из трех (редко — из четырех) букв и отделено от имени файла точкой.

Максимальная длина имени до 256 символов. Существует бесчисленное множество расширений, но вот основные:

ехе — обозначает «исполняемый» файл, хранящий в себе программу. Например,

winword.exe;

com — другой тип программного файла. Обычно файлы.com соответствуют небольшим (до сотни килобайт) программкам. Часто встречались в эпоху DOS, однако сегодня практически сошли со сцены;

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

определенном порядке. Пример —файл autoexec.bat, автоматически выполняющийся в момент загрузки компьютера;

cfg — конфигурационный файл, в котором программа указывает параметры своей работы;

dll — так называемая «динамически подключающаяся библиотека» данных, к

которой могут обратиться по мере надобности сразу несколько программ;

hlр — файл справки, в котором хранятся «подсказки», а иногда — и полное руководство по той или иной программе;

txt, doc — текстовые файлы;

htm, html — гипертекстовый документ Интернета;

xls — таблица;

dat — файл данных;

wav, mp3 — звук в цифровом формате;

bmp, jpg — графическая информация, картинки;

arj, zip, rar — файлы «архивов», т. е. сжатой с помощью специальных программ-

«архиваторов» информации. В одном архивном файле на самом деле может храниться множество файлов.

Есть у файла и еще один признак, называемый атрибутом. Однако, в отличие от имени и расширения (а в Windows — иконки определенного типа) пользователь его не видит. Зато воспринимает ОС. Вот лишь некоторые из этих атрибутов:

Скрытый (Hidden) — файлы с этими атрибутами обычно не видны пользователю.

Для перестраховки — как правило, файлы эти весьма важные для функционирования системы. Хотя опытному «юзеру» не составит труда настроить программу просмотра файлов (файловый менеджер) таким образом, что вce скрытые файлы будут видны.

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

Архивный (Archive). Этот атрибут устанавливается обычно во время работы с файлом, при его изменении. По окончании сеанса работы он, как правило, снимается.

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

Исполняемые файлы (программы).

Файлы конфигурации, содержащие параметры, необходимые для работы программы.

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

Документы — т. е. некие совокупности информации, создаваемые пользователем (или компьютером) с помощью программ.

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

Любая современная программа на деле состоит из огромного количества файлов

(тот же Microsoft Word использует их несколько сотен) — подпрограмм, всевозможных баз данных, библиотек, файлов конфигурации и так далее. Поэтому сегодня чаще всего говорят не о программах, а о «программных пакетах». (т. е. о наборах различных типов

файлов, в совокупности образующих программу).

Для запуска программы вполне достаточно команды на выполнение одного-

единственного файла. Например, «оболочку» громадной операционной системы Windows

запускает единственный файл — win.com.

Операции с файлами:

Запуск файлов.

Просмотр файлов.

Переименование файлов.

Перенос файла.

Копирование файла.

Удаление файла.

Логический адрес файла. Первый элемент «локального» адреса файла — имя диска. Состоит оно из одной буквы, двоеточия и обратной косой черты, называемой на жаргоне «бэк-слэш» - А: \

Диском А: \ чаще всего называется дискета

Диск С: \ — главный жесткий диск компьютера (или главный раздел жесткого диска, куда установлена ОС). Именно с этого диска производится загрузка системы.

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

Адрес папки, в которой установлена операционная система Windows, обычно выглядит так C: \WINDOWS

Ну а третий элемент адреса — имя самого файла. Например, адрес C: \WINDOWS\regedit.exe соответствует программе для редактирования системного реестра

Windows, которая находится на диске С: \ в папке Windows.

Физический адрес файла. Для компьютера «адрес» данного файла на диске будет выглядеть совершенно иначе... Ведь если пользователь работает с логическими единицами (к которым относится и файл, и папка), то для компьютера существуют лишь кластеры, в которых хранится данная информация — четко и ровно нарезанные участки дискового пространства.

Фа́йловая систе́ма (англ. file system) — регламент, определяющий способ организации, хранения и именования данных на носителях информации. Она определяет формат физического хранения информации, которую принято группировать в виде файлов.

Конкретная файловая система определяет:

размер имени файла,

максимальный возможный размер файла,

набор атрибутов файла.

Некоторые файловые системы предоставляют такие возможности как, например,

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

Кэширование обеспечивает ускоренный доступ к часто используемым данным.

При запросе данных система сначала ищет их в буфере (КЭШе), располагающемся на носителе с более высокой скоростью доступа. Если требуемые данные не найдены в буфере, они читаются с диска и заносятся в буфер. По мере наполнения буфера из него удаляются редко используемые данные.

Отображение файла в память заключается в создании образа файла,

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

компьютер

 

пользователь

физическая

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

логическая

организация

организация

+ОС

данных

данных

 

Файловая система связывает носитель информации с одной стороны и API1

(интерфейс программирования приложений) для доступа к файлам — с другой. Когда прикладная программа обращается к файлу, она не имеет никакого представления о том,

каким образом расположена информация в конкретном файле, также как и на каком физическом типе носителя (CD, жестком диске, магнитной ленте или блоке флэшпамяти)

он записан. Все, что знает программа — это имя файла, его размер и атрибуты. Эти данные она получает от драйвера файловой системы. Именно файловая система устанавливает, где и как будет записан файл на физическом носителе (например, жестком диске).

С точки зрения ОС весь диск представляет собой набор кластеров размером от 512

байт и выше. Драйверы файловой системы организуют кластеры в файлы и каталоги

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

1 Интерфейс́ программи́рования приложений́ (англ. Application Programming Interface, API; по-

русски произносят [а́пи]) — набор стандартных библиотечных методов, который программист может использовать для доступа к функциональности другой программы. Например, практически все операционные системы (Unix, Windows, MacOS, и т. д.) имеют некоторый API, поэтому программисты могут создавать приложения согласованные с этой операционной системой. Несмотря на то, что API созданы для программистов, в конечном счёте они полезны для пользователей, потому как гарантируют, что все программы использующие общий API будут иметь похожий пользовательский интерфейс, а это способствует более лёгкому пониманию новых программ.

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

Классификация файловых систем

По предназначению файловые системы можно классифицировать на следующие категории:

для носителей с произвольным доступом (например, жесткий диск): FAT32, HPFS, EXT2 и др. В последнее время широкое распространение получили журналируемые файловые системы, такие как EXT3, ReiserFS, JFS, NTFS, XFS и др.

для носителей с последовательным доступом (например, магнитные ленты):

QIC и др.

для оптических носителей — CD и DVD: ISO9660, ISO9690, HFS, UDF и др.

виртуальные файловые системы: AEFS и др.

сетевые файловые системы: NFS, SMBFS, SSHFS, GmailFS и др.

FAT (от англ. File Allocation Table — «таблица размещения файлов»)— файловая система, используемая в операционных системах DOS и Windows. FAT предусматривает несколько специальных областей на диске, которые создаются в процессе форматирования.

Форматирование происходит в два этапа: физическое форматирование = разметка поверхностьдорожкасектор; логическое форматирование = служебная зона(5%) + зона данных (в ней размечаются кластеры). При форматировании в FAT32 в служебной зоне создаются:

1.FATтаблица размещения файлов и ее копия,

2.Корневой каталог, содержащий нескольких полей с информацией о файле-

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

3. Загрузочная область.

Имя файла

расширение

размер

дата и время

нач. кластер

 

 

 

 

 

Документ1

doc

1,2 Мб

14.11.07 14:00

2

 

 

 

 

 

Структура FAT:

0- кластер можно занимать,

EOFend of file,

3, 4,..- ссылки на номера кластеров, где продолжение файла.

Структура каталога:

Когда программа отправляет к ОС запрос на чтение файла, ОС просматривает запись в каталоге, соответствующую этому файлу, чтобы прочитать какой кластер файла является первым, затем

№ кластера

2

3

4

5

6

7

……….

100

…….

обращается

к

FAT

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ячейка таблицы

3

4

100

0

0

0

0

EOF

0

восстанавливает всю цепочку

 

 

 

 

 

 

 

 

 

 

кластеров для данного файла.

 

 

 

 

 

 

 

 

 

 

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

Вот лишь некоторые из «болезней», которым подвержена файловая система жесткого диска:

Фрагментация. С течением времени разбросанность файлов на диске достигает такой степени, что скорость работы может ощутимо снизиться. Еще бы — ведь если каждый файл компьютеру придется собирать по всему жесткому диску, никакие скоростные характеристики последнего не компенсируют задержки... Вот почему через каждый месяц-другой пользователю рекомендуется производить дефрагментацию диска с помощью специальных программ — например, Speed Disk из комплекта Norton Utilities.

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

Потерянные кластеры. Неприкаянные ошметки информации, которые не относятся ни к одному файлу. Как правило, возникают в случае сбоя или «зависания» компьютера. Этот мусор лучше удалить с помощью программы проверки диска — например, Norton Disk Doctor.

Ошибочные сообщения о размере остатка свободного места. Вследствие ошибки в

FAT компьютер вдруг обнаруживает в своем меньше свободного места, чем хотелось бы.

Причины и способы устранения — те же.

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

в Windows 98/ME используется файловая система FAT32, которая в основном и подвержена упомянутым выше болячкам, семейство же Windows NT/2000/XP использует более стабильную и надежную систему NTFS (которая, правда, за счет надежности работает значительно медленнее).

Существует три версии FAT — FAT12, FAT16 и FAT32. Они отличаются количеством бит, отведённых для хранения номера кластера. FAT12 применяется в основном для дискет, FAT16 — для дисков малого объёма.

FAT32 (от англ. File Allocation Table — «таблица размещения файлов») — это файловая система, разработанная компанией Майкрософт, разновидность FAT. FAT32

использует 32-разрядную адресацию кластеров.

Максимально возможный размер файла для тома FAT32 — 4 ГБ – 1 байт (232–1

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

NTFS (от англ. New Technology File System — «файловая система новой технологии») — стандартная файловая система для семейства операционных систем

Microsoft Windows NT (Windows 2000, Windows XP, Windows Server 2003).

Файловая система NTFS обеспечивает такое сочетание производительности,

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

Master File Table (MFT - главная таблица файлов)

Как и любая другая система, NTFS делит все полезное место на кластеры - блоки данных, используемые единовременно. NTFS поддерживает почти любые размеры кластеров - от 512 байт до 64 Кбайт, неким стандартом же считается кластер размером 4

Кбайт. Каждый элемент NTFS представляет собой файл - даже служебная информация.

Самый главный файл на NTFS называется MFT, или Master File Table - общая таблица файлов.

Диск NTFS условно делится на две части. Первые 12% диска отводятся под так называемую MFT зону - пространство, в которое растет метафайл MFT. Запись каких-либо данных в эту область невозможна. MFT-зона всегда держится пустой - это делается для