Файловая структура и файловые системы. Файловая система. Что это

Л 5.1. АРХИТЕКТУРА ПОСТРОЕНИЯ ОС

Ключевые слова: файл, расширение имени файла, атрибуты файла, файловая структура, каталог (папка), путь к файлу, форматирование, сектор, дорожка, цилиндр, таблица размещения файлов (FAT-таблица), кластер, файловая система, FAT 16, FAT 32, NTFS, MTF, CDFS, команды ОС, рабочий стол, панель задач, значок и ярлык объекта, главное меню Windows , окно Windows , строка заголовка, панель инструментов, drag-and-drop, drag, «Проводник », буфер обмена, «Norton Commander », шаблоны выделения и поиска файлов.

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

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

· интерфейса между пользователем и программно-аппаратными средствами компьютера (интерфейс пользователя);

· интерфейса между программным и аппаратным обеспечением (аппаратно-программный интерфейс);

· интерфейса между разными видами программного обеспечения (программный интерфейс).

Даже для одной аппаратной платформы, например такой, как
IBM PC, существует несколько операционных систем (ОС). Для примера, рассмотрим файловую структуру, основные объекты и приемы управления наиболее распространенных ОС: MS DOS и Windows XP.

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

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

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

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

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



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

По способам именования файлов различают «короткое » (на имя файла отводится 8 символов, а на его расширение - 3 символа) и «длинное » имя (до 256 символов). Имя файла от его расширения разделяются точкой. Расширение файла является необязательным параметром и может отсутствовать.

В ОС MS DOS имя (не более 8 символов) и расширение (не более 3 символов) могут состоять из прописных и строчных латинских букв, цифр и символов:

- _ $ # & @ ! % () { } " ~ ^

Следует помнить, что для ОС линии MS DOS :

Между именем и расширением ставится точка, не входящая ни в имя, ни в расширение;

Имя файла можно набирать в любом регистре, т.к. для системы все буквы строчные;

Символы, не использующиеся в имени файла

* = + \ ; : , . < > / ?

Имена устройств не могут использоваться в качестве имен файлов:

AUX - имя дополнительного устройства ввода-вывода;

CON - имя клавиатуры при вводе или дисплея при выводе;

LPT1 … LPT3 - имена параллельных портов;

COM1 … COM3 - имена последовательных портов;

PRN - имя печатающего устройства;

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

С появлением ОС Windows 95 введено понятие «длинного » имени. Такое имя может содержать до 256 символов, что достаточно для создания содержательных имен файлов. «Длинное » имя может содержать любые символы, кроме девяти специальных:

\ / : * ? " < > |

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

Наряду с «длинным » именем ОС Windows 95/98/Me/2000/XP создают также и короткое имя файла - оно необходимо для возможности работы с данным файлом на рабочих местах с устаревшими операционными системами.

Использование «длинных » имен файлов в последних ОС Windows имеет ряд особенностей .

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

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

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

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

5. Прописные и строчные буквы не различаются ОС. Имена Письмо.txt и письмо. txt соответствуют одному и тому же файлу.

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

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

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

· ехе - готовый к исполнению файл (winrar.exe ; winword.exe );

· сот - файл операционной системы (command.com );

· sys - файл операционной системы (io.sys ) - обычно это драйвер внешнего устройства;

· bat - командный файл операционной системы MS DOS (autoexec.bat ).

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

ASM - текст программы на языке ассемблер ;

AVI, MPEG, MPG, WMV и т.д. - различные форматы видеофайлов, для просмотра можно воспользоваться, например, Windows Media Player - тип данных: изображение;

BAK - старая версия файла;

BAS - текст программы на языке Бейсик ;

BMP - документ, созданный в графическом редакторе, например, Paint - тип данных: изображение;

C - текст программы на языке Си ;

CDR CorelDraw - тип данных: изображение;

CPP - текст программы на языке C ++;

dbf - файл базы данных, созданный, например, в СУБД FoxPro ;

DOC - документ, созданный в текстовом процессоре Microsoft Word - тип данных: текст;

DWG, DXF - графические файлы, созданные в AutoCAD ;

HTML - документ, рассчитанный на публикацию в Интернете;

LIB - библиотека (обычно объектных модулей);

MDB - файл базы данных, созданный в СУБД Microsoft Access ;

MP3, MID, WMA, WAV – различные форматы звуковых файлов - тип данных: звук;

OBJ - объектный модуль;

PAS - текст программы на языке Паскаль ;

PDF - PDF -документ, созданный и предназначенный для просмотра в программе Adobe Reader ;

PPT - файл презентации, созданной в Microsoft PowerPoint ;

PSD - графический файл, созданный в графическом процессоре Adobe Photoshop ;

RAR WinRar ;

RTF - документ, созданный в текстовом редакторе WordPad ;

TIF, GIF, JPG - различные форматы графических файлов;

TMP - временный файл;

TXT - текстовый файл, например, созданный в программе Блокнот ;

XLS - электронная книга, созданная в табличном процессоре Microsoft Excel - тип данных: символы (текст или числа);

ZIP - архивный файл, созданный программой архиватором WinZip .

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

Основных атрибутов четыре:

· Только для чтения (Read only);

· Скрытый (Hidden);

· Системный (System);

· Архивный (Archive).

Атрибут «Только для чтения» ограничивает возможности работы с файлом. Его установка означает, что файл не предназначен для внесения изменений.

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

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

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

Хранение файлов организуется в иерархической структуре, которая в данном случае называется файловой структурой (рис. 1).

Рис. 1. Иерархическая структура диска

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

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

Имена внешних носителей информации. Диски, на которых хранится информация в компьютере, имеют свои имена - каждый диск назван буквой латинского алфавита, а затем ставится двоеточие. Так, для дискет всегда отводятся буквы А: и В: . Логические диски винчестера именуются, начиная с буквы С: . После всех имен логических дисков следуют имена дисководов для компакт-дисков. Например, установлены: дисковод для дискет, винчестер, разбитый на 3 логических диска и дисковод для компакт-дисков. Определить буквы всех носителей информации. А: - дисковод для дискет; С: , D: , Е: - логические диски винчестера; F: - дисковод для компакт-дисков.

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

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

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

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

Путь к файлу - это имя носителя (диска) и последовательность имен каталогов, в ОС Windows разделенных символом «\» (в ОС линии UNIX используется символ «/»). Этот путь задает маршрут к тому каталогу, в котором находится нужный файл.

Для указания пути к файлу используют два различных метода. В первом случае каждому файлу дается абсолютное имя пути (полное имя файла), состоящее из имен всех каталогов от корневого до того, в котором содержится файл, и имени самого файла. Например, путь С:\Abby\Doc\otchet.doc означает, что корневой каталог диска С: содержит каталог Abby , который, в свою очередь, содержит подкаталог Doc , где находится файл otchet.doc . Абсолютные имена путей всегда начинаются от имени носителя и корневого каталога и являются уникальными. Применяется и относительное имя пути. Оно используется вместе с понятием текущего каталога. Пользователь может назначить один из каталогов текущим рабочим каталогом. В этом случае все имена путей, не начинающиеся с символа разделителя, считаются относительными и отсчитываются относительно текущего каталога. Например, если текущим каталогом является С:\Abby , тогда к файлу с абсолютным путем С:\Abby\ можно обратиться как Doc\otchet.doc .

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

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

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

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

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

Обычный объем сектора - 512 байт. На одной стороне размещается 80 дорожек. Каждая дорожка содержит 18 секторов.

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

Рис. 2. Физическая структура хранения информации

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

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

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

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

· как хранятся файлы и каталоги на диске;

· какие хранятся сведения о файлах и каталогах;

· как можно узнать, какие участки диска свободны, а какие - нет;

· формат каталогов и другой служебной информации на диске.

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

Файловая система, наиболее распространенная на IBM PC -совместимых компьютерах, была введена еще в начале 80-х годов в операционных системах MS DOS 1.0 и 2.0. Эта файловая система достаточно примитивна, так как она была создана для хранения данных на дискетах. Обычно эта файловая система называется FAT , так как самой важной структурой данных в ней является таблица размещения файлов на диске, по-английски - file allocation table, сокращенно - FAT . Эта таблица содержит информацию о том, какие участки (кластеры) диска свободны, и о цепочках кластеров, образующих файлы и каталоги.

