Файловая структура ОС. Операции с файлами. Управление файлами, типы файлов, файловая система, атрибуты файла

  • 11.09.2019

Одной из компонент ОС является файловая система – основное хранилище системной и пользовательской информации. Все современные ОС работают с одной или несколькими файловыми системами, например, FAT (File Allocation Table), NTFS (NT File System), HPFS (High Performance File System), NFS (Network File System), AFS (Andrew File System), Internet File System.

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

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

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

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

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

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

Определяет возможные способы организации файлов и файловой структуры на носителе;

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

Отслеживает свободное пространство на носителе.

Когда прикладная программа обращается к файлу, она не имеет никакого представления о том, каким образом расположена информация в конкретном файле, так же, как и на каком физическом типе носителя (CD, жестком диске или блоке флэш-памяти) он записан. Все, что знает программа – это имя файла, его размер и атрибуты. Эти данные она получает от драйвера файловой системы. Именно файловая система устанавливает, где и как будет записан файл на физическом носителе (например, жёстком диске).

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


3.1.5 Логическая структура диска

Для того чтобы компьютер мог хранить, читать и записывать информацию жесткий диск предварительно должен быть размечен. На нем с помощью соответствующих программ создаются разделы – это и называется "разбить жесткий диск". Без этой разметки на жесткий диск не удастся установить операционную систему (хотя Windows XP и 2000 могут устанавливаться на неразбитый диск, но они такую разметку проводят сами в процессе установки).

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

Кроме того, существуют и другие причины разбиения диска на разделы, например:

Возможность использования под управлением MS DOS дисков с емкостью большей, чем
32 Мб;

В случае повреждения диска, пропадает только та информация, которая находилась на этом диске;

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

Каждому пользователю можно выделить свой логический диск.

Операция подготовки диска к работе называется форматированием , или инициализацией . Всё доступное дисковое пространства разбивается на стороны, дорожки и сектора, причем дорожки и стороны нумеруются с нуля, а сектора – с единицы. Совокупность дорожек, находящихся на одинаковом удалении от оси диска или пакета дисков, называется цилиндром. Таким образом физический адрес сектора определяется следующими координатами: номер дорожки (цилиндра – С), номер стороны диска (головки – H), номера сектора – R, т.е. CHR.

В самом первом секторе жесткого диска (C=0, H=0, R=1) содержится главная загрузочная запись Master Boot Record . Эта запись занимает не весь сектор, а только его начальную часть. Главная загрузочная запись является программой – внесистемным загрузчиком.

В конце первого сектора жесткого диска располагается таблица разделов диска – Partition Table . Эта таблица содержит четыре строки, описывающих максимально четыре раздела. Каждая строка в таблице описывает один раздел:

1) активный раздел или нет;

2) номер сектора, соответствующего началу раздела;

3) номер сектора, соответствующего концу раздела;

4) размер раздела в секторах;

5) код операционной системы, т.е. какой ОС принадлежит данный раздел.

Раздел называется активным, если он содержит программу загрузки операционной системы. Первым байтом в элементе раздела идет флаг активности раздела (0 – не активен, 128 (80H) – активен). Он служит для определения, является ли раздел системным (загрузочным), и для необходимости производить загрузку операционной системы с него при старте компьютера. Активным может быть только один раздел. Небольшие программы, называемые менеджерами загрузки (Boot Manager), могут располагаться в первых секторах диска. Они интерактивно запрашивают пользователя, с какого раздела производить загрузку и соответственно корректируют флаги активности разделов. Поскольку в Partition Table четыре строки, то на диске может быть до четырех различных ОС, следовательно, диск может содержать несколько первичных разделов, принадлежащих разным операционным системам.

Пример логической структуры жесткого диска, состоящего из трех разделов, два из которых принадлежат DOS, а один принадлежит UNIX, приведен на рисунке 3.2а.

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

На практике диск разбивается чаще всего на два раздела. Размеры разделов, объявление их активными или нет, устанавливаются пользователем в процессе подготовки жесткого диска к работе. Делается это с помощью специальных программ. В DOS эта программа называется FDISK, в версиях Windows-XX – Diskadministrator.

