На любом из вышеперечисленных внешних ЗУ может храниться большое количество файлов. Порядок ихранения определяется файловой системой, которая может иметь определенную файловую структуру. Каждому имени файла соответствует свой уникальный адрес, что позволяет МП при необходимости находить на внешнем ЗУ нужный файл, а затем считывать из него данные в ОЗУ. Файлы в операционных системах по функциональному или тематическому признаку могут объединяться в каталоги или папки, которые в свою очередь могут входить в другие каталоги или папки, т. е. иметь сложную файловую структуру.
Файловая структура может быть одно– или многоуровневой. В одноуровневой структуре на носителе информации имена файлов образуют линейную последовательность, в многоуровневой, или иерархической, – древовидную структуру. Примером такой структуры может служить структура, приведенная на рис. 6.2.
Рис. 6.2. Многоуровневая файловая структура
Корневой каталог (папка) содержит вложенные каталоги (папки) первого уровня, каждый из каталогов (папок) первого уровня может содержать вложенные каталоги (папки) второго уровня и т. д. В каталогах (папках) всех уровней могут храниться и файлы.
Иерархическую файловую структуру можно увидеть в окне «Проводник» ОС Windows. На верхнем уровне иерархии находится папка «Рабочий стол»; на втором уровне находятся системные папки «Мой компьютер», «Сетевое окружение», «Корзина» и т. д. На третьем уровне – диски, панель управления и т. д. Файловая система отображает внешние ЗУ в виде дисков. Каждому диску файловая система присваивает логическое имя: А: – гибкий диск (НГМД), С:, Д:, Е: и т. д. – жесткие диски (НЖМД), оптические диски (CD, DVD), флэш-память и т. д. В ОС Windows ХР с помощью специальной системной программы можно искусственно провести условное разбиение жестких дисков в НЖМД на несколько логических дисков. Для ее запуска необходимо выполнить команду: [Кнопка Пуск – Настройка – Панель управления – Администрирование – Управление компьютером – Запоминающие устройства – Управление дисками]. Таким образом, логические диски – это такие диски, которые не существуют как отдельные физические устройства, а представляют лишь часть одного физического диска.
6.6.1. Назначение и функционирование файловой системы
В операционных системах файловая система относится к основным понятиям и определяется как общая система, которая устанавливает правила присвоения имен файлам, хранение, организацию и обработку файлов на носителях информации. Носители информации (ЗУ) реализуются в виде соответствующих технических средств для хранения информации. В любой ОС имеются программные модули, управляющие файловой системой. Таким образом, файловая система – это часть операционной системы, которая обеспечивает запись и чтение файлов на носителях информации (внешних ЗУ), т. е. представляет пользователю удобный интерфейс при работе с данными, хранящимися на ЗУ. Кроме того, файловая система определяет логическую и физическую (при реализации процедуры физического форматирования) структуру ЗУ, осуществляет поиск файлов и служебных данных файла, организует файлы в каталоги или папки. Как уже отмечалось, файловая система определяет способ размещения данных на ЗУ, поэтому остановимся подробнее на существующих файловых системах, разработанных фирмой Microsoft.
Фирма Microsoft разработала несколько файловых систем для персональных компьютеров, таких как FAT, FAT16, FAT32, NTFS и т. д. Файловые системы, разработанные другими фирмами, поддерживаются ОС с помощью специальных модулей. Функционирование файловой системы реализуется в виде многоуровневого процесса, где каждый уровень представляет набор функций предшествующему уровню и обращается к последующему с соответствующим запросом.
Общая модель процесса функционирования файловой системы представлена на рис. 6.3.
Рис. 6.3. Общая модель функционирования файловой системы
К процессам первого уровня можно отнести процессы, связанные с определением по символьному имени файла его уникального имени, процессы второго уровня связаны с определением характеристик файла по его уникальному имени, а процессы третьего уровня – с проверкой допустимости заданной операции к искомому файлу и т. д. Процессы n-го уровня связаны с определением номера физического блока, содержащего логическую запись.
6.6.2. Файловая система FAT
Файловая система FAT используется ОС MS DOS и ОС Windows для упорядочения файлов и управления ими. В основу данной файловой системы положена таблица размещения FAT (File Allocation Table), которая представляет собой структуру данных, создаваемую ОС при форматировании данных на ЗУ. ОС хранит в таблице размещения файлов сведения о каждом файле, чтобы при необходимости можно было извлечь нужный файл.
Файловая система FAT использовалась во всех версиях ОС MS-DOS, а также в первых версиях ОС Windows 95. Указанная файловая система вполне удовлетворяла требованиям своего времени в основном потому, что сама по себе очень компактна и проста. Благодаря этому она успешно использовалась и используется в НГМД. Для хранения файла в FAT может использоваться один или несколько кластеров, стандартный размер кластера 512 байт. Минимальной единицей информации в файловой системе является кластер, который может включать в себя несколько секторов. Каждому кластеру диска в таблице FAT соответствует отдельная запись, которая либо указывает на следующий кластер файла, либо содержит метку конца файла. Кроме того, файловая система создает на диске каталог, представляющий собой базу данных имен файлов. В каталоге хранятся имена входящих в него файлов. Вместе с именем файла хранится и указатель на первый кластер этого файла. Помимо этого в каталоге хранятся дата создания файла, его размер и атрибуты. Атрибуты могут указывать на то, что файл является скрытым, зарезервированным для использования операционной системой, требует архивирования (резервного копирования) или предназначен только для чтения.
Файловая система FAT универсальна, распознается практически любой операционной системой, установленной на персональных компьютерах и рабочих станциях.
Однако наряду с указанными преимуществами файловая система FAT имеет значительные ограничения и недостатки: под имя файла отводится всего 12 байт, а работа с НЖМД большого объема приводит к значительной фрагментации файлов, т. е. фрагменты файлов хранятся в различных, удаленных друг от друга кластерах. Это обстоятельство приводит к замедлению работы компьютера при поиске или сохранении файла.
Существует несколько версий файловой системы FAT, среди которых наибольшее применение нашли файловые системы FAT 16 и FAT 32. Отличие этих файловых систем состоит в разрядности чисел, используемых в таблицах размещения файлов.
6.6.2.1. Файловая система FAT 16
Файловая система FAT 16 поддерживается ОС MS DOS, Windows 95, Windows 98, Windows 2000, а также некоторыми версиями ОС UNIX.
Цифра 16 в названии файловой системы указывает на число бит (двоичных разрядов), необходимых для хранения информации о номерах кластеров, используемых файлом, т. е. в таблице размещения файлов можно разместить не более 65536 записей (N = 216 = 65 536, где N число записей).
Таким образом, файловая система FAT16 может осуществлять адресацию только к 65 536 кластерам, записанным на диске.
Файловая система FAT 16 имеет ряд существенных недостатков.
Первый и основной – это ограничение, которое накладывает файловая система FAT16 на максимальный объем тома (раздела) диска. Например, если учесть то обстоятельство, что максимальный объем кластера К = 32 Кбайта, то максимальный (теоретический) информационный объем дискового тома найдем из выражения V = К · N = 32 · 65536/1024 · 1024 = 2 Гбайта.
Современные НЖМД имеют объем памяти несколько десятков гигабайт, поэтому применение файловой системы FAT16 для них неэффективно.
Второй недостаток заключается в том, что для хранения всех файловых атрибутов система FAT использует всего 1 байт. Поэтому просто не представляется возможности хранить данные о правах доступа к файлу, его владельце и т. д.
Третий недостаток: при использовании большего размера диска необходимо использовать больший размер кластера. В файловой системе файлам всегда выделяется целое число кластеров и один файл занимает, как минимум, один кластер. Например, для диска объемом 40 Гбайт размер кластера будет равен: 40 Гбайт/65536 = 640 Кбайт, а так как файлам выделяется целое число кластеров, то текстовый файл, содержащий (например) слово «кластер» и имеющий объем 7 байт, будет на диске занимать целиком кластер, т. е. 640 Кбайт дискового пространства. Получается, что физически файл занимает не 7 байт, а 640 Кбайт. Таким образом, использование файловой системы FAT 16 для дисков больших объемов памяти приводит к большим потерям свободного дискового пространства.