В файловой системе FAT имена файлов и каталогов должны состоять не более чем из 8 символов плюс три символа в расширении имени. Она приводит к значительным потерям (до 20%) дискового пространства из-за больших размеров кластеров на дисках высокой емкости. Это связано с тем, что в конце последнего кластера файла остается свободное место, в среднем равное половине кластера. А на больших дисках размер кластеров FAT может достигать 32 Кбайт. Таким образом, на диске емкостью
2 Гбайта с 20000 файлов потери составят 320 Мбайт, то есть около 16%. Наконец, файловая система FAT малопроизводительна, особенно для больших дисков, не приспособлена к многозадачной работе (все операции требуют обращений к таблице размещения файлов, а потому до завершения одной операции нельзя начинать другую).

При разработке Windows 95 фирма Microsoft решила не вводить новую файловую систему, а залатать имеющуюся файловую систему FAT , позволив присваивать файлам и каталогам длинные имена. Эта файловая система стала называться FAT 32 . Принятый в Windows 95 подход хорош тем, что позволяет использовать старые диски с файловой системой FAT - на них просто начинают записываться длинные имена. Но все же это решение весьма искусственное, и многие программы - для починки файловой системы дисков, «сжатия» дисков, резервного копирования и т.д. - могут привести к потере длинных имен на диске. FAT 32 поддерживает меньшие размеры кластеров, что позволяет более эффективно использовать дисковое пространство.

При разработке операционной системы Windows NT была создана новая файловая система - NTFS . Она была ориентирована на диски большого объема, содержащие множество файлов, в них приняты существенные меры по обеспечению эффективности хранения данных и контроля доступа к ним. Эта файловая система поддерживает длинные имена файлов. На логических дисках емкостью 1-2 Гбайта файловая система NTFS позволяет хранить в среднем на 10-15% больше информации, чем FAT . А доступ к файлам в ней осуществляется заметно быстрее, особенно в многозадачной среде.

При формировании файловой системы NTFS программа форматирования создает файл Master File Table (MTF ) и другие области для хранения метаданных. Метаданные используются NTFS для реализации файловой структуры. Первые 16 записей в MTF зарезервированы самой NTFS . Местоположение файлов метаданных записано в загрузочном секторе диска. Если первая запись в MTF повреждена, NTFS считывает вторую запись для нахождения копии первой. Полная копия загрузочного сектора располагается в конце тома. В MTF хранятся метаданные, такие как копия первых четырех записей (гарантирует доступ к MTF в случае, если первый сектор поврежден). MTF содержит информацию о томе - метку и номер версии. В MTF находится таблица имен атрибутов и описания, корневой каталог и др. Остальные строки MTF содержат записи для каждого файла и каталога, расположенных на данном томе. Разработчики NTFS , не забывая об эффективности, старались также обеспечить надежность файловой системы и восстанавливаемость данных при сбоях. Для этого, в частности, NTFS дублирует всю критически важную информацию и обеспечивает регистрацию всех изменений на дисках в специальном файле регистрации, причем для каждого изменения запоминается и способ его отмены. В результате практически при любых сбоях NTFS автоматически восстанавливается. NTFS также (в отличие от FAT ) может работать с логическими дисками и файлами размером более 2 Гбайт - максимальный размер логических дисков и файлов - 4х10 18 байт.

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

Особая файловая система разработана для компакт-дисков (CD-ROM ). Это оказалось необходимым, так как само физическое устройство компакт-дисков не такое, как у жестких дисков или дискет: в них информация записывается не в кольцевых дорожках, а в единственной спиралеобразной дорожке (как у аудиокомпакт-дисков). Эта файловая система называется CDFS .

Таблица 1

Сравнительные характеристики файловых систем

NTFS FAT 32 FAT
Поддерживаемые операционные системы Windows NT с 4 пакетом обновлений, Windows 2000, Windows XP MS-DOS, Windows 95 OSR2, Windows 98, Windows Millennium Edition, Windows NT, Windows 2000, Windows XP
Возможные размеры логических дисков Рекомендуемый минимальный размер логического диска (тома) равен примерно 10 МБ. Допускаются размеры томов свыше 2 ТБ. Не может использоваться для гибких дисков Логический диск (том) объемом от 512 МБ до 2 ТБ. Может использоваться для гибких дисков Логический диск (том) объемом до 4 ГБ. Может использоваться для гибких дисков
Возможные размеры хранимых файлов Максимальный размер файла ограничен только размером тома Максимальный размер файла равен 4 ГБ Максимальный размер файла равен 2 ГБ

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

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

Согласно распространенному определению, файловая система - это совокупность алгоритмов и стандартов, задействуемых с целью организации эффективного доступа пользователя ПК к данным, размещенным на компьютере. Некоторые специалисты считают ее частью Другие 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-устройств столь немного - чисто с технологической точки зрения они не могут в полной мере функционировать в операционной среде, работающей по принципам строгого контроля доступа к файлам.

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

Определение 1

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

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

Рисунок 1.

Имя файла может содержать до $255$ символов, включая расширение. Имя файла может состоять из английских и русских букв, цифр и др. символов.

В именах файлов запрещено использовать знаки:

\ / * ? : “ | .

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

Рисунок 2.

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

Рисунок 3.

Классификация значков файлов

Рисунок 4.

Определение 2

Файловая структура – совокупность файлов и взаимосвязь между ними.

Одноуровневая файловая структура используется для дисков с небольшим количеством файлов и представляет собой линейную последовательность имен файлов.

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

Каждый диск имеет логическое имя, обозначаемое латинской буквой со знаком двоеточия:

  • C:, D:, E: и т.д. – жесткие и оптические диски,
  • А:, В: - гибкие диски.

Папкой верхнего уровня для диска является корневая папка, которая в OS Windows обозначается добавлением к имени диска значка «\», например, D:\ - обозначение корневой папки.

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

Рисунок 5.

Каталог - это папка или директория, куда помещают файлы и другие каталоги.

Каталог, который не является подкаталогом ни одного другого каталога , называется корневым . Такой каталог находится на самом верхнем уровне иерархии всех каталогов. В Windows каждый из дисков имеет свой корневой каталог (D:\, C:\, E:).

Каталоги в OS Windows делятся на системные и пользовательские. Пример системных каталогов: «Рабочий стол», «Сетевое окружение», «Корзина», «Панель управления».

Рисунок 6. Системные каталоги OS Windows

Слева направо: системная папка

Корзина, папка Мои документы, ярлык к папке Мои документы

Каталог и папка физически одно и тоже.

Путь к файлу – это его адрес.

Путь к файлу всегда начинается с указанием логического имени диска (D:\, C:\, E:), затем записывается последовательность имен вложенных друг в друга папок, в последней папке содержится нужный файл. Путь к файлу вместе с именем файла называют полным именем файла, например: D:\Мои документы\Литература\Сочинение.doc полное имя файла Сочинение.doc.

Рисунок 7. Дерево каталогов и файлов

Схематично файловую структуру диска представляют в виде дерева.

Рисунок 8. Файловая структура диска Z:

  • Z:\box\box1 – полное имя папки (каталога) box1
  • Z:\box\box.txt – полное имя файла box.txt
  • Z:\box\box2\box3\box1 - полное имя папки (каталога) box1
  • Z:\box\box2\box3\box.txt - полное имя файла box.txt

Материал к обзорной лекции № 33

для студентов специальности

«Программное обеспечение информационных технологий»

доцента кафедры ИВТ, к.т.н. Ливак Е.Н.

СИСТЕМЫ УПРАВЛЕНИЯ ФАЙЛАМИ

Основные понятия, факты

Назначение. Особенности файловыхсистем FAT , VFAT , FAT 32, HPFS , NTFS . Файловые системы ОС UNIX (s5, ufs), ОС Linux Ext2FS.Системные области диска (раздела, тома). Принципы размещения файлов и хранения информации о расположении файлов. Организация каталогов. Ограничение доступа к файлам и каталогам.

Навыки и умения

Использование знаний о структуре файловой системы для защиты и восстановления компьютерной информации (файлов и каталогов). Организация разграничения доступа к файлам.

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

Данные на диске хранятся в виде файлов. Файл - это именованная часть диска.

Для управления файлами предназначены системы управления файлами.

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

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

Система управления файлами является основной подсистемой в абсолютном большинстве современных ОС.

С помощью системы управления файлами

· связываются по данным все системные обрабатывающие программы;