В DOS первичный раздел – Primary Partition , это тот раздел, который содержит загрузчик операционной системы и саму ОС. Таким образом, первичный раздел является активным разделом, используется как логический диск с именем C:.

Операционная система WINDOWS (а именно WINDOWS 2000) изменила терминологию: активный раздел называется системным, а загрузочным называется логический диск, который содержит системные файлы WINDOWS. Загрузочный логический диск может совпадать с системным разделом, но может находиться в другом разделе того же жесткого диска или на другом жестком диске.

Расширенный раздел Extended Partition может разбиваться на несколько логических дисков с именами от D: до Z:.

На рисунке 3.2б представлена логическая структура жесткого диска, в котором всего два раздела и четыре логических диска.

Файл – это информация, которая хранится на машинном носителе информации под определенным именем.

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

Файлы идентифицируются (однозначно определяются) именами. Пользователи дают файлам символьные имена. В некоторых ОС, например в ОС фирмы Microsoft, каждое имя файла состоит непосредственно из имени файла , даваемого пользователем, и расширения . При этом учитываются ограничения ОС как на используемые в имени символы, так и на длину имени. До недавнего времени эти границы были весьма узки. Например, файловая система операционной системы MS-DOS ограничивала длину имени схемой 8.3 (8 символов – отводилось под имя, 3 - под расширение). Современные файловые системы, как правило, поддерживают длинные символьные имена файлов. ОС семейства Windows позволяют давать имена размером до 255 символов. Расширение отделяется от имени файла символом “.” (точка).

Расширение показывает тип файла:

ехе, сом выполняемые файлы, т.е. программы, написанные на одном из языков программирования;

doc - файлы, созданные в текстовом редакторе Word;

xls - файлы, созданные в табличном процессоре Excel;

mdb – файлы системы управления базами данных (СУБД) Access.

Обычно для удобства работы файлы объединяются в каталоги (папки).

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

C:\User\Письмо.doc полное имя файлаПисьмо.doc , находящегося на диске С: в папке User . последовательность имени внешнего устройства и всех вложенных папок называется полным путём к файлу .

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

Шаблоном называется обобщенное имя для группы файлов, в котором имеются символы: * или?.

Символ * обозначает, что вместо него, начиная с той позиции, где он стоит, и до конца имени могут стоять любые допустимые символы.

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

Например,

шаблон*.doc обозначает все файлы с расширением.doc,

шаблон Письмо?.doc обозначает все файлы с именами Письмо1.doc, Письмо3.doc, ПисьмоZ.doc, ПисьмоA.doc, и т.д.

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

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

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

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

Ранние версии ОС Windows компании Microsoft использовали таблицы размещения файлов FAT (FAT – File Allocat ion Table ).

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

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

FAT состоит из ячеек, в которых хранятся номера кластеров, и главное отличие между различными FAT заключается в размере этих ячеек, определяемом количеством двоичных разрядов (бит). ОC Windows 95 использует FAT16, в которой под адрес кластера отводится 16 бит и, следовательно, число кластеров равно 65 536 (2 16). В случае, когда один кластер равен одному сектору (512 байт), максимальная емкость диска составит 32 Мбайт. С появлением дисков большой емкости кластер стал состоять из нескольких секторов -2, 4, 8 и т.д.

Здесь-то и возникает проблема нерационального использования дискового пространства. Дело в том, что один кластер не может содержать более одного файла. Тогда файл размером 1 Кбайт будет использовать кластер размером 8 Кбайт и 16 Кбайт в зависимости от размера диска. В версии ОС Windows 95 OSR2 впервые появился формат таблицы размещения файлов FAT32 (32 бит), и число кластеров возросло до 2 32 = 4 294 967 296, что позволяет использовать кластеры размером 4 Кбайт.

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

Элемент FAT для описания файла включает в себя:

    байт атрибута;

    время модификации;

    дата модификации;

    № 1-го кластера, с которого начинается запись файла;

    размер файла.

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

Файловая система FAT16 поддерживается всеми ОС фирмы Microsoft, некоторыми ОС семейства Unix, ОС семейства OS/2.

ОС Windows NT Workstation, Windows 2000 Professional и Windows XP поддерживают файловую систему NTFS.

