Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИиИКТ Лекция 12 Файловая сист.doc
Скачиваний:
21
Добавлен:
10.05.2015
Размер:
67.58 Кб
Скачать

6

Лекция 12 по дисциплине «Информатика и икт»

Тема 2 «организация и функционирование компьютеров»

Раздел 6 Хранение данных. Файлы. Физическая и логическая структура файловой системы.

Содержание::

6.1. Файлы. Физическая файловая система.

6.2. Логическая файловая система.

6.1. Файлы. Физическая файловая система.

Любые данные хранятся на любом носителе в виде файлов.

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

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

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

В широком смысле понятие "файловая система" включает следующие компоненты.

  • Совокупность всех файлов на диске.

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

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

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

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

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

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

Файловая система FAT (File Allocations Table) – это одна из наиболее старых файловых систем для ПК, разработанная Биллом Гейтсом и Марком МакДональдом в 1977г. Система FAT может реализовываться на логических дисках HDD, на FDD и на других аналогичных носителях. При использовании системы FAT все пространство данного диска делится на равные последовательно расположенные области – кластеры. Как было указано ранее, существует минимальный объем данных, называемый сектором (блоком), который может быть записан на жесткий диск или прочитан с жесткого диска. Объем кластера должен составлять целое число секторов. Каждый файл может состоять из одного или из нескольких кластеров в зависимости от своего размера. Минимальный размер файла на диске – один кластер. Весь диск делится на 5 разделов - загрузочный сектор (1-й сектор 1-й дорожки), область FAT-таблицы, область копии FAT-таблицы, область каталога, область файлов. Первые 4 раздела занимают небольшой объем и содержат системную информацию.

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

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

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

Поскольку FAT изначально проектировалась для однопользовательской операционной системы DOS, то она не предусматривает хранения такой информации, как сведения о владельце или полномочия доступа к файлу/каталогу. Кроме того, т. к. DOS – 16-разрядная операционная система, то, соответственно, FAT – также 16-разрядная файловая система. Это означает, что максимальное количество кластеров на диске составляет 216 (примерно 64000 тыс.). Это совсем немного. Еще один недостаток FAT-системы – сильное уменьшение скорости поиска файлов, при увеличении объема носителей. Наконец, FAT не может поддерживать диски объемом более 2 ГБ.

В настоящее время FAT используется в основном для магнитных дискет (FDD).

Файловая система VFAT (Virtual FAT), реализованная в Windows 95/98 - это система FAT, дополненная поддержкой длинных имен файлов в кодировке UNICODE (каждый символ имени кодируется 2 байтами). VFAT использует ту же самую схему распределения дискового пространства, что и файловая система FAT. В VFAT имя может быть длиной до 255 символов, в имя можно включать несколько пробелов и точек, текст после последней точки рассматривается как расширение, регистр символов в именах не различается, но сохраняется. Длинные имена по частям хранятся в специальных записях каталога. Для каждого файла и подкаталога в VFAT хранится два имени: длинное и короткое. Короткое имя генерируется файловой системой автоматически в формате 8.3 (имя из 8 символов, точка, расширение из 3-х символов).

Файловая система FAT32 - это 32-разрядная файловая система, которая пришла на смену VFAT, сохранив основные черты и принципы организации последней. FAT32 поддерживает жесткие диски объемом до 2 терабайт. Впервые файловая система FAT32 была включена в состав ОС Windows  95 OSR 2. В FAT32 были расширены атрибуты файлов, позволяющие теперь хранить время и дату создания, модификации и последнего доступа к файлу или каталогу. В FAT32 адрес каждого кластера стал 32 разрядным, что позволило иметь на диске до 232 = 4 млрд. кластеров. В FAT32 объем кластера должен быть не менее 4 кБ, а объем диска – не менее 512 МБ. Корневой каталог в FAT32 больше не располагается в определенном месте, вместо этого хранится указатель на начальный кластер корневого каталога. В результате снимается ранее существовавшее ограничение на число записей в корневом каталоге. Кроме того, для учета свободных кластеров, в зарезервированной области на разделе FAT32 имеется сектор, содержащий число свободных кластеров и номер самого последнего использованного кластера. Это позволяет системе при выделении следующего кластера не перечитывать заново всю таблицу размещения файла. FAT32 поддерживается в Windows 98, Windows ME, Windows 2000 и Windows XP.