· решаются проблемы централизованного распределения дискового пространства и управления данными;

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

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

Постараемся различать файловую систему и систему управления файлами.

Термин «файловая система» определяет принципы доступа к данным, организованным в файлы.

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

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

Для семейства ОС Windows в основном используются файловые системы: VFAT , FAT 32, NTFS .

Рассмотрим структуру этих файловых систем.

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

· системную область и

· область данных.

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

Системная область состоит из следующих компонентов:

· загрузочного сектора, содержащего загрузочную запись (boot record );

· зарезервированных секторов (их может и не быть);

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

· корневогокаталога (Root directory, ROOT).

Эти компоненты расположены на диске друг за другом.

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

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

Разбиение области данных на кластеры вместо использования секторов позволяет:

· уменьшить размер таблицы FAT ;

· уменьшить фрагментацию файлов;

· сокращается длина цепочек файла Þ ускоряется доступ к файлу.

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

В современных файловых системах (FAT 32, HPFS , NTFS ) эта проблема решается за счет ограничения размера кластера (максимум 4 Кбайта)

Картой области данных являетсяТ аблица размещения файлов (File Allocation Table - FAT) Каждый элемент таблицы FAT (12, 16 или 32 бит) соответствует одному кластеру диска и характеризует его состояние: свободен, занят или является сбойным кластером (bad cluster).

· Если кластер распределен какому-либо файлу (т.е., занят), то соответствующий элемент FAT содержит номер следующего кластера файла;

· последний кластер файла отмечается числом в диапазоне FF8h - FFFh (FFF8h - FFFFh);

· если кластер является свободным, он содержит нулевое значение 000h (0000h);

· кластер, непригодный для использования (сбойный), отмечается числом FF7h (FFF7h).

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

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

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

В связи с тем, что FAT используется очень интенсивно при доступе к диску, она обычно загружается в ОП (в буфера ввода/вывода или кэш) и остается там настолько долго, насколько это возможно.

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

Для просмотра и редактирования таблицы FAT можно использовать утилиту Disk Editor .

Подробнаяинформация о самом файле хранится в другой структуре, которая называется корневым каталогом. Каждый логический диск имеет свой корневой каталог (ROOT, англ. - корень).

Корневой каталог описываетфайлы и другие каталоги. Элементом каталога является дескриптор (описатель) файла.

Дескриптор каждого файла и каталога включает его

· имя

· расширение

· дату создания или последней модификации

· время создания или последней модификации

· атрибуты (архивный, атрибут каталога, атрибут тома, системный, скрытый, только для чтения)

· длину файла (для каталога - 0)

· зарезервированное поле, которое не используется

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

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

Для просмотра и редактирования корневого каталога ROOT можно также использовать утилиту Disk Editor .

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

Файловая система VFAT (виртуальная FAT ) впервые появилась в Windows for Workgroups 3.11 и была предназначена для файлового ввода/вывода в защищенном режиме.

Используется эта файловая система в Windows 95.

Поддерживается она также и в Windows NT 4.

VFAT - это «родная» 32-разрядная файловая система Windows 95. Ее контролирует драйвер VFAT .VXD .

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

НО, элементы таблицы размещения файлов остаются 12- или 16-разрядными, поэтому на диске используется та же структура данных (FAT ). Т.е. формат таблицы VFAT такой же , как и формат FAT .

VFAT наряду с именами «8.3» поддерживает длинные имена файлов . (Часто говорят, что VFAT - это FAT с поддержкой длинных имен).

Основной недостаток VFAT - большие потери на кластеризацию при больших размерах логического диска и ограничения на сам размер логического диска.

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

Это новая реализация идеи использования таблицы FAT .

FAT 32 - это полностью самостоятельная 32-разрядная файловая система.

Впервые использовалась в Windows OSR 2 (OEM Service Release 2).

В настоящее время FAT 32 используется в Windows 98 и Windows ME .

Она содержит многочисленные усовершенствования и дополнения по сравнению с предыдущими реализациями FAT .

1. Намного эффективнее расходует дисковое пространство за счет того, что использует кластеры меньшего размера (4 Кб) - подсчитано, что экономится до 15%.

2. Имеет расширенную загрузочную запись, которая позволяет создавать копии критических структур данных Þ повышает устойчивость диска к нарушениям структур диска

3. Может использовать резервную копию FAT вместо стандартной.

4. Может перемещать корневой каталог, другими словами, корневой каталог может находиться в произвольном месте Þ снимает ограничение на размер корневого каталога (512 элементов, т.к. ROOT должен был занимать один кластер).

5. Усовершенствована структура корневого каталога

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

По-прежнему для длинного имени файла используется несколько дескрипторов.

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

HPFS (High Performance File System ) - вы­сокопроизводительная файловая система.

HPFS впервые появилась в OS/2 1.2 и LAN Manager .

Перечислим основные особенности HPFS.

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

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

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

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

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

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

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

C труктура раздела HPFS


В начале раздела с установленной HPFS расположено три управляющих блока:

· загрузочный блок (boot block ),

· дополнительный блок (super block ) и

· запас­ной (резервный) блок (spare block ).

Они занимают 18 секторов.

Все остальное дис­ковое пространство в HPFS разбито на части из смежных секторов - полосы (band - полоса, лента). Каждая полоса занимает на диске 8 Мбайт.

Каждая полоса и имеет свою собственную битовую карту распределе­ния секторов .Битовая карта показывает, какие секторы данной полосы за­няты, а какие - свободны. Каждому сектору полосы данных соответствует один бит в ее битовой карте. Если бит = 1, то сектор занят, если 0 - свободен.

Битовые карты двух полос располагаются на диске рядом, так же располагаются и сами полосы. То есть последовательность полос и карт выглядит как на рис.

Сравним с FAT . Там на весь диск только одна «битовая карта» (таблица FAT ). И для работы с ней приходится перемещать головки чте­ния/записи в среднем через половину диска.

Именно для того, чтобы сократить время позиционирования головок чтения/записи жесткого диска, в HPFS диск разбит на полосы.

Рассмотрим управляющие блоки .

Загрузочный блок (boot block )

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

Программа начальной загрузки на­ходит файл OS 2 LDR , считывает его в память и передает управление этой про­грамме загрузки ОС, которая, в свою очередь, загружает с диска в память ядро OS/2 - OS 2 KRNL . И уже OS 2 KRIML с помощью сведений из файла CONFIG . SYS за­гружает в память все остальные необходимые программные модули и блоки дан­ных.

Загрузочный блок располагается в секторах с 0 по 15.

Супер Блок (super block )

Содержит

· указатель на список битовых карт (bitmap block list ). В этом списке перечислены все блоки на диске, в которых расположены би­товые карты, используемые для обнаружения свободных секторов;

· указатель на список дефектных блоков (bad block list ). Когда система обнаруживает поврежденный блок, он вносится в этот список и для хранения информации больше не используется;

· указатель на группу каталогов (directory band ),

· указатель на файловый узел (F -node ) корневого каталога,

· дату последней проверки раздела програм­мой CHKDSK ;

· информацию о размере полосы (в текущей реализации HPFS - 8 Мбайт).

Super block размещается в 16 секторе.

Резервный блок (spare block)

Содержит

· указатель на карту аварийного замеще­ния (hotfix map или hotfix -areas );

· указатель на список свободных запасных бло­ков (directory emergency free block list );

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

Этот блок разме­щается в 17 секторе диска.

Резервный блок обеспечивает высокую отказоустойчивость файловой системы HPFS и позволяет восстанавливать поврежденные данные на диске.

Принцип размещения файлов

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

Для сокращения времени позиционирования головок чтения/записи жесткого диска система HPFS стремится

1)расположить файл в смежных блоках;

2)если такой возможности нет, то разместить экстенты фрагментированного файла как можно ближе друг к другу,

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

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

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

Каждый F-Node занимает один сектор и всегда располагается поблизости от своего файла или каталога (обычно - непосредственно перед файлом или ка­талогом). Объект F-Node содержит

· длину,

· первые 15 символов имени файла,

· специальную служебную информацию,

· статистику по доступу к файлу,

· расши­ренные атрибуты файла,

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

· ассоциативную информацию о расположении и подчине­нии файла и т. д.

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

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

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

Структура и размещение каталогов

Для хранения каталогов используется полоса, находящаяся в центре диска .

Эта полоса называетсяdirectory band .

