Личный кабинет        07.07.2019   

Open Library - открытая библиотека учебной информации. Классификация, структура, характеристики файловых систем

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

Перечислим основные функции файловой системы.

1. Идентификация файлов. Связывание имени файла с выделенным ему пространством внешней памяти.

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

3. Обеспечение надежности и отказоустойчивости. Стоимость информации может во много раз превышать стоимость компьютера.

4. Обеспечение защиты от несанкционированного доступа.

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

6. Обеспечение высокой производительности.

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

37. Простейшая таблица оглавления тома и её элементы

Файловая система включает в себя таблицу содержания и область данных – совокупность блоков на диске, идентифицируемых своими номерами / адресами. Пример простейшей (абстрактной) таблицы содержания, оглавления тома (диска, пакета дисков), которая в разных ОС имеет различные наименования – VTOC – Volume Table of Content(Таблица Содержания Тома), FAT – File Allocation Table (Таблица Размещения Файлов), FDT – File Definition Table (Таблица Определения Файлов) и т. п., приведена на рис. 1.

Рис. 1. Простейшая таблица оглавления тома

Она состоит из трех областей:

· область файлов. Это таблица, имеющая обычно ограниченное (в приведенном примере N =6) число строк N (в MS-DOS, например, N =500, т.е. число файлов не более 500). Количество столбцов M (в примере M= 5)обычно выбирается из тех соображений, чтобы 85 -95%файлом, создаваемых пользователем содержало бы не более М блоков, что зависит как от размера блока и типа пользователя, так и от общего уровня развития информационного и программного обеспечения. Первый столбец таблицы в каждой строке (заглавная запись – Title Record) содержит данные о файле, в данном примере – имя файла;

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

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

· список сбойных блоков. Это таблица, создаваемая при инициа­лизации (разметке) тома (диска), пополняемая программами диагностики (примером которых может служить хорошо изве­стный пользователям NDD - Norton Disk Doctor) и предот­вращающая распределение испорченных областей на магнит­ном носителе под файлы данных.

Перечислим особенности ситуации, зафиксированной на рис.1. в простейшей (искусственной) файловой системе.

File_l занимает 6 блоков, это число больше максимального, по­этому адрес блока № 6 (23) размещен в таблице переполнения;

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

Имеются следующие конфликтные ситуации:

· File_3 не содержит ни одного блока (следовательно, файл был удален, но заглавная запись сохранилась);

· File_4 и File_l ссылаются на блок № 3. Это ошибка, посколь­ку каждый блок должен быть закреплен за единственным фай­лом;

· в списке свободных блоков содержатся номера блоков № 12 (помеченный как сбойный) и № 13 (распределенный под File_1).

38. Логическая структура разделов диска на примере IBM- и MS-совместимых файловых систем


Логическими дисками D и E

Максимальное число первичных разделов- 4. Активный раздел тот, где находится системный загрузчик.

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

Запись расширенного раздела называют SMBR (Secondary Master Boot Record ). Отличие этой записи заключается в том, что она не имеет загрузчика, а таблица разделов состоит из двух записей: основной раздел и расширенный раздел.

39. Файловая система FAT. Структура тома FAT

40. Файловая система NTFS. Структура тома NTFS

41. Реестр ОС Windows

42. Операционные системы семейства Windows NT

43. Некоторые архитектурные модули Windows NT

44. Управление жесткими дисками в Windows NT

45. Проективные операционные системы, их принципы, преимущества, недостатки

46. Процедурные операционные системы, их принципы, преимущества, недостатки

47. История развития и идеология построения ОС Unix

48. Структура ОС Unix

49. Пользовательские интерфейсы Unix

50. Диспетчеризация процессов (задач) в Unix

51. ОС Linux и ее основные преимущества

52. Реализация графического режима в ОС Linux

53. Основные принципы работы в ОС Linux

54. Основные файлы конфигурации ОС Linux

55. Работа с дисковыми накопителями в ОС Linux

56. Приложения для ОС Linux

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

В мире UNIX существует несколько разных видов файловых систем со своей структурой внешней памяти. Наиболее известны традиционная файловая система UNIX System V (s5) и файловая система семейства UNIX BSD (ufs). Файловая система s5 состоит из четырех секций (рисунок 2.2,a). В файловой системе ufs на логическом диске (разделе реального диска) находится последовательность секций файловой системы (рисунок 2.2,b).

Рис. 2.2. Структура внешней памяти файловых систем s5 и ufs

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

  • Boot -блок содержит программу раскрутки, которая служит для первоначального запуска ОС UNIX. В файловых системах s5 реально используется boot -блок только корневой файловой системы. В дополнительных файловых системах эта область присутствует, но не используется.
  • Суперблок - это наиболее ответственная область файловой системы, содержащая информацию, которая необходима для работы с файловой системой в целом. Суперблок содержит список свободных блоков и свободные i-узлы (information nodes - информационные узлы). В файловых системах ufs для повышения устойчивости поддерживается несколько копий суперблока (как видно из рисунка 2.2,b, по одной копии на группу цилиндров). Каждая копия суперблока имеет размер 8196 байт, и только одна копия суперблока используется при монтировании файловой системы (см. ниже). Однако, если при монтировании устанавливается, что первичная копия суперблока повреждена или не удовлетворяет критериям целостности информации, используется резервная копия.
  • Блок группы цилиндров содержит число i-узлов, специфицированных в списке i-узлов для данной группы цилиндров, и число блоков данных, которые связаны с этими i-узлами. Размер блока группы цилиндров зависит от размера файловой системы. Для повышения эффективности файловая система ufs старается размещать i-узлы и блоки данных в одной и той же группе цилиндров.
  • Список i-узлов (ilist) содержит список i-узлов, соответствующих файлам данной файловой системы. Максимальное число файлов, которые могут быть созданы в файловой системе, определяется числом доступных i-узлов. В i-узле хранится информация, описывающая файл: режимы доступа к файлу, время создания и последней модификации, идентификатор пользователя и идентификатор группы создателя файла, описание блочной структуры файла и т.д.
  • Блоки данных - в этой части файловой системы хранятся реальные данные файлов. В случае файловой системы ufs все блоки данных одного файла пытаются разместить в одной группе цилиндров. Размер блока данных определяется при форматировании файловой системы командой mkfs и может быть установлен в 512, 1024, 2048, 4096 или 8192 байтов.

Балашовский институт (филиал) Саратовского государственного университета им. Н.В. Чернышевского

Курсовая работа выполнил студент 142 группы Ефанов А.П.

Балашов 2010

Введение

В настоящее время на одном диске в среднем записывается несколько десятков тысяч файлов. Как разобраться во всем этом многообразии с тем, чтобы точно адресоваться к файлу? Назначение файловой системы – эффективное решение указанной задачи.

Развитие файловых систем персональных компьютеров определялось двумя факторами - появлением новых стандартов на носители информации и ростом требований к характеристикам файловой системы со стороны прикладных программ (разграничение уровней доступа, поддержка длинных имен файлов в формате UNICODE). Первоначально, для файловых систем первостепенное значение имело увеличение скорости доступа к данным и минимизация объема хранимой служебной информации. Впоследствии с появлением более быстрых жестких дисков и увеличением их объемов, на первый план вышло требование надежности хранения информации, которое привело к необходимости избыточного хранения данных.

Эволюция файловой системы была напрямую связана с развитием технологий реляционных баз данных. Файловая система использовала последние достижения, разработанные для применения в СУБД: механизмы транзакций, защиты данных, систему самовосстановления в результате сбоя.