Файловая система NTFS представляется в виде таблицы MFT (Master File Table ), имеющей следующий вид:

Максимальная длина таблицы – 1500 байтов.

Первые 16 записей – служебные, в них хранится информация, которая описывает саму таблицу MFT (аналог системной области FAT).

Начиная с 17-й записи идет описания файлов и папок:

    стандартная информация – дата и время создания файла, его размер;

    имя файла – хранится в 2-х вариантах: длинное (до 255 символов) и короткое (8 + 3), применяемое при использовании файла в MS DOS;

    дескриптор защиты указывает, кто и какие права имеет на данный файл или папку;

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

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

Операционная система

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

Microsoft MS-DOS

Microsoft Windows 95

Microsoft Windows 95 OSR2

Microsoft Windows 98

Microsoft Windows NT

Microsoft Windows 2000

NTFS, FAT16, FAT32

Microsoft Windows XP

NTFS, FAT16, FAT32

В ОС Windows NT, Windows 2000 Professional и Windows XP файловая система FAT поддерживается при работе на гибких магнитных дисках. На жестком диске поддерживается две файловые системы - FAT и NTFS.

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

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

Определение файла

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

Как понять файловую структуру персонального компьютера наиболее адекватно, и о каких данных идет речь? Обычно любая хранимая или обрабатываемая информация - это:

  • электронные документы;
  • изображения;
  • программное обеспечение;
  • музыкальные композиции;
  • видеоконтент и прочее.

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

  • сортировка;
  • группировка.

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

Что понимать под файловой системой?

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

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

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

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

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

Функциональность ФС

Файловая система выполняет несколько полезных функций:

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

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

Иерархия

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

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

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

Конечно, это сделать никто не запретит, но здесь не будет никакого смысла. Кроме того, папка со значением exe, к примеру, "Фильмы.exe" в большинстве случаев указывает на присутствие вируса - в этом случае не рекомендуется открывать ее.

Атрибуты файлов

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

  • Read only - только для чтения (R).
  • System - системный (S).
  • Hidden - скрытый (H).
  • Archive - архивный (A).

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

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

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

Атрибут A указывает, что файл сжат.

Разновидности файловой системы

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

  • для жестких дисков;
  • для магнитных носителей;
  • для оптических носителей;
  • для виртуальной среды;
  • сетевые.

Наибольшее распространение получили следующие файловые системы:

  • EXFAT.
  • NTFS.

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

EFS

Полностью звучит так: Encrypting File System. Данная файловая структура операционной системы персонального компьютера наиболее предпочтительна в силу того, что все данные располагаются в зашифрованном виде. Благодаря этому этот тип широко распространен и работает с операционными системами всего семейства Windows.

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

Universal Disk Format или UDF

Данная файловая система предназначена для носителей информации, в частности оптических дисков. Поддерживается операционной системой Windows XP и старше. Имеет свои особенности: длина имени файлов не превышает 255 символов (ASCII-кодировка) или 127 (Unicode-кодировка).

Что касается регистра, то он может быть как нижним, так и верхним. При этом максимальная длина пути составляет 1023 символа.

EXFAT

Что такое файловая структура компьютера EXFAT? Преимущественно она используется для переносных накопителей информации (флешки). Это своего рода посредник между Windows и Linux, который ответственен за преобразование файлов из одной системы в другую. В Windows Vista и Windows 7 можно отформатировать накопители посредством стандартного инструмента.

EXT

Данная файловая система разрабатывалась специально для тех операционных систем, которые основаны на ядре Linux. Первые разработки были представлены на суд пользователей в 1992 году. На сегодняшний день уже имеется несколько версий:

  • ext2;
  • ext3;
  • ext3cow;
  • ext4.

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

FAT

Теперь подошла очередь для узнаваемых систем, среди которых FAT. Система была создана в конце прошлого столетия, а за ее разработку ответственны Билл Гейтс и Марк МакДональд. В силу своей простоты она используется во многих флеш-накопителях и в настоящее время.

Существуют несколько ее разновидностей:

  • FAT12.
  • FAT16.
  • FAT32.

