Файловые системы
При наличии большого числа программ и данных необходим строгий их учет и систематизация. Операционным системам приходится работать с различными потоками данных, разными аппаратными и периферийными устройствами компьютера. Организовать упорядоченное управление всеми этими объектами позволяет файловая система.
На операционные системы персональных компьютеров наложила глубокий отпечаток концепция файловой системы, лежащей в основе операционной системы UNIX. В ОС UNIX подсистема ввода-вывода унифицирует способ доступа как к файлам, так и к периферийным устройствам. Под файлом при этом понимают набор данных на диске, терминале или каком-либо другом устройстве. Таким образом, файловая система - это система управления данными.
Файловые системы операционных систем создают для пользователей некоторое виртуальное представление внешних запоминающих устройств ЭВМ, позволяя работать с ними не на низком уровне команд управления физическими устройствами (например, обращаться к диску с учетом особенностей его адресации), а на высоком уровне наборов и структур данных.
Файловая система скрывает от программистов картину реального расположения информации во внешней памяти, обеспечивает независимость программ от особенностей конкретной конфигурации ЭВМ, или, как еще говорят, логический уровень работы с файлами. Файловая система также обеспечивает стандартные реакции на ошибки, возникающие при обмене данными.
Пользователь, работая в контексте определенного языка программирования, обычно использует файлы как поименованные совокупности данных, хранимые во внешней памяти и имеющие определенную структуру. При работе с файлами пользователю предоставляются средства для создания новых файлов, операции по считыванию и записи информации и т.д., не затрагивающие конкретные вопросы программирования работы канала по пересылке данных, по управлению внешними устройствами.
Файловая система — еще одно базовое понятие, поддерживаемое виртуально всеми ОС. Как было установлено, основной функцией операционной системы является маскирование особенностей работы дисков и других устройств и предоставление пользователю понятной и удобной абстрактной модели независимых от устройств файлов. Системные вызовы необходимы для создания, удаления, чтения или записи файлов. Перед тем как прочитать файл, его нужно разместить на диске и открыть, а после прочтения его нужно закрыть. Все эти функции осуществляют системные вызовы.
При создании места для хранения файлов ОС использует понятие каталогакак способ объединения файлов в группы. Например, студент может иметь по одному каталогу для каждого изучаемого им курса, каталог для электронной почты и каталог для своей домашней web-страницы. Для создания и удаления каталога также необходимы системные вызовы. Они же обеспечивают перемещение существующего файла в каталог и удаление файла из каталога. Содержимое каталога могут составлять файлы или другие каталоги. Эта модель создает структуру — файловую систему.
Иерархии процессов и файлов организованы в виде деревьев (рис. 7.3). Иерархия процессов обычно не очень глубока, в ней редко бывает больше трех уровней, тогда как файловая структура достаточно часто имеет четыре, пять и даже больше уровней в глубину.
Рис. 7.3. Дерево каталогов
Иерархия процессов обычно живет, как правило, несколько минут, иерархия каталогов может существовать годами.
Каждый файл в иерархии каталогов можно определить, задав его имя пути, называемое также полным именем файла. Путь начинается из вершины структуры каталогов, называемой корневым каталогом. Абсолютное имя пути состоит из списка каталогов, которые нужно пройти от корневого каталога к файлу, с разделением отдельных компонентов. Отдельные компоненты в ОС UNIX разделяются косой чертой /, а в MS-DOS и Windows — обратной косой чертой \.
Организация файловой системы
Файловая система характеризует способ хранения и поиска информации на внешнем носителе — жестком диске.
Данные в ПК размещены по иерархическому принципу: на верхнем уровне — логический диск, на втором уровне — папки (каталоги), на третьем - файлы/папки. Логический диск — это логическая единица жесткого диска ПК. Разметка жесткого диска осуществляется специальной программой. Количество и размер логических дисков определяются пользователем ПК. Традиционно дисководы для гибких дисков носят название А: и В:. Названия логических дисков винчестера начинаются с С:, D:, Е: и т. д. На диске С: обычно устанавливаются и хранятся системные программы и файлы, а начиная с диска D: — размещается личная информация пользователя.
Папки (каталоги, директории) - элементы файловой структуры, отвечающие за систематизацию информации в файловой системе. Состав папок, их название, их наличие определяются пользователем и его методами работы. С точки зрения файловой системы папка -это небольшой файл со списком содержимого данной папки.
Файл— это поименованная область на носителе информации (диске), содержащая данные. Имя файла определяется по определенным законам и состоит из 2-х частей: собственно имени и расширения (типа). Имя файла может содержать русские и латинские буквы, цифры и некоторые знаки (подчеркивание, пробел, дефис, #, $, ...), длина имени не более 255 символов. Некоторые знаки запрещены для использования в имени -*,?,/, \ и др., поскольку за ними закреплены в системе определенные функции. Расширение (тип) файла может отсутствовать, но его наличие очень полезно, поскольку позволяет пользователю узнать, какого типа информация находится в файле (.txt — текстовый файл, .doc — документ, . bmp — картинка и т.п.), а операционная система может определить, с помощью какого приложения (программы) можно этот файл прочитать.
Расширения .ехе, .com, .bat определяют исполняемые файлы, файлы, внутри которых находится информация, «понятная» ПК на внутреннем языке. Это расширения файлов-программ (приложений).
Для группировки файлов в группы с целью их поиска используются шаблоны имен. В них могут использоваться определенные символы — символы шаблонов. К ним относятся:
* — обозначает любое количество любых символов;
? — любой один символ.
Рассмотрим несколько примеров (шаблонов):
*.txt - все файлы с расширением txt;
А*.ехе - исполняемые файлы, начинающиеся на А;
?K*.doc - файлы со второй буквой К в названии, сделанные в программе Word.
Небольшой файл (до 1 Кб), содержащий строку адреса файла, называется ярлыком.
Путь (адрес) файла- это его местоположение в файловой системе. Например, для случая на рис. 7.4, путь к файлу file.txt будет таким:
D:\моя\задания\file.tхt
Рис. 7.4. Фрагмент файловой структуры
Все современные дисковые операционные системы обеспечивают создание файловой системы, предназначенной для хранения данных на дисках и обеспечения доступа к ним. Принцип организации файловой системы — табличный. Поверхность жесткого диска рассматривается как трехмерная матрица, измерениями которой являются номера поверхности, цилиндра и сектора. Под цилиндром понимается совокупность всех дорожек, принадлежащих разным поверхностям и находящихся на равном удалении от оси вращения. Данные о том, в каком месте диска записан тот или иной файл, хранятся в системной области диска. Формат служебных данных определяется конкретной файловой системой. Нарушение целостности служебных сведений приводит к невозможности воспользоваться данными, записанными на диске. Поэтому к системной области предъявляются особые требования по надежности. Целостность, непротиворечивость и надежность этих данных регулярно контролируется средствами операционной системы.
Наименьшей физической единицей хранения данных является сектор. Размер сектора равен 512 байт. Теоретически возможна самостоятельная адресация для каждого сектора. Но для дисков большого объема такой подход неэффективен, а для некоторых файловых систем — просто невозможен. В связи с этим группы секторов объединяются в кластеры. Кластер является наименьшей единицей адресации при обращении к данным. Размер кластера, в отличие от размера сектора, строго не фиксирован. Обычно он зависит от емкости диска.
Операционные системы MS-DOS, OS/2, Windows 95 и другие используют файловую систему на основе таблиц размещения файлов (FAT-таблицы), состоящих из 16-разрядных полей. Такая файловая система называется FAT16. Она позволяет разместить в FAT-таблицах не более 65 536 записей (216) о местоположении единиц хранения данных. Для дисков объемом от 1 до 2 Гбайт длина кластера составляет 32 Кбайт (64 сектора). Это не вполне рациональный расход рабочего пространства, поскольку любой файл (даже очень маленький) полностью оккупирует весь кластер, которому соответствует только одна адресная запись в таблице размещения файлов. Даже если файл достаточно велик и располагается в нескольких кластерах, все равно в его конце образуется некий остаток, нерационально расходующий целый кластер.
Для жестких дисков, объем которых приближается к 2 Гбайт, потери, связанные с неэффективностью этой файловой системы, весьма значительны и могут составлять от 25% до 40% полной емкости диска, в зависимости от среднего размера хранящихся файлов. С дисками же размером более 2 Гбайт файловая система FAT16 вообще работать не может.
Начиная с Windows 98 операционные системы семейства Windows (Windows 98, Windows Me, Windows2000, WindowsXP) поддерживают более совершенную версию файловой системы на основе FAТ-таблиц - FAT32с 32-разрядными полями в таблице размещения файлов. Для дисков размером до 8 Гбайт эта система обеспечивает размер кластера 4 Кбайт (8 секторов).
Операционные системы Windows NT и Windows XP способны поддерживать совершенно другую файловую систему - NTFS. В ней хранение файлов организовано иначе — служебная информация хранится в главной таблице файлов (MFT). В системе NTFS размер кластера не зависит от размера диска, и, потенциально, для очень больших дисков эта система должна работать эффективнее, чем FAT32. Однако сучетом типичных характеристик современных компьютеров можно говорить о том что в настоящее время эффективность FAT32 и NTFS примерно одинакова.
Обслуживание файловой структуры
Несмотря на то что данные о местоположении файлов хранятся в табличной структуре, пользователю они представляются в виде иерархической структуры — людям так удобнее, а все необходимые преобразования берет на себя операционная система. К функции обслуживания файловой структуры относятся следующие операции, происходящие под управлением операционной системы:
- создание файлов и присвоение им имен;
- создание каталогов (папок) и присвоение им имен;
- переименование файлов и каталогов (папок);
- копирование и перемещение файлов между дисками компьютера и между каталогами (папками) одного диска;
- удаление файлов и каталогов (папок);
- навигация по файловой структуре с целью доступа к заданному файлу, каталогу (папке);
- управление атрибутами файлов.
Сравнение файловых систем Microsoft Windows.
Под управлением MS Win2000 возможно использование файловых систем FAT16, FAT32, NTFS или их комбинаций. Цифры в названии файловых систем — FAT16 и FAT32 — указывают на число бит, необходимых для хранения информации о номерах кластеров, используемых файлом. Так, в FAT16 применяется 16-битная адресация и, соответственно, возможно использование до 216 адресов. В Windows 2000 первые четыре бита таблицы расположения файлов FAT32 необходимы для собственных нужд, поэтому в FAT32 число адресов достигает 228.
Среди преимуществ FAT16 можно отметить следующие:
- файловая система поддерживается ОС MS-DOS, Windows 95, Windows 98, Windows NT, Windows 2000, а также некоторыми ОС UNIX;
- существует большое число программ, позволяющих исправлять ошибки в этой файловой системе и восстанавливать данные;
- при возникновении проблем с загрузкой с HDD система может быть загружена с системной дискеты;
- файловая система достаточно эффективна для томов объемом менее 256 Мб.
К недостаткам FAT16 можно отнести:
- не поддерживается резервная копия загрузочного сектора;
- в FAT 16 не поддерживается встроенная защита файлов и их сжатие.
Среди преимуществ FAT32 важно отметить следующие:
- выделение дискового пространства выполняется более эффективно, особенно для дисков большого объема;
- корневой каталог в FAT32 представляет собой обычную цепочку кластеров и может находиться в любом месте диска, благодаря этому FAT32 не накладывает никаких ограничений на число элементов в корневом каталоге;
- за счет использования кластеров меньшего размера занятое дисковое пространство на 10—15 % меньше, чем под FAT16.
- FAT32 является более надежной файловой системой, в частности, она поддерживает возможность перемещения корневого каталога и использование резервной копии FAT.
Основные недостатки FAT32:
- размер тома под Win2000 ограничен 32 Гб;
- тома недоступны из других ОС — только из Win95 OSR2 и Win98;
- не поддерживается резервная копия загрузочного сектора;
- не поддерживается встроенная защита файлов и их сжатие. При работе в Windows 2000 рекомендуется отформатировать все разделы HDD под NTFS, за исключением тех конфигураций, когда используется несколько ОС (кроме Windows 2000 и Windows NT).
Применение NTFS вместо FAT позволяет использовать функции, доступные в NTFS. К ним, в частности, относятся:
- возможность восстановления. Эта возможность встроена в файловую систему, NTFS и гарантирует сохранность данных за счет того, что используются протокол и некоторые алгоритмы восстановления информации;
- сжатие информации. Для томов NTFS Windows 2000 поддерживает сжатие отдельных файлов. Такие сжатые файлы могут использоваться Windows-приложениями без предварительной распаковки, которая происходит автоматически при чтении из файла. При закрытии и сохранении файл снова упаковывается;
- защита файлов и каталогов. Только на томах NTFS возможно задание атрибутов доступа к файлам и папкам;
- файловая система поддерживает резервную копию загрузочного сектора — она располагается в конце тома;
- NTFS поддерживает систему шифрования Encrypted File System (EFS), обеспечивающую защиту от неавторизованного доступа к содержимому файлов.
К недостаткам NTFS относятся:
- NTFS-тома недоступны в MS-DOS, Win95 и Win98;
- для томов небольшого объема, содержащих много файлов небольшого размера, возможно снижение производительности по сравнению с FAT.
Дата добавления: 2015-09-18; просмотров: 928;