Если она полностью заполнена, HPFS начинает располагать каталоги файлов в других полосах.

Расположение этой информаци­онной структуры в середине диска значительно сокращает среднее время пози­ционирования головок чтения/записи.

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

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

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

Каждая за­пись, входящая в состав дерева, содержит

· атрибуты файла,

· указатель на соответствующий файловый узел,

· информацию о времени и дате создания фай­ла, времени и дате последнего обновления и обращения,

· длине данных, содержа­щих расширенные атрибуты,

· счетчик обращений к файлу,

· длине имени файла

· само имя,

· и другую информацию.

Файловая система HPFS при поиске файла в каталоге просматривает только не­обходимые ветви двоичного дерева. Такой метод во много раз эффек­тивнее, чем последовательное чтение всех записей в каталоге, что имеет место в системе FAT .

Размер каждого из блоков, в терминах которых выделяются каталоги в текущей реализации HPFS, равен 2 Кбайт. Размер записи, описывающей файл, зависит от размера имени файла. Если имя занимает 13 байтов (для формата 8.3), то блок из 2 Кбайт вмещает до 40 описателей файлов. Блоки связаны друг с другом по­средством списка.

Проблемы

При переименовании файлов может возникнуть так называемая перебаланси­ровка дерева. Создание файла, переименование или стирание может приводить к каскадированию блоков каталогов . Фактически, переименование может потер­петь неудачу из-за недостатка дискового пространства, даже если файл непо­средственно в размерах не увеличился. Во избежание этого «бедствия» HPFS поддерживает небольшой пул свободных блоков, которые могут использовать­ся при «аварии». Эта операция может потребовать выделения дополнительных блоков на заполненном диске. Указатель на этот пул свободных блоков сохраня­ется в SpareBlock ,

Принципы размещения файлов и каталогов на диске в HPFS :

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

· каталоги размещаются в середине дискового пространства;

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

Надежность хранения данных в HPFS

Любая файловая система должна обладать средствами исправления ошибок, возникаю­щих при записи информации на диск. Система HPFS для этого использует меха­низм аварийного замещения ( hotfix ).

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

Эта карта представляет собой просто пары двойных слов, каждое из которых является 32-битным номером сектора.

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

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

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

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

Файловая система NTFS (New Technology File System) содержит ряд значительных усовер­шенствований и изменений, существенно отличающих ее от других файловых систем.

Заметим, что за редкими исключениями, с разделами NTFS можно работать напрямую только из Windows NT , хотя и имеются для ряда ОС соответствующие реализа­ции систем управления файлами для чтения файлов из томов NTFS.

Однако полноценных реализаций для работы с NTFS вне системы Windows NT пока нет.

NTFS не поддерживается в широко распространенных ОС Windows 98 и Windows Millennium Edition .

Основные особенности NT FS

· работа на дисках большого объема происходит эффективно (намного эффективнее, чем в FAT );

· имеются средства для ограничения доступа к файлам и катало­гам Þ раз­делы NTFS обеспечивают локальную безопасность как файлов, так и каталогов;

· введен механизм транзакций, при котором осуществляется журналирование файловых операций Þ существенное увеличение надежности;

· сняты многие ограничения на максимальное количество дисковых секто­ров и/или кластеров;

· имя файла в NTFS, в отличие от файловых систем FAT и HPFS , может содержать любые символы, включая полный набор национальных алфавитов, так как данные представлены в Unicode - 16-битном представлении, которое дает 65535 разных символов. Максимальная длина имени файла в NTFS - 255 символов.

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

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

Раздел NTFS называется томом (volume ). Максимально возможные размеры тома (и размеры файла) составляют 16 Эбайт (экзабайт 2**64).

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

Все дисковое пространство в NTFS делится на две неравные части.


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

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

Остальные 88 % тома представляют собой обычное пространство для хранения файлов.

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

MFT состоит из записей фиксированного размера. Размер записи MFT (минимум 1 Кб и максимум 4 Кб) оп­ределяется во время форматирования тома.

Каждая запись соответ­ствует какому-либо файлу.

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

Эти первые 16 эле­ментов MFT - единственная часть диска, имеющая строго фиксированное поло­жение. Копия этих же 16 записей хранится в середине тома для надежности.

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

Метафайлы носят служебный характер - каждый из них отвечает за какой-либо аспект работы системы. Метафайлы нахо­дятся в корневом каталоге NTFS-тома. Все они начинаются с символа имени «$», хотя получить какую-либо информацию о них стандартными средствами сложно. В табл. приведены основные метафайлы и их назначение.

Имя метафайла

Назначение метафайла

$MFT

Сам Master File Table

$MFTmirr

Копия первых 16 записей MFT, размещенная посередине тома

$LogFile

Файл поддержки операций журналирования

$Volume

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

$AttrDef

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

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

$Bitmap

Карта свободного места тома

$Boot

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

$Quota

Файл, в котором записаны права пользователей на использование дискового пространства (этот файл начал работать лишь в Windows 2000 с системой NTFS 5.0)

$Upcase

Файл - таблица соответствия заглавных и прописных букв в именах файлов. В NTFS имена файлов записываются в Unicode (что составляет 65 тысяч различных символов) и искать большие и малые эквиваленты в данном случае - нетривиальная задача

В соответствующей записи MFT хранится вся информация о файле:

· имя файла,

· размер;

· атрибуты файла;

· положение на диске отдельных фрагментов и т. д.

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

Если файл имеет не очень большой размер, то данные файла хранятся прямо в MFT, в оставшемся от основных данных месте в пределах одной записи MFT.

Файл в томе с NTFS идентифицируется так называемой файловой ссылкой (File Reference ), которая представляется как 64-разрядное число.

· номера файла, который соответствует номеру записи в MFT,

· и номера последовательности. Этот номер увеличивается всякий раз, когда данный номер в MFT используется повторно, что позволяет файловой системе NTFS выполнять внутренние проверки целостности.

Каждый файл в NTFS представлен с помощью потоков (streams ), то есть у него нет как таковых «просто данных», а есть потоки.

Один из потоков - это и есть данные файла.

Большинство атрибутов файла - это тоже потоки.

Таким об­разом, получается, что базовая сущность у файла только одна - номер в MFT, а все остальное, включая и его потоки, - опционально.

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

Стандартные атрибуты для файлов и каталогов в томе NTFS имеют фиксиро­ванные имена и коды типа.

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

Файл каталога разделен на блоки, каждый из которых содержит

· имя файла,

· базовые атрибуты и

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

Внутренняя структура каталога представляет собой бинарное дерево, как в HPFS.

Количество файлов в корневом и некорневом каталогах не ограни­чено.

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

NTFS обеспечивает безопасность на уровне файлов; это означает, что права доступа к томам, каталогам и файлам могут зависеть от учетной записи пользователя и тех групп, к которым он принадлежит. Каждый раз, когда пользователь обращается к объекту файловой системы, его права доступа проверяются по списку разреше­ний данного объекта. Если пользователь обладает достаточным уровнем прав, его запрос удовлетворяется; в противном случае запрос отклоняется. Эта модель безопасности применяется как при локальной регистрации пользователей на компьютерах с NT , так и при удаленных сетевых запросах.

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

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

Основной недостаток файловой системы NTFS - служебные данные занимают много места (например, каждый элемент каталога занимает 2 Кбайт) - для малых раз­делов служебные данные могут занимать до 25% объема носителя.

Þ система NTFS не может использоваться для форматирования флоппи-дисков. Не стоит пользоваться ею для форматирования разделов объемом менее 100 Мбайт.

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

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

Рассмотрим s 5.

Файл в системе UNIX представляет собой множество символов с произвольным доступом.

Файл имеет такую структуру, которую налагает на него пользователь.

Файловая система Unix, это иерархическая, многопользовательская файловая система.

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

Замечание. На самом деле файловая система Unix не является древообразной. Дело в том, что в системе имеется возможность нарушения иерархии в виде дерева, так как имеется возможность ассоциировать несколько имен с одним и тем же содержимым файла .

Структура диска

Диск разделен на блоки. Размер блока данных определяется при форматировании файловой системы командой mkfs и может быть установлен 512, 1024, 2048, 4096 или 8192 байтов.

Считаем по 512 байт (размер сектора).

Дисковое пространство делится на следующие области (см. рис.):

· загрузочный блок;

· управляющий суперблок;