Между собой они отличаются разрядностью, то есть количеством бит, которое отводится для хранения одного кластера. Соответственно чем выше разрядность, тем больший объем может поддерживать система FAT. Самая первая ее версия поддерживала небольшой объем данных по современным меркам - всего лишь 2 Гб. Соответственно, для разделов или дисков с большим объемом она не подходит, а потому быстро устарела.

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

NTFS

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

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

Впервые система NTFS была представлена в 1993 году одновременно с выходом Windows NT 3.1. Если сравнивать с другой разновидностью - FAT, то здесь можно найти немалое количество улучшений. К примеру, теперь практически нет ограничений в отношении размеров жесткого диска или его разделов. Также стали поддерживаться некоторые полезные функции: жесткие ссылки, шифрование, сжатие.

В заключение

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

Какие-то уже больше не используются. Связано это главным образом, с тем, что объем данных постоянно увеличивается. И если ранее вполне хватало 80-100 Гб, то теперь это мизерное количество. Сейчас счет ведется уже на терабайты.

Файлы и файловая структура

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

Имя файла имеет особое значение – - оно фактически несет в себе адресные функции в иерархических структурах. Кроме того, имя может иметь расширение , в котором хранятся сведения о типе данных. Если имена создаваемых файлов пользователь может задавать произвольно, то в использовании расширений следует придерживаться некоторой традиции. Например, в операционной системе MS DOS файлы с расширениями:: .com, .exe, .bat – - исполняемые; .bat, .txt, .doc – - текстовые; .pas, .bas, .c, .for – - тексты программ на известных языках программирования: (Паскале, Бейсике, Си, Фортране соответственно); .dbf – - файл базы данных. В различных операционных системах существуют ограничения на длину имени и расширения имени файла. Так, в MS DOS длина имени файла не должна превышать восьми символов, а расширение – - трех, т. е. используется стандарт 8.3. В операционной системе Windows ограничения значительно менее жесткие.

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

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

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

Рис. 1.5. Иерархическая система каталогов

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


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

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

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

1.Понятие, структура и работа файловой системы.

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

MBR (Master Boot Record) специальная область расположенная в начале диска - содержащая необходимую для BIOS информацию для загрузки операционной системы с жесткого диска.
Таблица разделов (partition table) также расположена в начале диска, ее задача - хранить информацию о разделах: начало, длина, загрузка. На загрузочном разделе расположен загрузочный сектор (boot sector), хранящий программу загрузки операционной системы.

Отсчет начинается от MBR (от сектора с номером 0) для всех основных (primary) разделов, как для обычных, так и для расширенного, и только для основных.
Все обычные логические (not extended logical) разделы задаются сдвигом относительно начала того расширенного раздела, в котором они описаны.
Все расширенные логические (extended logical) разделы задаются сдвигом относительно начала основного расширенного раздела (extended primary).

Процесс загрузки операционной системы выглядит следующим образом:
При включении компьютера управление процессором получает BIOS ,идет загрузка (boot) с винчестера, подгружается в оперативную память компьютера первый сектор диска (MBR) и передается ему управление).

В MBR может быть записан как "стандартный" загрузчик,

так и загрузчики типа LILO/GRUB.

Стандартный загрузчик находит в таблице основных разделов первый раздел с флагом bootable (загрузочный), считывает его первый сектор (boot-сектор) и передает управление коду, записанному в этом boot-секторе. Если вместо стандартного загрузчика MBR стоит другой, то он не смотрит на флаг bootable, может загружать с любого раздела (прописанных в его настройках).

Например для загрузки операционной системы Windows NT/2k/XP/2003 в boot-секторе записывается код, загружающий с текущего раздела в память основной загрузчик (ntloader).
Для каждой файловой системы FAT16/FAT32/NTFS используется свой загрузчик. В корне раздела обязательно должен присутствовать файл ntldr. Если вы видете при попытке загрузить Windows сообщение "NTLDR is missing", то это как раз тот случай, когда файл ntldr отсутствует. Также для нормальной работы ntldr возможно нужны файлы bootfont.bin, ntbootdd.sys, ntdetect.com и правильно написанный boot.ini.

Пример boot.ini

C:\boot.ini

timeout=8
default=C:\gentoo.bin