Файловая система NTFS (New Technology File System) - наиболее предпочтительная файловая система при работе с ОС Windows 2000 и Windows XP.

Каждый файл на томе NTFS представлен записью в специальном файле – главной файловой таблице - метафайле MFT (Master File Table). В отличие от файловой таблицы и каталога FAT метафайл является иерархической базой данных, позволяющей очень быстро осуществлять поиск нужного файла

NTFS является 64-разрядной файловой системой, что дает возможность иметь 264 кластеров, каждый размером до 64 Кбайт. Как и в FAT размер кластера может меняться, но необязательно возрастает пропорционально размеру диска. NTFS позволяет хранить файлы размером до 16 эксабайт (264 байт).

Файловая система NTFS является журналируемой – все изменения в файловой системе записываются в специальный журнал транзакций (log file), что позволяет восстанавливать файловую систему после сбоев системы.

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

Файловые системы UFS (Unix File System) – это семейство файловых систем для операционных систем UNIX. Существует много различных версий ОС UNIX, разработанных разными фирмами, соответственно существуют и различные виды UFS, в том числе 32-разрядные и 64-разрядные USF. Так же как и в других файловых системах, в UFS файл записывается в один или несколько (а может быть и в несколько сотен тысяч) кластеров. Особенностью USF является иерархическая кластерная структура файла, включающая кластеры, содержащие адреса других кластеров данного файла. Еще одной особенностью UFS является очень мощная и разветвленная система защиты файлов от несанкционированного доступа – для этого файловая система содержит большое количество атрибутов. Классическая UFS поддерживает 14-буквенные имена файлов, современные UFS позволяют создавать длинные имена (до 255 символов).

Перечислим еще несколько современных файловых систем, близких по принципам построения к NTFS и USF.

Файловая система HPFS (High Performance File System) была разработана вместе с операционной системой OS/2. По структуре и возможностям близка к NTFS. В настоящее время используется редко.

Файловые системы Linux ext, Linux ext2, Linux ext3 (extended file system) специально разработаны под операционную систему Linux. Они обладают высокой надежностью и производительностью. Начиная с ext3 файловая система становится журналируемой.

Файловая система XFS — высокопроизводительная 64-разрядная журналируемая файловая система, созданная компанией Silicon Graphics и поддерживаемая операционными системами Linux (начиная с версии 2.4.25) и. FreeBSD. Позволяет эффективно работать с данными на RAID-массивах и других носителях очень большого объема.

Для персональных компьютеров Mac под Mac OS X используются файловые системы HFS (Hierarchical File System), HFS Plus. Недавно для этих компьютеров была разработана высокопроизводительная 64- битная сетевая файловая система Xsan.

Одной из неприятностей, возникающих при работе с файловой системой, является фрагментация файлов – в процессе удаления файлов (очистки кластеров) и записи новых файлов (заполнения кластеров) неизбежно оказывается, что многие файлы состоят из кластеров, находящихся в разных частях диска. В результате сильно понижается скорость работы с диском (для чтения или записи фрагментированного файла магнитной головке необходимо последовательно перемещаться на все дорожки, содержащие кластеры этого файла). Для избежания этого необходимо периодически проводить процедуру дефрагментации диска – запускать специальную утилиту, которая собирает данные из всех кластеров каждого файла и записывает их в компактную область диска (насколько это возможно). Для эффективной работы процедуры дефрагментации необходимо, чтобы диск не был полностью занят, желательно, чтобы не менее 20 – 30% диска было свободно. Особенно это важно для файловой системы NTFS. Процедуру дефрагментации лучше проводить, не дожидаясь сильной фрагментации диска, т.к. время на эту процедуру резко возрастает с увеличением фрагментации. Для сильно фрагментированного диска процедура дефрагментации может потребовать несколько часов. Для проведения дефрагментации в состав ОС Windows входит утилита, которая так и называется Дефрагментация диска.

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