· массив i -узлов;

· область для хранения содержимого (данных) файлов;

· совокупность свободных блоков (связанных в список);

Блокначальной загрузки

Суперблок

i - узел

. . .

i - узел

Замечание. Для файловой системы UFS - все это для группы цилиндров повторяется (кроме Boot -блока) + выделена специальная область для описания группы цилиндров

Блок начальной загрузки

Блок размещен в блоке №0. (Вспомним, что размещение этого блока в нулевом блоке системного устройства определяется аппаратурой, так как аппаратной загрузчик всегда обращается к нулевому блоку системного устройства. Это последний компонент файловой системы, который зависит от аппаратуры.)

Boot -блок содержит программу раскрутки, которая служит для первоначального запуска ОС UNIX . В файловых системах s 5 реально используется boot -блок только корневой файловой системы. В дополнительных файловых системах эта область присутствует, но не используется.

Суперблок

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

В частности суперблок содержит следующую информацию

· количество i -узлов (индексных дескрипторов);

· размер раздела???;

· список свободных блоков;

· список свободных i -узлов;

· и другое.

Обратим внимание! Свободное пространство на диске образует связанный список свободных блоков . Этот список хранится в суперблоке.

Элементами списка являются массивы из 50 элементов(если блок = 512 байт, то элемент = 16 бит):

· в элементах массива №№1-48 записаны номера свободных блоков пространства блоков файлов с 2 до 49.

· в №0 элементе содержится указатель на продолжение списка, а

· в последнем элементе (№49) содержится указатель на свободный элемент в массиве.

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

Так как размер массива - 50 элементов, то возможны две критические ситуации:

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

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

Список свободных i -узлов . Это буфер, состоящий из 100 элементов. В нем находится информация о 100 номерах i -узлов, которые свободны в данный момент.

Суперблок всегда находится в ОЗУ

Þ все операции (освобождение и занятие блоков и i -узлов происходят в ОЗУ Þ минимизация обменов с диском.

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

Замечание . В файловых системах UFS для повышения устойчивости поддерживается несколько копий суперблока (по одной копии на группу цилиндров)

Область индексных дескрипторов

Это массив описаний файлов, называемых i -узлами (i - node ) .(64-х байтные?)

Каждый индексный описатель (i -узел) файла содержит:

· Тип файла (файл/каталог/специальный файл/fifo/socket)

· Атрибуты (права доступа) - 10

· Идентификатор владельца файла

· Идентификатор группы-владельца файла

· Время создания файла

· Время модификации файла

· Время последнего доступа к файлу

· Длина файла

· Количество ссылок к данному i -узлу из различных каталогов

· Адреса блоков файла

! Обратите внимание . Здесь нет имени файла

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

Если файл превышает десять блоков, то начинает работать следующий механизм: 11-й элемент поля содержит номер блока, в котором размещены 128(256) ссылок на блоки данного файла. В том случае, если файл еще больше - то используется 12й элемент поля- он содержит номер блока, в котором содержится 128(256) номеров блоков, где каждый блок содержит 128(256) номеров блоков файловой системы. А если файл еще больше, то используется 13 элемент - где глубина вложенности списка увеличена еще на единицу.

Таким образом мы можем получить файл размером (10+128+128 2 +128 3)*512.

Это можно представить в следующем виде:

Адрес 1-го блока файла

Адрес 2-го блока файла

Адрес 10-го блока файла

Адрес блока косвенной адресации (блока с 256 адресами блоков)

Адрес блока 2-й косвенной адресации (блока с 256 адресами блоков с адресами)

Адрес блока 3-й косвенной адресации (блока с адресами блоков с адресами блоков с адресами)

Защита файла

Теперь обратим внимание на идентификаторы владельца и группы и биты защиты.

В ОС Unix используется трехуровневая иерархия пользователей :

Первый уровень - все пользователи.

Второй уровень - группы пользователей. (Все пользователи подразделены на группы.

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

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

2) Защита доступа к файлу. Доступ к каждому файлу ограничивается по трем категориям:

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

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

· все остальные пользователи системы;

По этим трем категориям регламентируются три действия: чтение из файла, запись в файл и исполнение файла (в мнемонике системы R,W,X, соответственно). В каждом файле по этим трем категориям определено - какой пользователь может читать, какой писать, а кто может запускать его в качестве процесса.

Организация каталогов

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

Элемент каталога состоит из двух полей:

1)номер i -узла (порядковый номер в массиве i -узлов)и

2)имя файла:

Каждый каталог содержит два специальных имени: ‘.’ - сам каталог; ‘..’ - родительский каталог.

(Для корневого каталога родитель ссылается на него же самого.)

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

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

Итак, чтобы получить доступ к файлу по имени, операционная система

1. находит это имя в каталоге, содержащем файл,

2. получает номер i -узла файла,

3. по номеру находит i- узел в области i-узлов,

4. из i-узла получает адреса блоков, в которых расположены данные файла,

5. по адресам блоков считывает блоки из области данных.

Структура дискового раздела в EXT 2 FS

Все пространство раздела делится на блоки. Блок может иметь размер от 1, 2 или 4 килобайта. Блок является адресуемой единицей дискового пространства.

Блоки, в свою область объединяются в группы блоков. Группы блоков в файловой системе и блоки внутри группы нумеруются последовательно, начиная с 1. Первый блок на диске имеет номер 1 и принадлежит группе с номером 1. Общее число блоков на диске (в разделе диска) является делителем объема диска, выраженного в секторах. А число групп блоков не обязано делить число блоков, потому что последняя группа блоков может быть не полной. Начало каждой группы блоков имеет адрес, который может быть получен как ((номер группы - 1)* (число блоков в группе)).

Каждая группа блоков имеет одинаковое строение. Ее структура представлена в таблице.

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

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

Вслед за суперблоком расположено описание группы блоков (Group Descriptors). Это описание содержит:

Адрес блока, содержащего битовую карту блоков (block bitmap) данной группы;

Адрес блока, содержащего битовую карту индексных дескрипторов (inode bitmap) данной группы;

Адрес блока, содержащего таблицу индексных дескрипторов (inode table) данной группы;

Счетчик числа свободных блоков в данной группе;

Число свободных индексных дескрипторов в данной группе;

Число индексных дескрипторов в данной группе, которые являются каталогами

и другие данные.

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

Файловая система Ext 2 характеризуется:

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

Внутреннее представление файлов

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

Индексные дескрипторы файлов

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

Индексный дескриптор файла содержит следующую информацию:

- Тип и права доступа к данному файлу.

Идентификатор владельца файла (Owner Uid).

Размер файла в байтах.

Время последнего обращения к файлу (Access time).

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

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

Время удаления файла.

Идентификатор группы (GID).

Счетчик числа связей (Links count ).

Число блоков, занимаемых файлом.

Флагифайла (File flags)

Зарезервировано для ОС

Указатели на блоки, в которых записаны данные файла (пример прямой и косвенной адресации на рис.1)

Версия файла (для NFS)

ACL файла

ACL каталога

Адресфрагмента (Fragment address)

Номерфрагмента (Fragment number)

Размер фрагмента (Fragment size )

Каталоги

Каталоги являются файлами.

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

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

Дополнительные возможности EXT2 FS

В дополнение к стандаpтным возможностям Unix, EXT2fs пpедоставляет некотоpые дополнительные возможности, обычно не поддеpживаемые файловыми системами Unix.

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

Во вpемя монтиpования системы могут быть установлены некотоpые особенности, связанные с файловыми атpибутами. Опция mount позволяет администpатоpу выбpать особенности создания файлов. В файловой системе с особенностями BSD, файлы создаются с тем же идентификатоpом гpуппы, как и у pодительского каталога. Особенности System V несколько сложнее. Если у каталога бит setgid установен, то создаваемые файлы наседуют идентификатоp гpуппы этого каталога, а подкаталоги наследуют идентификатоp гpуппы и бит setgid. В пpотивном случае, файлы и каталоги создаются с основным идентификатоpом гpуппы вызывающего пpоцесса.

В системе EXT2fs может использоваться синхpонная модификация данных, подобная системе BSD. Опция mount позволяет администpатоpу указывать чтобы все данные (индексные дескpиптоpы, блоки битов, косвенные блоки и блоки каталогов) записывались на диск синхpонно пpи их модификации. Это может быть использовано для достижения высокой потности записи инфоpмации, но также пpиводит к ухудшению пpоизводительности. В действительности, эта функция обычно не используется, так как кpоме ухудшения пpоизводительности, это может пpивести к потеpе данных пользователей, котоpые не помечаются пpи пpовеpке файловой системы.