Развитие файловых систем привело к изменению самого понятия "файл" от первоначального толкования как упорядоченная последовательность логических записей, до понятия файла, как объекта, имеющего набор характеризующих его атрибутов (включая имя файла, его псевдоним, время создания и собственно данные), реализованного в NTFS.

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

В отличие от попыток ввести стандарт на протокол, описывающий правила доступа к удаленным файловым системам (CIFS, NFS), не стоит ожидать появления подобного стандарта, описывающего файловые системы для жестких дисков. Это можно объяснить тем, что файловая система жестких дисков все еще продолжает оставаться одной из главных частей операционной системы, влияющей на ее производительность. Поэтому каждый производитель операционных систем будет стремиться использовать файловую систему, "родную" для его ОС.

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

Файлы идентифицируются именами. Пользователи дают файлам символьные имена, при этом учитываются ограничения ОС как на используемые символы, так и на длину имени. До недавнего времени эти границы были весьма узкими. Так в популярной файловой системе FAT длина имен ограничивается известной схемой 8.3 (8 символов - собственно имя, 3 символа - расширение имени), а в ОС UNIX System V имя не может содержать более 14 символов. Однако пользователю гораздо удобнее работать с длинными именами, поскольку они позволяют дать файлу действительно мнемоническое название, по которому даже через достаточно большой промежуток времени можно будет вспомнить, что содержит этот файл. Поэтому современные файловые системы, как правило, поддерживают длинные символьные имена файлов. Например, Windows NT в своей новой файловой системе NTFS устанавливает, что имя файла может содержать до 255 символов, не считая завершающего нулевого символа.

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

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

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

Типы файлов. Файлы бывают разных типов: обычные файлы, специальные файлы, файлы-каталоги.

Обычные файлы в свою очередь подразделяются на текстовые и двоичные. Текстовые файлы состоят из строк символов, представленных в ASCII-коде. Это могут быть документы, исходные тексты программ и т.п. Текстовые файлы можно прочитать на экране и распечатать на принтере. Двоичные файлы не используют ASCII-коды, они часто имеют сложную внутреннюю структуру, например, объектный код программы или архивный файл. Все операционные системы должны уметь распознавать хотя бы один тип файлов - их собственные исполняемые файлы.

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

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

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

информация о разрешенном доступе,

пароль для доступа к файлу,

владелец файла,

создатель файла,

признак "только для чтения",

признак "скрытый файл",

признак "системный файл",

признак "архивный файл",

признак "двоичный/символьный",

признак "временный" (удалить после завершения процесса),

признак блокировки,

длина записи,

указатель на ключевое поле в записи,

длина ключа,

времена создания, последнего доступа и последнего изменения,

текущий размер файла,

максимальный размер файла.

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

Иерархия каталогов может быть деревом или сетью. Каталоги образуют дерево, если файлу разрешено входить только в один каталог, и сеть - если файл может входить сразу в несколько каталогов. В MS-DOS каталоги

Рисунок. 1 Структура каталогов: а - структура записи каталога MS-DOS (32 байта);

б - структура записи каталога ОС UNIX

Рисунок 2 Логическая организация файловой системы

а - одноуровневая; б - иерархическая (дерево); в - иерархическая (сеть)

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

Программист имеет дело с логической организацией файла, представляя файл в виде определенным образом организованных логических записей. Логическая запись - это наименьший элемент данных, которым может оперировать программист при обмене с внешним устройством. Даже если физический обмен с устройством осуществляется большими единицами, операционная система обеспечивает программисту доступ к отдельной логической записи. На рисунке 3 показаны несколько схем логической организации файла. Записи могут быть фиксированной длины или переменной длины.

Рисунок 3 Способы логической организации файлов

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

организация).

Для идентификации записи может быть использовано специальное поле записи, называемое ключом. В файловых системах ОС UNIX и MS-DOS файл имеет простейшую логическую структуру - последовательность однобайтовых записей.

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

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

Рисунок 4 Физическая организация файла

а - непрерывное размещение; б - связанный список блоков;

в - связанный список индексов; г - перечень номеров блоков

Популярным способом, используемым, например, в файловой системе FAT операционной системы MS-DOS, является использование связанного списка индексов. С каждым блоком связывается некоторый элемент - индекс. Индексы располагаются в отдельной области диска (в MS-DOS это таблица FAT). Если некоторый блок распределен некоторому файлу, то индекс этого блока содержит номер следующего блока данного файла. При такой физической организации сохраняются все достоинства предыдущего способа, но снимаются оба отмеченных недостатка: во-первых, для доступа к произвольному месту файла достаточно прочитать только блок индексов, отсчитать нужное количество блоков файла по цепочке и определить номер нужного блока, и, во-вторых, данные файла занимают блок целиком, а значит имеют объем, равный степени двойки.