C:\gentoo.bin="Gentoo Linux"
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP (32-bit)" /fastdetect /NoExecute=OptIn
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Windows XP (64-bit)" /fastdetect /usepmtimer

Пример конфигурационного файла grub.conf

#grub.conf generated by anaconda
#
#Note that you do not have to rerun grub after making changes to this file
#
#NOTICE: You have a /boot partition. This means that
#all kernel and initrd paths are relative to /boot/, eg.
#root (hdO.O)
#kernel /vmlinuz-version ro root=/dev/sda2
#initrd /initrd-version.img
#boot=/dev/sda default=0 timeout=5
splashimage=(hdO,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux server (2.6.18-53.el 5)
root (hdO.O)
kernel /vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet-
initrd /initrd-2.6.18-53.el5.img

Структура файла lilo.conf

# LILO configuration file generated by "liloconfig"
//Секция описания глобальных параметров
# Start LILO global section
//Место, куда записан Lilo. В данном случае это MBR
boot = /dev/hda
//Сообщение, которое выводится при загрузке
message = /boot/boot_message.txt
//Вывод приглашения
prompt
//Time Out на выбор операционной системы
timeout = 1200
# Override dangerous defaults that rewrite the partition table:
change-rules
reset
# VESA framebuffer console @ 800x600x256
//Выбор видеорежима отображения меню
vga = 771
# End LILO global section
//Секция описания параметров загрузки windows
# DOS bootable partition config begins
other = /dev/hda1
label = Windows98
table = /dev/hda
# DOS bootable partition config ends
//Секция описания параметров загрузки QNX
# QNX bootable partition config begins
//Путь к операцционной системе
other = /dev/hda2
label = QNX
table = /dev/hda
# QNX bootable partition config ends
//Секция описания параметров загрузки Linux
# Linux bootable partition config begins
//Путь к образу ядра
image = /boot/vmlinuz
root = /dev/hda4
label = Slackware
read-only
# Linux bootable partition config ends


2.Наиболее известные файловые системы.

  • Advanced Disc Filing System
  • AdvFS
  • Be File System
  • CSI - DOS
  • Encrypting File System
  • Extended File System
  • Second Extended File System
  • Third Extended File System
  • Fourth Extended File System
  • File Allocation Table (FAT)
  • Files - 11
  • Hierarchical File System
  • HFS Plus
  • High Perfomance File System (HPFS)
  • ISO 9660
  • Journaled File System
  • Macintosh File System
  • MINIX file system
  • MicroDOS
  • Next3
  • New Implementation of a Log-structured F (NILFS)
  • Novell Storage Services
  • New Technology File System (NTFS)
  • Protogon
  • ReiserFS
  • Smart File System
  • Squashfs
  • Unix File System
  • Universal Disk Format (UDF)
  • Veritas File System
  • Windows Future Storage (WinFS)
  • Write Anywhere File Layout
  • Zettabyte File System (ZFS)

3.Основные характеристики файловых систем.

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

Максимальный (минимальный) размер тома;
- Максимальное (минимальное) количество файлов в корневом каталоге;
- Максимальное количество файлов в некорневом каталоге;
- Безопасность на уровне файлов;
- Поддержка длинных имен файлов;
- Самовосстановление;
- Сжатие на уровне файлов;
- Ведение журналов транзакций;

4.Краткое описание наиболее распространенных файловых систем FAT, NTFS, EXT.

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

FAT (file allocation table) означает «таблица размещения файлов».
В файловой системе FAT логическое дисковое пространство любого логического диска делится на две области:
- системную область;
- область данных.
Системная область создается при форматировании и обновляется при манипулировании файловой структурой. Область данных содержит файлы и каталоги, подчиненные корневому, и доступна через пользовательский интерфейс. Системная область состоит из следующих компонентов:
- загрузочной записи;
- зарезервированных секторов;
- таблицы размещения файлов (FAT);
- корневого каталога.
Таблица размещения файлов представляет собой карту (образ) области данных, в которой описывается состояние каждого участка области данных. Область данных разбивается на кластеры. Кластер – один или несколько смежных секторов в логическом дисковом адресном пространстве (только в области данных). В таблице FAT кластеры, принадлежащие одному файлу (некорневому каталогу), связываются в цепочки. Для указания номера кластера в системе управления файлами FAT16 используется 16-битовое слово, следовательно, можно иметь до 65536 кластеров.
Кластер – минимальная адресуемая единица дисковой памяти, выделяемая файлу или некорневому каталогу. Файл или каталог занимает целое число кластеров. Последний кластер при этом может быть задействован не полностью, что приведет к заметной потере дискового пространства при большом размере кластера.
Так как FAT используется при доступе к диску очень интенсивно, она загружается в ОЗУ и находится там максимально долго.
Корневой каталог отличается от обычного каталога тем, что он размещается в фиксированном месте логического диска и имеет фиксированное число элементов. Для каждого файла и каталога в файловой системе хранится информация в соответствии со следующей структурой:
- имя файла или каталога – 11 байт;
- атрибуты файла – 1 байт;
- резервное поле – 1 байт;
- время создания – 3 байта;
- дата создания – 2 байта;
- дата последнего доступа – 2 байта;
- зарезервировано – 2 байта;
- время последней модификации – 2 байта;
- номер начального кластера в FAT – 2 байта;
- размер файла – 4 байта.
Структура системы файлов является иерархической.

Файловая система FAT32.
FAT32 является полностью независимой 32-разрядной файловой системой и содержит многочисленные усовершенствования и дополнения по сравнению с FAT16. Принципиальное отличие FAT32 заключается в более эффективном использовании дискового пространства: FAT32 использует кластеры меньшего размера, что приводит к экономии дискового пространства.
FAT32 может перемещать корневой каталог и использовать резервную копию FAT вместо стандартной. Расширенная загрузочная запись FAT32 позволяет создавать копии критических структур данных, что повышает устойчивость дисков к нарушениям структуры FAT по сравнению с предыдущими версиями. Корневой каталог представляет собой обычную цепочку кластеров, поэтому может находиться в произвольном месте диска, что снимает ограничение на размер корневого каталога.


Файловая система NTFS.
Файловая система NTFS (New Technology File System) содержит ряд значительных усовершенствований и изменений, существенно отличающих ее от других файловых систем. С точки зрения пользователей файлы по-прежнему хранятся в каталогах, но работа на дисках большого объема в NTFS происходит намного эффективнее:
- имеются средства для ограничения доступа к файлам и каталогам;
- введены механизмы, существенно повышающие надежность файловой системы;
- сняты многие ограничения на максимальное количество дисковых секторов и/или кластеров.

Основные характеристики файловой системы NTFS:
- надежность. Высокопроизводительные компьютеры и системы совместного использования должны обладать повышенной надежностью, для этой цели введен механизм транзакций, при котором ведется журналирование файловых операций;
- расширенная функциональность. В NTFS введены новые возможности: усовершенствованная отказоустойчивость, эмуляция других файловых систем, мощная модель безопасности, параллельная обработка потоков данных, создание файловых атрибутов, определенных пользователем;
- поддержка стандарта POSIX. К числу базовых средств относятся необязательное использование имен файлов с учетом регистра, хранение времени последнего обращения к файлу и механизм альтернативных имен, позволяющий ссылаться на один и тот же файл по нескольким именам;
- гибкость. Распределение дискового пространства отличается большой гибкостью: размер кластера может изменяться от 512 байт до 64 Кбайт.
NTFS хорошо работает с большими массивами данных и большими томами. Максимальный размер тома (и файла) – 16 Эбайт. (1 Эбайт равен 2**64 или 16000 млрд. гигабайт.) Количество файлов в корневом и некорневом каталогах не ограничено. Поскольку в основу структуры каталогов NTFS заложена эффективная структура данных, называемая «бинарным деревом», время поиска файлов в NTFS не связано линейной зависимостью с их количеством.
Система NTFS обладает некоторыми средствами для самовосстановления и поддерживает различные механизмы проверки целостности системы, включая ведение журнала транзакций, позволяющий отследить по системному журналу файловые операции записи.
Файловая система NTFS поддерживает объектную модель безопасности и рассматривает все тома, каталоги и файлы как самостоятельные объекты NTFS. Права доступа к томам, каталогам и файлам зависит от учетной записи пользователя и той группы, к которой он принадлежит.
Файловая система NTFS обладает встроенными средствами сжатия, которые можно применять к томам, каталогам и файлам.

Файловая система Ext3.
Файловая система ext3 может поддерживать файлы размером до 1 ТБ. С Linux-ядром 2.4 объём файловой системы ограничен максимальным размером блочного устройства, что составляет 2 терабайта. В Linux 2.6 (для 32-разрядных процессоров) максимальный размер блочных устройств составляет 16 ТБ, однако ext3 поддерживает только до 4 ТБ.
Ext3 имеет хорошую совместимость с NFS и не имеет проблемы с производительностью при дефиците свободного дискового пространства.Еще одно достоинство ext3 происходит из того, что она основана на коде ext2. Дисковый формат ext2 и ext3 идентичен; из этого следует, что при необходимости ext3 filesystem можно монтировать как ext2 без каких либо проблем. И это еще не все. Благодаря факту, что ext2 и ext3 используют идентичные метаданные, имеется возможность оперативного обновления ext2 в ext3.
Надежность Ext3
В дополнение к ext2-compatible, ext3 наследует другие преимущества общего формата metadata. Пользователи ext3 имеют в своем распоряжении годами проверенный fsck tool. Конечно, основная причина перехода на journaling filesystem - отказ от необходимости периодических и долгих проверок непротиворечивости метаданных на диске. Однако "журналирование" не способно защитить от сбоев ядра или повреждения поверхности диска (или кое-чего подобного). В аварийной ситуации вы оцените факт преемственности ext3 от ext2 с ее fsck.
Журнализация в ext3.
Теперь, когда имеется общее понимание проблемы, посмотрим, как ext3 осуществляет journaling. В коде журнализации для ext3 используется специальный API, называемый Journaling Block Device layer или JBD. JBD был разработан для журнализации на любых block device. Ext3 привязана к JBD API. При этом код ext3 filesystem сообщает JBD о необходимости проведения модификации и запрашивает у JBD разрешение на ее проведение. Журналом управляет JBD от имени драйвера ext3 filesystem. Такое соглашение очень удобно, так как JBD развивается как отдельный, универсальный объект и может использоваться в будущем для журналирования в других filesystems.
Защита данных в Ext3
Теперь можно поговорить о том, как ext3 filesystem обеспечивает журнализацию и data, и metadata. Фактически в ext3 имеются два метода гарантирования непротиворечивости.
Первоначально ext3 разрабатывалась для журналирования full data и metadata. В этом режиме (называется "data=journal" mode), JBD журналирует все изменения в filesystem, связанные как с data, так и с metadata. При этом JBD может использовать журнал для отката и восстановления metadata и data. Недостаток "полного" журналирования в достаточно низкой производительности и расходе большого объема дискового пространства под журнал.
Недавно для ext3 был добавлен новый режим журналирования, который сочетает высокую производительность и гарантию непротиворечивости структуры файловой системы после сбоя (как у "обычных" журналируемых файловых систем). Новый режим работы обслуживает только metadata. Однако драйвер ext3 filesystem по-прежнему отслеживает обработку целых блоков данных (если они связаны с модификацией метаданных), и группирует их в отдельный объект, называемый transaction. Транзакция будет завершена только после записи на диск всех данных. "Побочный" эффект такой "грубой" методики (называемой "data=ordered" mode) - ext3 обеспечивает более высокую вероятность сохранности данных (по сравнению с "продвинутыми" журналируемыми файловыми системами) при гарантии непротиворечивости metadata. При этом происходит журналирование изменений только структуры файловой системы. Ext3 использует этот режим по умолчанию.
Ext3 имеет множество преимуществ. Она разработана для максимальной простоты развертывания. Она основана на годами проверенном коде ext2 и получила "по наследству" замечательный fsck tool. Ext3 в первую очередь предназначена для приложений, не имеющих встроенных возможностей по гарантированию сохранности данных. В целом, ext3 - замечательная файловая система и достойное продолжение ext2.Есть еще одна характеристика, положительно отличающая ext3 от остальных journaled filesystems под Linux - высокая надежность.

Файловая система ext4 является достойным эволюционным продолжением системы ext.