EXT2fs позволяет пpи создании файловой системы выбpать pазмеp логического блока. Он может быть pазмеpом 1024, 2048 или 4096 байт. Использование блоков большого объема пpиводит к ускоpению опеpаций ввода/вывода (так как уменьшается количество запpосов к диску), и, следовательно, к меньшему пеpемещению головок. С дpугой стоpоны, использование блоков большого объема пpиводит к потеpе дискового пpостpанства. Обычно последний блок файла используется не полностью для хpанения инфоpмации, поэтому с увеличением объема блока, повышается объем теpяемого дискового пpостpанства.

EXT2fs позволяет использовать ускоpенные символические ссылки. Пpи пpименении таких ссылок, блоки данных файловой системы не используются. Имя файла назначения хpанится не в блоке данных, а в самом индексном дескpиптоpе. Такая стpуктуpа позволяет сохpанить дисковое пpостpанство и ускоpить обpаботку символических ссылок. Конечно, пpостpанство, заpезеpвиpованное под дескpиптоp, огpаничено, поэтому не каждая ссылка может быть пpедставлена как ускоpенная. Максимальная длина имени файла в ускоpенной ссылке pавна 60 символам. В ближайшем будующем планиpуется pасшиpить эту схему для файлов небольшого объема.

EXT2fs следит за состоянием файловой системы. Ядpо использует отдельное поле в супеpблоке для индикации состояния файловой системы. Если файловая система смонтиpована в pежиме read/write, то ее состояние устанавливается как "Not Clean". Если же она демонтиpована или смонтиpована заново в pежиме read-only, то ее состояние устанавливается в "Clean". Во вpемя загpузки системы и пpовеpке состояния файловой системы, эта инфоpмация используется для опpеделения необходимости пpовеpки файловой системы. Ядpо также помещает в это поле некотоpые ошибки. Пpи опpеделении ядpом несоответствия, файловая система помечается как "Erroneous". Пpогpамма пpовеpки файловой системы тестиpует эту инфоpмацию для пpовеpки системы, даже если ее состояние является в действительности "Clean".

Длительное игноpиpование тестиpования файловой системы иногда может пpивести к некотоpым тpудностям, поэтому EXT2fs включает в себя два метода для pегуляpной пpовеpки системы. В супеpблоке содеpжится счетчик монтиpования системы. Этот счетчик увеличивается каждый pаз, когда система монтиpуется в pежиме read/write. Если его значение достигает максимального (оно также хpанится в супеpблоке), то пpогpамма тестиpования файловой системы запускает ее пpовеpку, даже если ее состояние является "Clean". Последнее вpемя пpовеpки и максимальный интеpвал между пpовеpками также хpанится в супеpблоке. Когда же достигается максимальный интеpвал между пpовеpками, то состояние файловой системы игноpиpуется и запускается ее пpовеpка.

Оптимизация пpоизводительности

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

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

Система EXT2fs также содеpжит большое количество оптимизаций pазмещения инфоpмации. Гpуппы блоков используются для объединения соответствующих индексных дескpиптоpов и блоков данных. Ядpо всегда пытается pазместить блоки данных одного файла в одной гpуппе, так же как и его дескpиптоp. Это пpедназначено для уменьшения пеpемещения головок пpивода пpи считывании дескpиптоpа и соответствующих ему блоков данных.

Пpи записи данных в файл, EXT2fs заpанее pазмещает до 8 смежных блоков пpи pазмещении нового блока. Такой метод позволяет достичь высокой пpоизводительности пpи сильной загpуженности системы. Это также позволяет pазмещать смежные блоки для файлов, что укоpяет их последующее чтение.

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

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

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

Файловая система – это система управления данными.

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

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

Файловая система (назначение):

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

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

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

Файловая структура в виде дерева

Используется древовидная структура каталогов – дерево каталогов. Заимствована у Unix. Иерархическая структура – структура системы, части (компоненты) которой связаны отношениями включения или подчинения.

Иерархическая структура изображается ориентированным деревом, в котором вершины соответствуют компонентам, а дуги – связям.

дерево каталогов диска G

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

Деревья используются при описании и проектировании иерархических структур.

Корень – начальная позиция, листья – заключительная позиция.

Разделы

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

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

Имя диска – обозначение логического диска; запись в корневом каталоге.

Логические диски (разделы) обозначаются латинскими буквами A, B, C, D, E, … (32 буквы от A до Z).

Буквы A, B зарезервированы для обозначения дискет.

С – жесткий диск, обычно с которого производится загрузка ОС.

Остальные буквы – логические диски, компакт-диски и т.д. Максимальное количество логических дисков для ОС Windows – бесконечное.

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

Файловая структура логического диска

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

Элементы файловой структуры:

    стартовый сектор (начальной загрузки, Boot-сектор);

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

    корневой каталог (Root Directory);

    область данных (оставшееся свободным дисковое пространство).

Файловая структура на дискете емкостью 360 кбайт

Boot-сектор – первый (начальный) сектор диска. Находится на 0- стороне, 0-дорожке.

Boot-сектор содержит служебную информацию:

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

    местоположение FAT-таблицы (в вoot-секторе находится указатель на то, где расположена FAT-таблица);

    размер FAT-таблицы;

    количество FAT-таблиц (всегда есть как минимум 2 копии таблицы для обеспечения надежности и безопасности, т.к. разрушение FAT ведет к потере информации и трудно восстанавливается);

    адрес начала корневой директории и ее максимальный размер.

В вoot-секторе находится блок начальной загрузки (загрузчик) – загрузочная запись Boot Record.

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

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

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

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

FAT состоит из элементов длиной 16 /32/64 бита. Всего в таблице может быть до 65520 таких элементов, каждый из них (кроме первых двух) соответствует кластеру диска. Кластер является той единицей, в которой распределяется пространство в области данных на диске для файлов и каталогов. Первые два элемента таблицы (с номерами 0 и 1) зарезервированы, а каждый из остальных элементов таблицы описывает состояние кластера диска с тем же номером. Элемент может указывать, что кластер свободен, что кластер дефектный, что кластер принадлежит файлу и является последним кластером в файле. Если кластер принадлежит файлу и не является его последним кластером, то элемент таблицы содержит номер следующего кластера в этом файле.

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

Для разных ОС необходимы разные версии FAT

Windows 95 FAT 16, FAT 32

Windows NT (XP) NTFS

Novell Netware TurboFAT

UNIX NFS,ReiserFS

Логическая структура носителя информации

Полная информация о кластерах, которые занимают файлы, содержится в таблице размещения файлов FAT (FAT - File Allocation Table).

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

Например, для файлов Файл_1 и Файл_2 таблица FAT с 1-й по 54-ю ячейку принимает вид:

Фрагмент FAT

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

Он не вложен ни в какие другие каталоги, это каталог самого верхнего уровня

На одном диске бывает только один корневой каталог

Каталог - это поименнованная совокупность файлов и подкаталогов (т.е. вложенных каталогов).

Каталог (папка) – специальное место на диске, в котором хранится информация о местоположении файлов.

В каталоге хранится информация о файлах и подкаталогах - имя, размер, дата и время последнего обновления и т.п.

Каждый каталог имеет имя, и он может быть зарегистрирован в другом каталоге.

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

Подкаталог – каталог более низкого уровня (вложенный) по отношению к текущему каталогу.

Текущий каталог (папка)– каталог, с которым в данный момент работает пользователь (просматривает содержимое каталога).

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

Перейдем в следующей теме к главному элементу файловой системы - ФАЙЛУ

Как установить такие кнопки?
Давайте дружить!

komputercnulja.ru

Файлы и файловые структуры - Информатика в школе

Логические имена устройств внешней памяти

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

Наличие нескольких логических разделов на одном жёстком диске обес­печивает пользователю следующие преимущества:

Можно хранить операционную систему в одном логическом разделе, а данные - в другом, что позволит переустанавливать операционную систему, не затрагивая данные;

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

Обслуживание одного логического раздела не затрагивает другие разделы.

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

В операционной системе Windows приняты логические имена устройств внешней памяти, состоящие из одной латинской буквы и знака двоеточия:

Для дисководов гибких дисков (дискет) - А: и В:;

Для жёстких дисков и их логических разделов - С:, D:, Е: и т. д.;

Для оптических дисководов - имена, следующие по алфавиту после имени последнего имеющегося на компьютере жёсткого диска или раздела жёсткого диска (например, F:);

Для подключаемой к компьютеру флэш-памяти - имя, следующее за последним именем оптического дисковода (например, G:).

В операционной системе Linux приняты другие правила именования дисков и их разделов.

Например:

Логические разделы, принадлежащие первому жёсткому диску, получают имена hdal, hda2 и т. д.;

Логические разделы, принадлежащие второму жёсткому диску, получают имена hdbl, hdb2 и т. д.

Все программы и данные хранятся во внешней памяти компьюте­ра в виде файлов.

Файл - это поименованная область внешней памяти.

Файловая система - это часть ОС, определяющая способ органи­зации, хранения и именования файлов на носителях информации.

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

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

В современных операционных системах имя файла может включать до 255 символов, причём в нём можно использовать буквы национальных алфавитов и пробелы. Расширение имени файла запи­сывается после точки и обычно содержит 3-4 символа.

В ОС Windows в имени файла запрещено использование следующих символов: \, /, :, *, ?, ", |. В Linux эти символы, кроме /до­пустимы, хотя использовать их следует с осторожностью, так как некоторые из них могут иметь специальный смысл, а также из соображений совместимости с другими ОС.

Операционная система Linux, в отличие от Windows, различает строчные и прописные буквы в имени файла: например, FILE.txt, file.txt и FiLe.txt - это в Linux три разных файла.

В таблице приведены наиболее распространённые типы файлов и их расширения:

В ОС Linux выделяют следующие типы файлов:

Обычные файлы - файлы с программами и данными;

Каталоги - файлы, содержащие информацию о каталогах;

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

Каталоги

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

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

Каталог - это поименованная совокупность файлов и подкаталогов (вложенных каталогов).

Каталог самого верхнего уровня называется корневым каталогом.

В ОС Windows любой информационный носитель имеет корневой каталог, который создаётся операционной системой без участия поль­зователя. Обозначаются корневые каталоги добавлением к логическому имени соответствующего устройства внешней памяти знака «\» (обратный слэш): А:\, С:\, D:\, E:\ и т. д.

В Linux каталоги жёстких дисков или их логических разделов не принадлежат верхнему уровню файловой системы (не являются коричневыми каталогами). Они «монтируются» в каталог mnt. Другие устройства внешней памяти (гибкие, оптические и флэш-диски) «монтируются» в каталог media. Каталоги mnt и media, в свою оче­редь, «монтируются» в единый корневой каталог, который обознача­ется знаком « / » (прямой слэш).

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

Файловая структура диска - это совокупность файлов на диске и взаи­мосвязей между ними.

Файловые структуры бывают простыми и многоуровневыми (иерархическими).

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

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

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

Графическое изображение иерархической файловой структуры называется деревом. В Windows каталоги на разных дисках могут образовывать несколько отдельных деревьев; в Linux каталоги объ­единяются в одно дерево, общее для всех дисков (рис. 2.10). Древовидные иерархические структуры можно изображать вертикально и горизонтально.

Полное имя файла

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

В операционной системе Windows путь к файлу начинается с логи­ческого имени устройства внешней памяти; после имени каждого подкаталога ставится обратный слэш. В операционной системе Linux путь к файлу начинается с имени единого корневого каталога; после имени каждого подкаталога ставится прямой слэш.

Последовательно записанные путь к файлу и имя файла составляют полное имя файла. Не может быть двух файлов, имеющих одина­ковые полные имена.

Пример полного имени файла в ОС Windows: Е:\изображения\фото\Катунь.jpg

Пример полного имени файла в ОС Linux: /home/methody/text

Задача 1. Пользователь работал с каталогом С:\Физика\Задачи\Кинематика. Сначала он поднялся на один уровень вверх, затем ещё раз поднялся на один уровень вверх и после этого спустился в ка­талог Экзамен, в котором находится файл Информатика.doc. Каков путь к этому файлу?

Решение. Пользователь работал с каталогом С:\Физика\Задачи\Кинематика. Поднявшись на один уровень вверх, пользователь оказался в ка­талоге С:\Физика\Задачи. Поднявшись ещё на один уровень вверх, пользователь оказался в каталоге С:\Физика. После этого пользова­тель спустился в каталог Экзамен, где находится файл. Полный путь к файлу имеет вид: С:\Физика\Экзамен

Задача 2. Учитель работал в каталоге 0:\Уроки\8 класс\Практические работы. Затем перешёл в дереве каталогов на уровень выше, спустился в подкаталог Презентации и удалил из него файл Введение.ppt. Каково полное имя файла, который удалил учитель?

Решение. Учитель работал с каталогом 0:\Уроки\8 класс\Практические работы. Поднявшись на один уровень вверх, он оказался в каталоге Б:\Уроки\8 класс. После этого учитель спустился в каталог Презентации, путь к файлам которого имеет вид: Б:\Уроки\8 класс\Презентации. В этом каталоге он удалил файл Введение.ppt, полное имя которого 0:\Уроки\8 класс\ Презентации \Введение.ppt

Работа с файлами

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

В процессе работы на компьютере над файлами наиболее часто проводятся следующие операции:

Копирование (создаётся копия файла в другом каталоге или на дру­гом носителе);

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

Переименование (производится переименование собственно имени файла);

Удаление (в исходном каталоге объект уничтожается).

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

«?» (вопросительный знак) - означает ровно один произвольный символ;

«*» (звездочка) - означает любую (в том числе и пустую) по­следовательность символов произвольной длины.

Например, по маске n*.txt будут найдены все файлы с расширением txt, имена которых начинаются с буквы «n», в том числе и файл n.txt. По маске n?.* будут найдены файлы с произвольными расширениями и двухбуквенными именами, начинающимися с буквы «n».

САМОЕ ГЛАВНОЕ

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

Файл - это поименованная область внешней памяти. Имя файла, как правило, состоит из двух частей, разделённых точкой: собственно имени файла и расширения.

Каталог - это поименованная совокупность файлов и подкатало­гов (вложенных каталогов). Каталог самого верхнего уровня называется корневым каталогом.

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

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

sites.google.com

§11. О файлах и файловых структурах

Основные темы параграфа:

что такое файл;

имя файла;

логические диски;

файловая структура диска;

путь к файлу, полное имя файла;

таблица размещения файлов на диске.

Что такое файл

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

Файл - это информация, хранящаяся на внешнем носителе и объединенная общим именем.

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

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

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

Чтобы найти нужный файл, пользователю должно быть известно: а) какое имя у файла; б) где хранится файл1.

Имя файла

Практически во всех операционных системах имя файла составляется из двух частей, разделенных точкой. Например:myprog.pas

Слева от точки находится собственно имя файла (myprog). Следующая за точкой часть имени называется расши­рением файла (pas). Обычно в именах файлов употребляются латинские буквы и цифры. В большинстве ОС максимальная длина расширения - 3 символа. Кроме того, имя файла мо­жет и не иметь расширения. В операционной системе Win­dows в именах файлов допускается использование русских букв; максимальная длина имени - 255 символов.

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

Логические диски

На одном компьютере может быть несколько дисково­дов - устройств работы с дисками. Каждому дисководу при­сваивается одно буквенное имя (после которого ставится двоеточие), например А:, В:, С:. Часто на персональных компьютерах диск большой емкости, встроенный в систем­ный блок (его называют жестким диском), делят на разделы. Каждый из таких разделов называется логическим диском, и ему присваивается имя С:, D:, Е; и т. д. Имена А: и В: обычно относятся к сменным дискам малого объема - гиб­ким дискам (дискетам). Их тоже можно рассматривать как имена дисков, только логических, каждый из которых пол­ностью занимает реальный (физический) диск. Следователь­но, А:, В:, C:, D: - это всё имена логических дисков,

Имя логического диска, содержащего файл, является пер­вой «координатой», определяющей место расположения файла.

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

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

Одноуровневая файловая структура - это простая по­следовательность фай лов. Для отыскания файла на диске до­статочно указать лишь имя файла. Например, если файл tetris.exe находится на диске А:, то его «полный адрес» выгля­дит так:

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

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

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