В заключение рассмотрим задание физического расположения файла путем простого перечисления номеров блоков, занимаемых этим файлом. ОС UNIX использует вариант данного способа, позволяющий обеспечить фиксированную длину адреса, независимо от размера файла. Для хранения адреса файла выделено 13 полей. Если размер файла меньше или равен 10 блокам, то номера этих блоков непосредственно перечислены в первых десяти полях адреса. Если размер файла больше 10 блоков, то следующее 11-е поле содержит адрес блока, в котором могут быть расположены еще 128 номеров следующих блоков файла. Если файл больше, чем 10+128 блоков, то используется 12-е поле, в котором находится номер блока, содержащего 128 номеров блоков, которые содержат по 128 номеров блоков данного файла. И, наконец, если файл больше 10+128+128(128, то используется последнее 13-е поле для тройной косвенной адресации, что позволяет задать адрес файла, имеющего размер максимум 10+ 128 + 128(128 + 128(128(128.

2.Общие понятия файловой системы

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

Задачей символьного уровня является определение по символьному имени файла его уникального имени. В файловых системах, в которых каждый файл может иметь только одно символьное имя (например, MS-DOS), этот уровень отсутствует, так как символьное имя, присвоенное файлу пользователем, является одновременно уникальным и может быть использовано операционной системой.

Рисунок 5 Общая модель файловой системы

В других файловых системах, в которых один и тот же файл может иметь несколько символьных имен, на данном уровне просматривается цепочка каталогов для определения уникального имени файла. В файловой системе UNIX, например, уникальным именем является номер индексного дескриптора файла (i-node).

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

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

На логическом уровне определяются координаты запрашиваемой логической записи в файле, то есть требуется определить, на каком расстоянии (в байтах) от начала файла находится требуемая логическая запись. При этом абстрагируются от физического расположения файла, он представляется в виде непрерывной последовательности байт. Алгоритм работы данного уровня зависит от логической организации файла. Например, если файл организован как последовательность логических записей фиксированной длины l, то n-ая логическая запись имеет смещение l((n-1) байт. Для определения координат логической записи в файле с индексно-последовательной организацией выполняется чтение таблицы индексов (ключей), в которой непосредственно указывается адрес логической записи.

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

Исходные данные:

V - размер блока

N - номер первого блока файла

S - смещение логической записи в файле

Требуется определить на физическом уровне:

n - номер блока, содержащего требуемую логическую запись

s - смещение логической записи в пределах блока

n = N + , где - целая часть числа S/V

s = R - дробная часть числа S/V

На физическом уровне файловая система определяет номер физического блока, который содержит требуемую логическую запись, и смещение логической записи в физическом блоке. Для решения этой задачи используются результаты работы логического уровня - смещение логической записи в файле, адрес файла на внешнем устройстве, а также сведения о физической организации файла, включая размер блока. Рисунок 6 иллюстрирует работу физического уровня для простейшей физической организации файла в виде непрерывной последовательности блоков. Подчеркнем, что задача физического уровня решается независимо от того, как был логически организован файл.

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

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

Новая файловая система имеет многоуровневую структуру (рисунок 7), на верхнем уровне которой располагается так называемый переключатель файловых систем (в Windows 95, например, такой переключатель называется устанавливаемым диспетчером файловой системы - installable filesystem manager, IFS). Он обеспечивает интерфейс между запросами приложения и конкретной файловой системой, к которой обращается это приложение. Переключатель файловых систем преобразует запросы в формат, воспринимаемый следующим уровнем - уровнем файловых систем.

Рисунок 7 Архитектура современной файловой системы

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

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

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

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

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

3. Виды файловых систем

3.1 Файловая система FAT

Большинство существующих на сегодняшний день файловых систем построены на основе таблицы размещения файлов (File Allocation Table - FAT), которая содержит дорожки данных в каждом кластере на диске. Существует несколько типов файловой системы FAT - FAT 12, FAT 16 и FAT 32. Они отличаются количеством цифр, используемых в таблице размещения файлов. Другими словами, в FAT 32 используется 32-разрядное число для хранения дорожки данных в каждом кластере, в FAT 16 - 16-разрядное число и т.д. В настоящее время существуют следующие типы файловой системы FAT:

FAT 12, используемая в разделах емкостью не более 16 Мбайт (например, дискета);

FAT 16, используемая в разделах емкостью от 16 Мбайт до 2 Гбайт;

FAT 32, используемая (необязательно) в разделах емкостью от 512 Мбайт до 2 Тбайт.

Файловые системы FAT 12 и FAT 16 изначально применяются в DOS и Windows и поддерживаются практически всеми известными на сегодняшний день операционными системами. Большинство персональных компьютеров поставляется с жесткими дисками, на которых установлена одна из файловых систем FAT.

Файловая система FAT 32 поддерживается операционной системой Windows 95 и более поздними версиями, а также Windows 2000.

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

загрузочные секторы главного и дополнительного разделов;

загрузочный сектор логического диска;

таблицы размещения файлов (FAT);

корневой каталог;

область данных;

цилиндр для выполнения диагностических операций чтения/записи.

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

Загрузочный сектор главного раздела (или главная загрузочная запись (Master Boot Record - MBR)) является первым сектором на жестком диске (цилиндр 0, головка 0, сектор 1) и состоит из двух элементов.

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

Главный загрузочный код. Небольшая программа, которая выполняется системой BIOS. Основная функция этого кода - передача управления в раздел, который обозначен как активный (или загрузочный).

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

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

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

Загрузочный код - программа, которая начинает процесс загрузки операционной системы. Для DOS и Windows 9x/Me это файл Io.sys.

Загрузочный сектор дискеты загружается ROM BIOS, а при загрузке системы с жесткого диска MBR передает управление загрузочному сектору активного раздела. В обоих случаях загрузочный сектор логического диска получает управление. Он выполняет некоторые проверки и затем пытается прочитать с диска первый системный файл (в DOS/Windows это файл Io.sys). Загрузочный сектор не виден, так как находится вне области хранения файлов логического диска.

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

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

Байт атрибутов файла, содержащий флаг, который представляет стандартные атрибуты файла.

Время и дата создания файла или его модификации.

Информация о расположении файла, т.е. расположении оставшихся кластеров, содержится в FAT.

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

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

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

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

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

3.2 Ошибки файловой системы FAT

Ошибки в файловой системе появляются скорее из-за программных, нежели из-за аппаратных сбоев (например, при неверном завершении работы Windows).

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

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

Например, программа Chkdsk из цепочек потерянных кластеров создает файлы с именами FILE0001.CHK, FILE0002.CHK и т.д.

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

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

Неверный файл или каталог. Иногда информация в записи каталога для

файла или подкаталога не соответствует действительности: запись содержит

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

Команды Chkdsk, Recover и Scandisk - это "реанимационная бригада" DOS, занимающаяся восстановлением поврежденных данных на диске. Эти команды имеют очень простой и не слишком дружественный интерфейс, их применение зачастую оказывает значительное воздействие на систему, но иногда только они и могут помочь.

3.3 Файловая система NTFS

По сравнению с FAT или FAT32, NTFS предоставляет пользователю целое сочетание достоинств: эффективность, надежность и совместимость. Файловая система NTFS применяется в операционной системе Windows NT/2000/XP.

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

При установке NTFS, диск разделяется на две неравные части: первая отводиться под MFT (Master File Table - общая таблица файлов), называется MFT - зоной и занимает порядка 12% от общего размера диска, вторую часть занимают собственно ваши данные. Есть еще и третья зона, но о ней позже. MFT лежит в начале диска, каждая запись в MFT соответствует какому-либо файлу и занимает около 1 Kb. По своей сути это каталог всех файлов находящихся на диске. Надо заметить, что любой элемент данных в NTFS рассматривается как файл, даже MFT.

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

Свободное место диска, однако, включает в себя всё физически свободное место - незаполненные куски MFT-зоны туда тоже включаются. Механизм использования MFT-зоны таков: когда файлы уже нельзя записывать в обычное пространство, MFT-зона просто сокращается (в текущих версиях операционных систем ровно в два раза), освобождая таким образом место для записи файлов. При освобождении места в обычной области MFT зона может снова расширится.

Первые 16 файлов (метафайлы) в MFT - зоне являются особой кастой. В них содержится служебная информация, они имеют фиксированное положение и они недоступны даже операционной системе. Кстати, первым из этих 16 является сам MFT - файл. Существует копия первых трех записей.

Третья зона, в свою очередь, делит диск пополам. Это сделано для надежности, в случае утери информации в MFT - файле, всегда можно восстановить информацию, а там уже дело техники, как говориться. Все остальные файлы в MFT - зоне могут располагаться произвольно. Надо заметить, что в MFT - зоне теоретически кроме служебных файлов ничего не находиться. Но бывают случаи, когда места на той части диска, что отведена для пользователя не остается и тогда MFT - зона уменьшается. Соответственно появляется место во второй половине диска для записи данных. Когда же в этой зоне освобождается достаточное количество свободного места, MFT - зона опять расширяется. И вот тут то появляется проблема. В MFT - зону попадают обычные файлы и она начинает фрагментироваться. Но вернемся к метафайлам. Каждый из них отвечает за какую-либо область работы. Начинаются они с символа имени $. Приведем пример некоторых из них:

$MFT - не что иное как сам MFT

$MFTmirr - та самая копия, что по серединке диска

$LogFile - это файл журналирования

$Boot - как видно из названия, его величество загрузочный сектор

$Bitmap - карта свободного места раздела

Информация о метафайлах находиться в MFT - файле. Такая система придумана для увеличения надежности NTFS и себя оправдывает. NTFS практически не имеет ограничения на размеры диска (во всяком случае при нынешних технологиях производства жестких дисков). Размер кластера может варьироваться от 512 b до 64 Kb, хотя обычный его размер равен 4 Kb.

Каталог NTFS. Это метафайл с обозначением $. Он разделен на части, в каждой из которых содержится имя файла, его атрибуты и ссылка на MFT - файл. А там уже есть вся остальная информация. Каталог представляет собой бинарное дерево, т.е. в каталоге информация о данных на диске расположена таким образом, что при поиске какого-либо файла каталог разбивался на две части и ответ заключался в том, в какой именно части находиться искомое. Затем та же самая операция повторяется в выбранной половине. И так до тех пор, пока не будет найден нужный файл.

Файлы. Их как таковых нет, есть так называемые потоки. То есть, любая единица информации представляет собой несколько потоков. Один поток - это сами данные, он является основным. Другие потоки - атрибуты файла. К любому файлу можно прикрепить любой другой файл. Проще говоря, к потокам одних данных можно прикрепить совершенно новый поток и записать туда новые данные. Вот только информация по объему файла берется по объему основного потока. Пустые или малоразмерные файлы на диске отображены только в метафайлах. Сделано это в целях экономии дискового пространства. Вообще надо отметить, что понятие файл намного глубже и шире и все свойства описать довольно сложно. Отмечу, что максимальная длина имени файла может достигать 255 символов.

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

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

Журналирование. NTFS - отказоустойчивая система, которая вполне может привести себя в корректное состояние при практически любых реальных сбоях. Любая современная файловая система основана на таком понятии, как транзакция - действие, совершаемое целиком и корректно или не совершаемое вообще. У NTFS просто не бывает промежуточных (ошибочных или некорректных) состояний - квант изменения данных не может быть поделен на до и после сбоя, принося разрушения и путаницу - он либо совершен, либо отменен.

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

Таким образом, журналирование – средство для существенного сокращения числа ошибок и сбоев системы. Вряд ли рядовой пользователь NTFS хоть когда-нибудь заметит ошибку системы или вынужден будет запускать chkdsk - опыт показывает, что NTFS восстанавливается в полностью корректное состояние даже при сбоях в очень загруженные дисковой активностью моменты. Можно даже оптимизировать диск и в самый разгар этого процесса нажать reset - вероятность потерь данных даже в этом случае будет очень низка. Важно понимать, однако, что система восстановления NTFS гарантирует корректность файловой системы, а не ваших данных. Если вы производили запись на диск и получили аварию - ваши данные могут и не записаться.

3.4 Сравнительная характеристика FAT 32 и NTFS. Достоинства и недостатки

Достоинства NTFS:

1. Быстрая скорость доступа к файлам малого размера;

2. Размер дискового пространства на сегодняшний день практически не ограничен;

3. Фрагментация файлов не влияет на саму файловую систему;

4. Высокая надежность сохранения данных и собственно самой файловой структуры;

5. Высокая производительность при работе с файлами большого размера;

Недостатки NTFS:

1. Более высокие требования к объему оперативной памяти по сравнению с FAT 32;

2. Работа с каталогами средних размеров затруднена из-за их фрагментации;

3. Более низкая скорость работы по сравнению с FAT 32;

Достоинства FAT 32:

1. Высокая скорость работы;

2. Низкое требование к объему оперативной памяти;

3. Эффективная работа с файлами средних и малых размеров;

4. Более низкий износ дисков, вследствие меньшего количества передвижений головок чтения/записи.

Недостатки FAT 32:

1. Низкая защита от сбоев системы;

2. Не эффективная работа с файлами больших размеров;

3. Ограничение по максимальному объему раздела и файла;

4. Снижение быстродействия при фрагментации;

5. Снижение быстродействия при работе с каталогами, содержащими большое количество файлов.

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

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

3.5.1 EXT 2 (The Second Extended File System)

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

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

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

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

Битовая карта блоков - массив битов, указывающих на использованные блоки.

Таблица индексных дескрипторов - таблица реально выделенных для данной группы блоков индексных дескрипторов.

Блоки данных – блоки, в которых непосредственно находятся данные.

На рисунке 8 приведена схема файловой системы Linux..

Рисунок 8 Файловая система Ext2

Файловая система ext3 по сути является усовершенствованной версией файловой системы ext2. Эти усовершенствования предоставляют следующие преимущества:

1)Доступность

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

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

2) Целостность данных

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

3) Скорость

Несмотря на то, что некоторые данные записываются неоднократно, в большинстве случаев ext3 работает быстрее, чем ext2, так как журналирование ext3 позволяет оптимизировать перемещение головки жёсткого диска. Вы можете оптимизировать скорость, выбирая из трёх режимов журналирования, но учтите, что это влияет на уровень целостности данных.

4.Программы для работы с жесткими дисками и файловыми системами

4.1 Acronis Disk Director Suite 10

Acronis Disk Director Suite 10 предоставляет такие возможности, как управление жесткими дисками, деление их на разделы без потери данных, перенос операционной системы с диска на диск и многое другое. Это профессиональная программа для работы с жесткими дисками в домашних условиях.

Для полноценного использования Acronis Disk Director Suite необходимо иметь в распоряжении:

Операционнуюсистему Microsoft Windows 98 SE/Me/NT4.0/Workstation SP 6/2000 Professional SP 4/XP SP 2;

Процессор с тактовой частотой 300 МГц или более мощный;

256 Мб оперативной памяти;

100 Мб свободного пространства на жёстком диске;

Пишущий CD/DVD дисковод.

Установка программы не вызывает проблем. Все интуитивно понятно.

Интерфейс программы предельно прост и понятен

Профессиональный подход к работе организован с учетом навыков обыкновенных пользователей. В программу Acronis Disk Director Suite 10 включены обновленные утилиты, ранее доступные только по отдельности. Менеджер разделов (Partition Expert) поможет скопировать, разделить, переместить разделы жестко диска без потери данных. Эта функция одна из самых популярных и полезных. Можно перенести свою операционную систему со всеми файлами на новый жесткий диск, если сломался старый. Это избавляет от необходимости заново переустанавливать операционную систему со всеми программами. Или можно просто разделить жесткий диск на разделы (локальные диски) для удобства в работе. Разрезать диск на несколько разделов без потери данных - проще простого. Для этого понадобится сделать всего несколько движений мышкой: запустить программу, кликнуть на жестком диске правой кнопкой, выбрать «Изменить размер» и, передвигая визуальные границы раздела, задать тот размер, который вам нравится. И все. Да, еще один момент: для завершения любой операции по отдельности или всех сразу нажимайте «Финишный флажок» (рисунок 9).

Рисунок 9: Изменение размера раздела

Редактор дисков выполняет специализированные операции по работе с жестким диском: от проверки до исправления ошибок. Можете запустить автоматическую проверку жесткого диска на наличие ошибок, если впервые обращаемся к этой программе или даже воспользоваться шестнадцатеричным редактором. Для выполнения проверки достаточно выбрать жесткий диск или раздел, нажав правой клавишей мышки на нем, и выбрать «Проверка». Утилита приведет жесткий диск в порядок. Утилита восстановления разделов (Recovery Expert) – профессиональный инструмент по возвращению к жизни и восстановлению утраченных или удаленных разделов. Может случиться так, что случайно удалится раздел жесткого диска или это произойдет в результате программной ошибки. Эта утилита может восстановить с высокой точностью данные, которые были удалены даже несколько месяцев назад. Для вызова этой утилиты необходимо кликнуть выкладку «Мастера» и выбрать «Восстановление разделов».

В программе ведется журнал событий, всегда можно просмотреть, что происходило с жестким диском, какие действия предпринимались самой программой. Это будет полезно, если мы забыли, как правильно совершить то или иное действие над жестким диском или выяснить последовательность шагов выполнения операции. У программы все ходы записаны (рисунок 10)!

Рисунок 10: Журнал событий программы

И еще одна полезная функция программы – создание загрузочного диска. Если вдруг Windows «приказала долго жить», а копию своих файлов мы так и не успели сделать, не стоит думать, что драгоценная информация утеряна навсегда. Воспользуемся загрузочным диском: он способен работать с жестким диском без загрузки операционной системы. Мы сможем полноценно работать с содержимым жесткого диска, переносить файлы, протестировать на наличие ошибок и попробовать устранить неполадку с загрузкой операционной системы. Функции и внешний вид программы в этом случае не будут отличаться от тех, которые используются в Windows. Одно маленькое «но»: сделать загрузочный диск нужно заранее, лучше всего сразу после установки программы (рисунок 11).

Рисунок 11 Создание загрузочного диска

Создание загрузочного диска занимает несколько минут и не требует никаких навыков. Для этого понадобится чистый диск CD-R. Выбераем «Создание загрузочных дисков» на вкладке «Сервис». Просто нужно нажать везде «Далее» и дождаться записи диска. На этом все. Теперь Acronis Disk Director Suite 10 будет присутствовать на компакт-диске.

4.2. Power Quest Partition Magic 8.0

Программа Power Quest Partition Magic 8.0 работает со всеми версиями Windows, желает видеть не менее 32 Мб оперативной памяти и процессор не ниже Пентиум-150. Partition Magic 8.0 понимает файловые системы FAT16, FAT32, NTFS, Linux Ext2/3, а также знает, что такое раздел для Линуксового своп-файла Linux Swap.

Посмотрим, что же нам обещают разработчики по части умений новой версии программы:

Создание и удаление разделов на жестком диске, а также изменение размеров этих разделов без потери данных. Как видите, FDISK отдыхает.

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

Преобразование файловых систем FAT32 в FAT16 и NTFS, а также NTFS в FAT32.

Изменение размеров кластера для уменьшения потерь дискового пространства.

После изменения буквы имени диска встроенная утилита DriveMapper проверит пути к программам, и при необходимости внесет изменения в реестр, а также сделает соответствующие исправления в системных ярлыках.

Проверка жестких дисков на наличие bad-секторов.

Работа с разделами до 160 Гб.

Поддержка новых устройств с протоколами обмена данными USB2 и FireWire (IE 1394).

Входящая в комплект программы Partition Magic 8.0 утилита Boot Magic 8.0 при необходимости создаст удобное меню для выбора загрузки той или иной операционной системы.

Возможность создания загрузочных дискет для внесения изменений или исправлений в среде DOS. Кстати, эти дискеты (2 штуки) можно создать сразу в процессе установки программы, а можно и после, выбрав в меню Старт > Программы > PartitionMagic 8.0 Tools пункт Create Rescue Diskettes. Не ленитесь выполнить эту операцию, поскольку жизнь – штука непредсказуемая.

Главное окно программы сразу же наглядно покажет все разделы, имеющиеся на жестких дисках вашего компьютера (рисунок 12).

Рисунок 12: главное окно "Partition Magic 8.0

Причем, каждый раздел выделен особым цветом, которым Partition Magic помечает файловые системы – ошибиться будет трудно. Также ясно виден размер свободного места в разделе (незанятое пространство выделено белым цветом). Команды для всех операций с разделами доступны как в меню, так и в контекстном меню. Итак, что мы имеем, глядя на рис.9? Картинка говорит о том, что в системном блоке ПК установлены два физических жестких диска.

В новой версии появилась Action Panel, которая располагается в левой части главного окна. В разделе Pick a Task представлен набор «Помощников» для основных операций с разделами, которые помогут начинающим пользователям осуществить необходимые манипуляции по созданию нового раздела, перераспределению свободного места и установке новой операционной системы. Каждый «Мастер» состоит из цикла последовательных шагов, которые выполнены в виде вполне понятных окон.

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

Разумеется, для создаваемого дополнительного раздела нам потребуется свободное место, которое мы позаимствуем у раздела основного. Правой кнопкой щелкаем по изображению раздела в окне Partition Magic, и выбираем в контекстном меню команду Resize/Move. В одноименном окне можно сразу задать размер дополнительного раздела в поле New Size, а можно, потянув курсором движок, выбрав нужный размер «на глазок» (рисунок 13).

Рисунок 13: изменяем размер раздела

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

После процедуры «честного отъема» дискового пространства у основного раздела, свободное место выделится безликим серым цветом – Unallocated.

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

Рисунок 14

Коль скоро мы задались целью создать именно логический диск, то в поле Create as выберем параметр Logical, и файловую систему FAT32, которую понимают все системы от Microsoft.

Нужды в дополнительном форматировании создаваемого раздела нет, поскольку мы задали тип файловой системы, но при желании отформатировать логический диск, например, в NTFS, к нашим услугам команда Format контекстного меню, или та же команда в меню Partition главного окна. По окончании вышеописанных процедур, новый раздел вместе с новеньким логическим диском D: явит нам свой чистый лик (рисунок 15):

Рисунок 15: логический диск почти готов

Как видим, программа сама позаботилась о назначении буквы новому диску. Осталось нажать кнопку Apply в левом нижнем углу главного окна, после чего изменения вступят в силу непосредственно в среде Windows (рисунок 16):

Рисунок 16: процесс пошел

Но и это еще не финал: встроенная утилита Drive Mapper тут же попросит разрешения отследить измененные пути к программам, чтобы внести исправления в реестр, понеже таковые найдутся – ведь у нас появился новый диск с буквой D:, а привод CD-ROM стал именоваться буквой Е: (рисунок 17).

Рисунок 17

4.2.1 DOS-версия Partitin Magiс

После загрузки DOS-версии появится окно программы не столь красивое, как в 32-разрядной инкарнации, однако же, позволяющее осуществить практически все операции, подвластные пользователю из-под Windows. Для изменения размера раздела и создания раздела нового, достаточно щелкнуть мышью в поле имеющегося раздела, и в контекстном меню выбрать команду Resize/Move (Изменить/Переместить) – рисунок 18.

Рисунок 18

Окно с движком изменения размера нам уже знакомо по Windows-версии, и не представляет никаких сложностей: точно так же перетаскиваем движок до нужного размера нового раздела, или сразу вписываем необходимое количество мега- или гигабайт для нового раздела в поле Free Space After (рисунок 19).

Рисунок 20

В списке Create As выбираем нужный параметр: Logical partiton для логического диска, или Primary partiton при создании еще одного первичного (основного) раздела. В списке Partition Type отметим тип файловой системы будущего раздела или логического диска: FAT32, NTFS или на наше усмотрение (рисунок 21).

Рисунок 21

После этих манипуляций в окне программы появится ПРОЕКТ новой структуры жесткого диска (рисунок 22).

Рисунок 22

Затем, чтобы сохранить сделанные изменения, нажмем кнопку Apply, и ответим Yes на извечный вопрос - быть, али, к примеру, не быть (рисунок 23). По истечении небольшого времени работы программы (рисунок 24) все изменения вступят в силу.

Рисунок 23

Рисунок 24

Как уже говорилось, Partition Magic умеет превращать основные разделы в логические диски, и наоборот, а также конвертировать FAT32 > NTFS и обратно. DOS-версия делает то же самое: при щелчке по нужному разделу следует выбрать знакомую команду Convert, после чего никакого окна не появится, а откроется выпадающее меню с командами, доступными для данного раздела. Например, так выглядят команды для логического диска с файловой системой NTFS: можно превратить оный в основной раздел (Logical to Primary) или преобразовать файловую систему в FAT32 (NTFS to FAT32) – рисунок 25.

рисунок 25

А вот что можно сделать с FAT32-разделом (рисунок 26): как видим, доступно превращение основного раздела в логический диск (Primary to Logical) и конвертация файловой системы в…FAT (имеется в виду система FAT16). Почему же недоступна команда для конвертации в NTFS? Открою маленький секрет: в этом разделе не было никаких данных, а, следовательно, нечего было терять, и для превращения файловой системы раздела в NTFS следует выбрать команду Format - только и всего.

Рисунок 26

Все команды контекстного меню DOS-версии Partition Magic доступны в меню Operations главного окна (рисунок 27).

Рисунок 27

Как видим, программа Partition Magic 8.0 обладает массой возможностей и вспомогательных программ, и сможет решить практически все задачи, которые пользователь собирается решить при работе с дисковыми разделами.

Заключение

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

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

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

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

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

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

Список литературы

Гук М. Аппаратные средства IBM PC: Бестселлер - 2-е изд.: Питер, 2005.

Фигурнов В.Э. «IBM PC для пользователя» - 7е изд., перераб. и доп. – М. ИНФА-М, 1998.

Организация ЭВМ и систем

Орлов С., Цилькер Б. Организация ЭВМ и систем: Питер, 2007, 672 с.

Мелехин В.Ф., Павловский Е. Г. Вычислительные машины, системы и сети, 3-е изд.: М.: Издательский центр «Академия», 2007, 560 с.

Гордеев А.В. Операционные системы. Учебник для вузов. 2-е изд.: Питер, 2004, 416 с.

Таненбаум Э.С. Перевод: А. Леонтьев Современные операционные системы: Питер, 2002, 1040 с.

Гладкий А. А. Windows XP для всех: Питер, 2005, 208 с.

Электронные ресурсы

Обзор файловых систем FAT и NTFS http://support.microsoft.com/kb/100108

www.powerquest.com

http://www.acronis.ru/homecomputing/products/diskdirector/

Файлы на компьютере создаются и размещаются на базе системных принципов. Благодаря их реализации, пользователь получает возможность комфортно обращаться к нужной информации, не задумываясь о сложных алгоритмах доступа к ней. Каким образом организована работа файловых систем? Какие из них самые популярные сегодня? Каковы различия между файловыми системами, адаптированными для ПК? И теми, что используются в мобильных устройствах - смартфонах или планшетах?

Файловые системы: определение

Согласно распространенному определению, файловая система - это совокупность алгоритмов и стандартов, задействуемых с целью организации эффективного доступа пользователя ПК к данным, размещенным на компьютере. Некоторые специалисты считают ее частью Другие IT-эксперты, признавая тот факт, что она непосредственно связана с ОС, полагают, что файловая система - независимый компонент управления компьютерными данными.

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

Принципы работы файловых систем

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

Согласно общепринятому в среде IT-экспертов определению, это область данных фиксированной величины, выражаемая в базовых единицах измерения информации - байтах. Располагается файл на дисковом носителе, как правило, в виде нескольких связанных между собой блоков, имеющих конкретный "адрес" доступа. Файловая система определяет эти самые координаты и "сообщает" их, в свою очередь, ОС. Которая понятным образом транслирует соответствующие данные пользователю. Происходит обращение к данным с целью считывания их, модифицирования, создания новых. Конкретный алгоритм работы с "координатами" файлов может быть разным. Он зависит от типа компьютера, ОС, специфики хранящихся данных и прочих условий. Потому, есть различные виды файловых систем. Каждая из них оптимизирована для использования в конкретной ОС или для работы с определенными типами данных.

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

Файловые системы работают не без ошибок. Возможны некоторые сбои в организации работы с блоками данных. Но они в большинстве случаев не критичны. Как правило, нет проблем с тем, как исправить файловую систему, устранить ошибки. В ОС Windows для этого, в частности, предусмотрены встроенные программные решения, доступные для любого пользователя. Такие как, например, программа "Проверка диска".

Разновидности

Какие виды файловых систем можно назвать самыми распространенными? Вероятно, в первую очередь те, что используются самой популярной ОС для ПК в мире - Windows. Основные файловые системы Windows - это FAT, FAT32, NTFS и их различные модификации. Наряду с компьютерами популярность обрели смартфоны и планшеты. Большинство из них, если говорить о глобальном рынке и не рассматривать различия в технологических платформах, управляется ОС Android и iOS. Эти ОС задействуют свои алгоритмы работы с данными, отличные от тех, которыми характеризуются файловые системы Windows.

Стандарты, открытые для всех

Отметим, что в последнее время на мировом рынке электроники наблюдается некоторая унификация стандартов в аспекте работы ОС с различными типами данных. Это прослеживается в двух аспектах. Во-первых, на разных устройствах под управлением двух несхожих типов ОС часто используется одна и та же файловая система, в одинаковой степени совместимая с каждой ОС. Во-вторых, современные версии ОС, как правило, способны распознавать не только типичные для себя файловые системы, но и те, что традиционно используются в других ОС - как посредством встроенных алгоритмов, так и с помощью стороннего программного обеспечения. Например, современные версии Linux, как правило, без проблем распознают отмеченные файловые системы для Windows.

Структура файловой системы

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

Один из ключевых - Он являет собой изолированную область данных, в которой могут размещаться файлы. Структура каталогов - иерархическая. Что это значит? Один или несколько каталогов могут размещаться в другом. Который, в свою очередь, входит в состав "вышестоящего". Самым "главным" считается корневой каталог. Если говорить о принципах, на базе которых работает файловая система Windows - 7, 8, XP или же другой версии, - корневым каталогом считается логический диск, обозначаемый буквой - как правило, C, D, E (но можно настроить любую, что есть в английском алфавите). Что касается, к примеру, ОС Linux, то там корневым каталогом выступает магнитный носитель в целом. В этой и других ОС, основанных на ее принципах - к таковым относится Android - логические диски не используются. Можно ли хранить файлы без каталогов? Да. Но это не очень удобно. Собственно, комфорт в пользовании ПК - одна из причин внедрения в файловых системах принципа распределения данных по каталогам. Называться, кстати, они могут по-разному. В Windows каталоги именуются папками, в Linux - в основном так же. Но традиционное, используемое в течение многих лет название каталогов в этой ОС - "директории". Как и в предшествующих Windows и Linux ОС - DOS, Unix.

В среде IT-специалистов нет однозначного мнения касательно того, считать ли файл структурным элементом соответствующей системы. Те, кто полагает, что это не совсем корректно, аргументируют свою точку зрения тем, что система вполне может существовать и без файлов. Пусть это с практической точки зрения и бесполезное явление. Даже если на диске никаких файлов не записано, соответствующая система все равно может присутствовать. Как правило, магнитные носители, продаваемые в магазинах, не содержат каких-либо файлов. Но на них уже присутствует соответствующая система. Согласно другой точке зрения, файлы нужно считать неотъемлемой составляющей систем, которыми они управляются. Почему? А потому, что, как считают эксперты, алгоритмы их задействования адаптированы прежде всего под работу именно с файлами в рамках тех или иных стандартов. Ни для чего другого рассматриваемые системы не предназначены.

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

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

Имена файлов и каталогов в разных системах

Если условиться, что файлы - это все же составные элементы соответствующих им систем, то стоит рассмотреть их базовую структуру. Что можно отметить в первую очередь? Для удобства организации доступа к ним в большинстве современных систем управления данными предусмотрена двухуровневая структура именования файлов. Первый уровень - это название. Второй - расширение. Возьмем для примера музыкальный файл Dance.mp3. Dance - это название. Mp3 - расширение. Первое призвано раскрывать для пользователя суть содержания файла (а для программы быть ориентиром для быстрого доступа). Второе обозначает тип файла. Если он Mp3, то нетрудно догадаться, что речь идет о музыке. Файлы с расширением Doc - это, как правило, документы, Jpg - картинки, Html - веб-страницы.

Каталоги, в свою очередь, имеют одноуровневую структуру. У них есть только название, расширения нет. Если говорить о различиях между разными видами систем управления данными, то первое, на что следует обратить внимание - это как раз-таки реализуемые в них принципы именования файлов и каталогов. Касательно ОС Windows специфика следующая. В самой популярной в мире операционной системе файлы могут иметь название на любом языке. Максимальная длина, правда, при этом ограничена. Конкретный ее интервал зависит от используемой системы управления данными. Обычно это значения в пределах 200-260 символов.

Общее правило для всех ОС и соответствующих им систем управления данными - в одном каталоге не могут находиться файлы с одинаковыми наименованиями. В Linux при этом присутствует некая "либерализация" этого правила. В одном каталоге могут быть файлы с одинаковыми буквами, но в разном регистре. Например, Dance.mp3 и DANCE.mp3. В ОС Windows это невозможно. Эти же правила установлены также и в аспекте размещения каталогов внутри других.

Адресация файлов и каталогов

Адресация файлов и каталогов - важнейший элемент соответствующей системы. В ОС Windows ее пользовательский формат может выглядеть так: C:/Documents/Music/ - это доступ к каталогу Music. Если нас интересует какой-то конкретный файл, то адрес может выглядеть так: C:/Documents/Music/Dance.mp3. Почему "пользовательский"? Дело в том, что на уровне программно-аппаратного взаимодействия компонентов компьютера структура доступа к файлам гораздо более сложная. Файловая система определяет местоположение файловых блоков и взаимодействует с ОС по большей части в рамках скрытых от пользователя операций. Однако у пользователя ПК крайне редко возникает необходимость пользоваться иными форматами "адресов". Практически всегда доступ к файлам осуществляется в указанном стандарте.

Сравнение файловых систем для Windows

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

Призванная заменить FAT файловая система - это FAT32. Как считают многие IT-эксперты, сейчас она самая популярная, если говорить о рынке ПК под управлением Windows. Она чаще всего используется при хранении файлов на жестких дисках и флешках. Также можно отметить, что эта система управления данными достаточно регулярно используется в модулях памяти различных цифровых устройств - телефонах, фотоаппаратах. Основное преимущество FAT32, которое выделяют IT-эксперты, таким образом, Несмотря на то что создана была данная файловая система компанией Microsoft, работать с данными в рамках заложенных в ней алгоритмов могут большинство современных ОС, включая те, что инсталлированы на указанные типы цифровой техники.

Есть у системы FAT32 и ряд недостатков. Прежде всего можно отметить ограничение на размер одного взятого файла - он не может быть больше 4 Гб. Также в системе FAT32 нельзя встроенными средствами Windows задать логический диск, размер которого был бы больше 32 Гб. Но это можно сделать, установив дополнительное специализированное ПО.

Другая популярная система управления файлами, что разработана Microsoft - это NTFS. Как считают некоторые IT-эксперты, по большинству параметров она превосходит FAT32. Но этот тезис справедлив, если речь идет о работе компьютера под управлением Windows. Система NTFS не настолько универсальна, как FAT32. Особенности ее функционирования делают использование данной файловой системы не всегда комфортным, в частности, в мобильных устройствах. Одно из ключевых преимуществ NFTS - надежность. Например, в тех случаях, когда у жесткого диска внезапно отключается питание, вероятность того, что файлы повредятся, сводится к минимуму, благодаря предусмотренным в NTFS алгоритмам дублирования доступа к данным.

Одна из новейших файловых систем от Microsoft - exFAT. Наилучшим образом она адаптирована для флешек. Базовые принципы работы в ней те же, что и в FAT32, но присутствует также и значимая модернизация в некоторых аспектах: например, нет никаких ограничений по размеру единичного файла. Вместе с тем система exFAT, как отмечают многие IT-эксперты, в числе тех, что обладают низкой универсальностью. На компьютерах под управлением ОС, отличных от Windows, работа с файлами при использовании exFAT может быть затруднена. Более того, даже в некоторых версиях самой Windows, таких как XP, данные на дисках, отформатированных по алгоритмам exFAT, могут не читаться. Потребуется установка дополнительного драйвера.

Отметим, что по причине задействования достаточно широкого спектра файловых систем в ОС Windows у пользователя могут возникать периодические сложности в аспекте совместимости различных устройств с компьютером. В ряде случаев, например, требуется установить драйвер файловой системы WPD (Windows Portable Devices - технологии, используемой при работе с переносными устройствами). Иногда его может не оказаться под рукой у пользователя, вследствие чего внешний носитель ОС может не распознать. Файловая система WPD может потребовать дополнительных программных средств адаптации к операционной среде на конкретном компьютере. В ряде случаев пользователь будет вынужден обращаться к IT-специалистам для решения проблемы.

Как определить, какая именно файловая система - exFAT или NTFS, а может быть, FAT32 - оптимальна для использования в конкретных случаях? Рекомендации IT-специалистов в целом следующие. Можно задействовать два основных подхода. Согласно первому следует разграничивать типичные файловые системы жестких дисков, а также те, что лучше адаптированы к флеш-накопителям. FAT и FAT32, как считают многие специалисты, лучше подходят для "флешек", NTFS - для винчестеров (в силу технологических особенностей работы с данными).

В рамках второго подхода значение имеет величина носителя. Если речь идет об использовании сравнительно небольшого объема диска или флешки, отформатировать их можно в системе FAT32. Если диск большего размера, то можно попробовать exFAT. Но только в том случае, если не предполагается использование носителей на других компьютерах, особенно тех, где стоят не самые свежие версии Windows. Если речь идет о больших жестких дисках, в том числе и внешних, то их целесообразно форматировать в NTFS. Примерно таковы критерии, по которым может быть выбрана оптимальная файловая система - exFAT или NTFS, FAT32. То есть использовать какую-либо из них следует, учитывая размер носителя, его тип, а также версию ОС, на котором накопитель преимущественно используется.

Файловые системы для Mac

Другая популярная программно-аппаратная платформа на мировом рынке компьютерной техники - Macintosh от Apple. ПК данной линейки работают под управлением операционной системы Mac OS. Каковы особенности организации работы с файлами в компьютерах Mac? В самых современных ПК от Apple используется файловая система Mac OS Extended. Ранее в компьютерах Mac работа с данными управлялась в соответствии со стандартами HFS.

Главное, что можно отметить в аспекте ее характеристик: на диске, которым управляет файловая система Mac OS Extended, могут размещаться файлы очень большого объема - речь может идти о нескольких миллионах терабайт.

Файловая система в Android-устройствах

Самая популярная ОС для мобильных устройств - виде электронной техники, не уступающей по популярности ПК, - это Android. Каким образом осуществляется управление файлами на девайсах соответствующего типа? Отметим прежде всего, что данная операционная система - фактически "мобильная" адаптация ОС Linux, которая, благодаря открытому программному коду, может быть модифицирована с перспективой использования на самом широком спектре устройств. Поэтому управление файлами в мобильных девайсах под управлением Android осуществляется в целом по тем же принципам, что и в Linux. Некоторые из них мы отметили выше. В частности, управление файлами в Linux осуществляется без деления носителя на логические диски, как это происходит в Windows. Что еще интересного заключает в себе файловая система Android?

Корневым каталогом в Android, как правило, выступает область данных, именуемая /mnt. Соответственно, адрес нужного файла может выглядеть примерно так: /mnt/sd/photo.jpg. Кроме того, есть еще одна особенность системы управления данными, что реализована в данной мобильной ОС. Дело в том, что флеш-память девайса, как правило, классифицирована на несколько разделов, таких как, например, System или Data. При этом, изначально заданный размер каждого из них изменить нельзя. Приблизительную аналогию касательно данного технологического аспекта можно обнаружить, вспомнив, что нельзя (если не использовать специального ПО) менять размер логических дисков в Windows. Он должен быть фиксированным.

Еще одна интересная особенность организации работы с файлами в Android - соответствующая операционная система, как правило, записывает новые данные в конкретную область диска - Data. Работа, к примеру, с разделом System при этом не осуществляется. Поэтому, когда пользователь задействует функцию сброса программных настроек смартфона или планшета до уровня "заводских", то на практике это означает, что те файлы, что записаны в область Data, попросту стираются. Раздел System же, как правило, остается неизменным. Более того, какие-либо корректировки содержимого в System пользователь, не обладая специализированным ПО, осуществлять не может. Процедура, связанная с обновлением системной области носителя в Android-устройстве, называется перепрошивкой. Это не форматирование, хотя обе операции часто осуществляются одновременно. Как правило, перепрошивка применяется с целью установки на мобильное устройство более новой версии ОС Android.

Таким образом, ключевые принципы, на базе которых работает файловая система Android - отсутствие логических дисков, а также жесткое разграничение доступа к системным и пользовательским данным. Нельзя сказать, что данный подход принципиально отличается от того, что реализован в Windows, однако, как считают многие IT-эксперты, в ОС от Microsoft для пользователей присутствует несколько большая свобода в работе с файлами. Впрочем, как полагают некоторые специалисты, это нельзя считать однозначным преимуществом Windows. "Либеральный" режим в аспекте управления файлами задействуют, конечно же, не только пользователи, но и компьютерные вирусы, к которым Windows очень восприимчива (в отличие от Linux и ее "мобильной" реализации в виде Android). В этом, как считают эксперты, заключается одна из причин того, что вирусов для Android-устройств столь немного - чисто с технологической точки зрения они не могут в полной мере функционировать в операционной среде, работающей по принципам строгого контроля доступа к файлам.

Файл - логическая единица распределения памяти . Он является также совокупностью логически взаимосвязанной информации. Файловая система располагается во внешней памяти (на дисках) и организована по уровням. Структура многоуровневой файловой системы изображена на рис. 19.11.

Рис. 19.11. Многоуровневая файловая система.

На верхнем уровне абстракции работают пользовательские программы, использующие высокоуровневые примитивы вида WriteLine(F, X) .Уровнем ниже располагаются модули интерфейса логических файлов – логических записей, блоков и операций обмена. Еще ниже следуют модули организации файлов, затем – операции базовой системы файлов. На нижних уровнях располагаются драйверы устройств (управление вводом-выводом) и аппаратура (устройства ввода-вывода и их контроллеры).

– структура в памяти, содержащая информацию о файле. Типовая структура блока управления файлом представлена в таблица 3.

Системные структуры в памяти для управления файловой системой

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

Рис. 19.12. Структуры ОС в памяти для управления файловой системой.

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

Ключевые термины

Network File System (NFS) – широко распространенная система общего доступа к файлам через локальную сеть .

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

Атрибуты файла – общие свойства, описывающие содержимое файла.

Блок – логическая единица информации (часть) файла, как правило, объединяющая несколько записей , с целью оптимизации операций ввода-вывода .

Блок управления файлом (File control block - FCB) – структура в памяти, содержащая информацию о файле и используемая операционной системой.

Директория (справочник, папка) - directory , folder – структура во внешней памяти, содержащая символьные имена файлов и других директорий и ссылки на них.

Дополнение к файлу объектного кода (ДФОК) :в системе "Эльбрус" - файл , содержащий в унифицированном виде таблицы именованных сущностей, определенных в программе и ее процедурах (метаданные ).

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

Запись (record) – элементарная единица , часть файла, в терминах которых выполняются операции обмена с файлом.

Защита (Protection) – управляющая информация , задающая полномочия чтения, изменения и исполнения файла.

Контейнер (в системе "Эльбрус") – хранилище файлов на одном или нескольких дисках.

Монтирование – подсоединение отдельного поддерева еще не смонтированной файловой системы к какой-либо вершине (точке монтирования) общего дерева доступных файловых систем.

Набор данных (data set) - термин фирмы IBM для обозначения файла .

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

Относительный путь - путь доступа к файлу относительно некоторой текущей директории .

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

Путь (path) – многослоговое имя файла или директории, состоящее из имени корневой директории (или логического диска) и последовательности имен директорий последующих уровней.

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

Резервное копирование (back-up) копирование файлов и директорий на внешние носители – ленту (стример ), flash-память , внешний переносной жесткий диск , компакт-диск (CD , DVD ), с целью их сохранности.

Cправочник внешних ссылок (СВС) – в системе "Эльбрус": справочник , имеющийся у каждого файла и используемый для хранения его внешних ссылок на другие файлы; элементы СВС адресуются по номерам, а не по именам.

Точка монтирования (mount point) – узел в дереве файловых систем, к которому подсоединяется новая файловая система при монтировании .

Файл (file) – смежная область логического адресного пространства, как правило, хранящаяся во внешней памяти.

Файл объектного кода (ФОК) – в системе "Эльбрус": файл , в котором хранится двоичный код исполняемой программы.

Файловая система поддерево директорий на некоторой машине, расположенных в одном разделе .

Вопросы

1. Что такое файл?

2. Какого типа информация может храниться в файле?

3. Какую структуру может иметь файл?

4. Какие программы интерпретируют содержимое файла?

5. Каковы основные атрибуты файла ?

6. Каковы основные операции над файлом?

7. Каким образом система определяет тип файла?

8. Какие расширения имен используются в операционных системах?

9. Какие методы доступа к файлам Вам известны?

10. Какие операции определены над файлами прямого доступа?

11. Какие операции определены над файлами последовательного доступа ?

12. Что такое индексный файл и для чего он используется?

13. Что такое директория?

14. Каковы особенности, достоинства и недостатки файловой системы "Эльбруса"?

15. Что такое раздел?

16. Каковы основные операции над директорией?

17. Каковы цели логической организации директорий?

18. Какая организация директорий является наиболее предпочтительной и почему?

19. Какие проблемы возникают при организации директорий в виде произвольного графа?

20. Что такое монтирование файловых систем?

21. Что такое точка монтирования?

22. Что такое общий доступ к файлам и почему он необходим?

23. Что такое NFS ?

24. Что такое защита файлов ?

25. Какие полномочия защиты и для каких пользователей рассматриваются в UNIX?

26. Что такое блок управления файлом?

27. Какие уровни абстракции можно выделить в реализации файловых систем?

28. Какие структуры в памяти создает ОС при открытии файла и для управления операциями обмена?

Упражнения

1. Реализуйте набор основных операций над файлами, используя низкоуровневые примитивы ввода-вывода.

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

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

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

5. Разработайте и реализуйте алгоритм поиска циклических ссылок в структуре директорий.


©2015-2019 сайт
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-11