В операционной системе Windows для обозначения поня­тия «каталог» используется термин 4папка».

Графическое изображение иерархической файловой структуры называется деревом.

На рис. 2.9 имена каталогов записаны прописными буква­ми, а файлов - строчными. Здесь в корневом каталоге име­ются две папки: IVANOV и PETROV и один файл fin.com. Папка IVANOV содержит в себе две вложенные папки PROGS и DATA. Папка DATA - пустая; в папке PROGS имеются три файла и т. д, На дереве корневой каталог обыч­но изображается символом \.

Путь к файлу

А теперь представьте, что вам нужно найти определенный документ. Для этого надо знать ящик, в котором он находит­ся, а также «путь» к документу внутри ящика: всю последо­вательность папок, которые нужно открыть, чтобы до­браться до искомых бумаг.

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

Вот всем знакомая сказочная аналогия понятия «путь к файлу «На дубе висит сундук, в сундуке - заяц, в зайце - утка, в утке - яйцо, в яйце - игла, на конце которой смерть Кощеева».

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

Если представленная на рис. 2.9 файловая структура хра­нится на диске С:, то полные имена некоторых входящих в нее файлов в символике операционных систем MS-DOS и Windows выглядят так:

Таблица размещения файлов

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

На рис. 2.10 показан пример отображения на экране компьютера дерева каталогов на логическом диске Е: (левое окно).

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

Из таблицы можно получить дополнительную информа­цию о файлах. Например, файл dos4gw.exe имеет размер 254 556 байтов и был создан 31 мая 1994 года в 2 часа 00 мин.

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

Коротко о главном

Файл - это информация, хранящаяся на внешнем носи­теле и объединенная общим именем.

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

Имя файла состоит из собственно имени и расширения. Расширение указывает на тип информации в файле (тип файла).

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

Каталог - это поименованная совокупность файлов и под­каталогов (вложенных каталогов). Каталог самого верхнего уровня называется корневым. Он не вложен ни в какие ката­логи.

Полное имя файла состоит из имени диска, пути к файлу на диске и имени файла.

Вопросы и задания

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

2.Какую файловую структуру использует операционная система на ваших компьютерах (простую, многоуровневую)?

3.Сколько физических дисководов работает на ваших компьюте­рах? Сколько логических дисков находится на физических ди­сках и какие имена они имеют в операционнсй системе?

4.Каким правилам подчиняются имена файлов в вашей ОС?

5.Что такое путь к файлу на диске, полное имя файла?

6.Научитесь (под руководством учителя) просматривать на экра­не каталоги дисков на ваших компьютерах.

7.Научитесь инициализировать работу программ из программ­ных файлов (типа exe, com).

8.Научитесь выполнять основные файловые операции в исполь­зуемой ОС (копирование, перемещение, удаление, переимено­вание файлов).

txtbooks.ru

Файл и файловая структура. Операции с файлами

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

Понятие файла и файловой структуры

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

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

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

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

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

Файлы (объекты), не соответствующие ни операционной системе, ни какой-либо программе, открыть будет не так просто. Грубо говоря, ни одна «операционка» не поймет, какое именно средство для открытия нужно запустить. В лучшем случае будет предложено выбрать соответствующую программу самому из предоставляемого списка вероятных решений.

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

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

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

Файлы и папки

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

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

Простейшие примеры поиска файлов

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

Однако для более точного поиска иногда нужно знать, где именно располагается искомый файл. Грубо говоря, необходимо выбрать определенный ящик в комоде, где находится нужный нам предмет. Сам поиск производится при помощи стандартного средства в файловом менеджере, но можно использовать и сочетание вроде Ctrl + F, которое вызывает поисковую строку.

Что такое файловая система?

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

Сегодня файловых систем можно найти достаточно много. К примеру, наиболее известными для Windows с момента развития компьютерной техники стали системы FAT с архитектурой 8, 16, 32 и 64 бита, NTFS и ReFS. Файловая система, структура файла, способ упорядочивания тесно связаны между собой. Но теперь несколько слов о самих системах.

Не говоря о технических подробностях, следует отметить, что основное различие между ними состоит только в том, что FAT имеет больший размер кластера для хранения и ускоренного доступа к файлам небольшого объема, а NTFS и ReFS оптимизированы для больших массивов данных и быстрого доступа к ним на максимальной скорости считывания информации с жесткого диска.

Операции с файлами

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

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

Архивация данных

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

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

Управление отображением объектов

Понятия «файловая структура», «структура файла» и т. д. следует рассматривать еще и с точки зрения возможности видения самих объектов. Не секрет, что практически все пользователи современных ПК сталкивались с термином «скрытые файлы и папки».

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

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

С поиском скрытых объектов тоже могут возникнуть трудности. При вводе имени файла или его расширения даже с указанием конкретного местоположения при отключенном отображении таких объектов результата не будет (система ведь не видит их). Для того чтобы их найти, нужно в начале и в конце имени корневой папки вводить символ %. Например, для поиска директории AppData, которая является скрытой и располагается в локальной папке настроек конкретного пользователя, следует использовать строку поиска %USERPROFILE%\AppData. Только в этом случае файл и файловая структура в целом получат ключ к взаимосвязи.

Заключение

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

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

fb.ru

Файловая структура (система). Представление о файле и каталоге

Методическая разработка урока

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

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

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

Часто каталоги называют также директориями или папками. Все три термина обозначают одно и тоже.

Получаем дерево?!

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

Описанное выше можно представить в виде дерева, у которого ствол и ветви являются каталогами, а листья – файлами. От любой ветви может отрастать ветка следующего порядка и/или листья, т.е. любой каталог может содержать вложенные каталоги и/или файлы с данными.

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

Каждому файлу – адрес!

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

На предыдущем рисунке можно видеть, что каталог less находиться в каталоге sasha. Тот в свою очередь в каталоге home, который находится непосредственно в корневом каталоге. Адрес записывается следующим образом: сначала пишется корневой каталог «/», и далее указываются каталоги, начиная с самого верхнего (родительского) и заканчивая самым нижним (дочерним), разделяемые между собой все тем же «/». В нашем примере адрес каталога less, будет выглядеть так: /home/sasha/less. Адрес и имя файла, формируют его полное имя. При этом следует запомнить правило: в операционной системе не может быть двух файлов (или каталогов) с одинаковыми полными именами.

Адресация, описанная выше, является абсолютной (т.е. адрес записывается, начиная с корневого каталога). Помимо абсолютной нередко используют относительную адресацию, где запись адреса начинается не с корневого каталога, а относительно текущего (того, который открыт в данный момент). Например, если мы, находясь в каталоге sasha, захотим перейти в каталог vaniy, то следует написать такой адресный путь: ../vaniy. Здесь две точки обозначают переход на уровень выше (в данном случае каталог /home). Если из каталога sasha потребуется перейти в каталог less, то достаточно будет указать просто имя этого каталога less; хотя более правильным будет такой вариант: ./less. Одна точка обозначает текущий каталог.

Файловый менеджер – ваш помощник

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


В графической оболочке GNOME по умолчанию таким менеджером/браузером является Nautilus. Запустить его можно через Главное меню (Приложения -> Система -> Обозреватель файлов) или другими способами.

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

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

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

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

Помимо Наутилуса существует много других файловых менеджеров. Например, в графической оболочке KDE по умолчанию им является Konqueror.

Навигация и создание файлов

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

Если понадобится переименовать объект, то это можно сделать следующими способами: выделить папку/файл, затем щелкнуть по нему левой кнопкой мыши (не путать с двойным кликом, когда щелчки происходят быстро друг за другом); выделить папку/файл, затем нажать на клавиатуре клавишу F2;

кликнуть папку/файл правой кнопкой мыши и в появившемся контекстном меню выбрать пункт Переименовать.

После любого из этих трех действий следует ввести новое имя файла и нажать Enter.

Практическая работа. Создание файлов и каталогов

Задание. Создайте в своем домашнем каталоге следующую файловую структуру.


Обозначения: эллипс – каталог, прямоугольник – файл.

Вопросы

  1. Почему файловую систему называют древовидной и иерархической?
  2. Что такое файл?
  3. Как обозначается корневой каталог в Linux? В каком каталоге по умолчанию содержатся каталоги пользователей?
  4. Что такое абсолютный адрес? относительный адрес? В каких случаях более уместно употреблять относительный адрес?

Выводы

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


Просмотров