Файловая структура диска
О файлах и файловых структурах
Файл
Файл (англ. file — скоросшиватель) — концепция в вычислительной технике: сущность, позволяющая получить доступ к какому-либо ресурсу вычислительной системы и обладающая рядом признаков:
- фиксированное имя (последовательность символов, число или что-то иное, однозначно характеризующее файл);
- определённое логическое представление и соответствующие ему операции чтения/записи.
Может быть любой — от последовательности бит(хотя читаем именно байтами, а точнее словами-группами из байт, по четыре, по восемь, по шестнадцать) до базы данных с произвольной организацией или любым промежуточным вариантом; многомерной базой данных, строго упорядоченной.
Первому случаю соответствуют операции чтения/записи потока и/или массива (то есть последовательные или с доступом по индексу), второму — команды СУБД. Промежуточные варианты — чтение и разбор всевозможных форматов файлов.
В информатике используют следующее определение: файл — поименованная последовательность байтов.
Работа с файлами реализуется средствами операционных систем.
Имена как у файлов имеют и обрабатываются похожим образом:
- области данных (необязательно на диске);
- устройства (как физические, порты например; так и виртуальные);
- потоки данных (в частности, вход или выход процесса) («pipe» следует переводить словом «конвейер»);
- сетевые ресурсы, сокеты;
- объекты операционной системы.
Файлы первого типа исторически возникли первыми и распространены наиболее широко, поэтому часто «файлом» называют и область данных, соответствующую имени.
Файл, как область данных
Информация на внешних носителях хранится в виде файлов. Работа с файлами является очень важным видом работы на компьютере. В файлах хранится все: и программное обеспечение, и информация, необходимая для пользователя. С файлами, как с деловыми бумагами, постоянно приходится что-то делать: переписывать их с одного носителя на другой, уничтожать ненужные, создавать новые, разыскивать, переименовывать, раскладывать в том или другом порядке и пр.
Файл - это информация, хранящаяся на внешнем носителе и объединенная общим именем.
Для прояснения смысла этого понятия удобно воспользоваться следующей аналогией: сам носитель информации (диск) подобен книге. Мы говорили о том, что книга - это внешняя память человека, а магнитный диск - внешняя память компьютера. Книга состоит из глав (рассказов, разделов), каждый из которых имеет название. Также и файлы имеют свои названия. Их называют именами файлов. В начале или в конце книги обычно присутствует оглавление - список названий глав. На диске тоже есть такой список-каталог, содержащий имена хранимых файлов.
Каталог можно вывести на экран, чтобы узнать, есть ли на данном диске нужный файл.
В каждом файле хранится отдельный информационный объект: документ, статья, числовой массив, программа и пр. Заключенная в файле информация становится активной, т. е. может быть обработана компьютером, только после того, как она будет загружена в оперативную память.
Любому пользователю, работающему на компьютере, приходится иметь дело с файлами. Даже для того, чтобы поиграть в компьютерную игру, нужно узнать, в каком файле хранится ее программа, суметь отыскать этот файл и инициализировать работу программы.
Работа с файлами на компьютере производится с помощью файловой системы. Файловая система - это функциональная часть ОС, обеспечивающая выполнение операций над файлами.
Чтобы найти нужный файл, пользователю должно быть известно: а) какое имя у файла; б) где хранится файл .
Имя файла
Практически во всех операционных системах имя файла составляется из двух частей, разделенных точкой. Например:
myprog.pas
Слева от точки находится собственно имя файла (ту-prog). Следующая за точкой часть имени называется расширением файла (pas). Обычно в именах файлов употребляются латинские буквы и цифры. В большинстве ОС максимальная длина расширения - 3 символа. Кроме того, имя файла может и не иметь расширения. В операционной системе Windows в именах файлов допускается использование русских букв; максимальная длина имени - 255 символов.
Расширение указывает, какого рода информация хранится в данном файле. Например, расширение txt обычно обозначает текстовый файл (содержит текст); расширение рсх - графический файл (содержит рисунок), zip или гаг - архивный файл (содержит архив - сжатую информацию), pas - программу на языке Паскаль.
Файлы, содержащие выполнимые компьютерные программы, имеют расширения ехе или com. Например, программа популярной игры "Тетрис" хранится в файле tetris.exe. Инициализация программы происходит путем записи ее в оперативную память и перехода работы процессора к ее исполнению.
Логические диски
На одном компьютере может быть несколько дисководов - устройств работы с дисками. Каждому дисководу присваивается однобуквенное имя (после которого ставится двоеточие), например А:, В:, С:. Часто на персональных компьютерах диск большой емкости, встроенный в системный блок (его называют жестким диском), делят на разделы. Каждый из таких разделов называется логическим диском, и ему присваивается имя С:, D:, Е: и т. д. Имена А: и В: обычно относятся к сменным дискам малого объема - гибким дискам (дискетам). Их тоже можно рассматривать как имена дисков, только логических, каждый из которых полностью занимает реальный (физический) диск. Следовательно, А:, В:, С:, D: - это всё имена логических дисков. Имя логического диска, содержащего файл, является первой "координатой", определяющей место расположения файла.
Различают два состояния логического диска – текущее и пассивное. Текущий диск – диск, на котором пользователь работает в текущее машинное время. Пассивный диск – диск, с которым в данный момент времени связь отсутствует.
Файловая структура диска
Вся совокупность файлов на диске и взаимосвязей между ними называется файловой структурой. Различные ОС могут поддерживать разные организации файловых структур. Существуют две разновидности файловых структур: простая, или одноуровневая, и иерархическая - многоуровневая.
Одноуровневая файловая структура - это простая последовательность файлов. Для отыскания файла на диске достаточно указать лишь имя файла. Например, если файл tetris.exe находится на диске А:, то его "полный адрес" выглядит так:
A:\tetris.exe
Операционные системы с одноуровневой файловой структурой используются на простейших учебных компьютерах, оснащенных только гибкими дисками.
Многоуровневая файловая структура - древовидный (иерархический) способ организации файлов на диске. Для облегчения понимания этого вопроса воспользуемся аналогией с традиционным "бумажным" способом хранения информации. В такой аналогии файл представляется как некоторый озаглавленный документ (текст, рисунок) на бумажных листах. Следующий по величине элемент файловой структуры называется каталогом. Продолжая "бумажную" аналогию, каталог будем представлять как папку, в которую можно вложить множество документов, т. е. файлов. Каталог также получает собственное имя (представьте, что оно написано на обложке папки).
Каталог сам может входить в состав другого, внешнего по отношению к нему каталога. Это аналогично тому, как папка вкладывается в другую папку большего размера. Таким образом, каждый каталог может содержать внутри себя множество файлов и вложенных каталогов (их называют подкаталогами). Каталог самого верхнего уровня, который не вложен ни в какой другой каталог, называется корневым каталогом.
В операционной системе Windows для обозначения понятия "каталог" используется термин "папка".
Графическое изображение иерархической файловой структуры называется деревом.
На рис. 1 имена каталогов записаны прописными буквами, а файлов - строчными. Здесь в корневом каталоге имеются две папки: IVANOV и PETROV и один файл fin.com. Каталог IVANOV содержит в себе два вложенных каталога PROGS и DATA. Каталог DATA - пустой; в каталоге PROGS имеются три файла и т. д. На дереве корневой каталог обычно изображается символом \.
Рис. 1. Пример иерархической файловой структуры
Различают два состояния каталога (аналогично логическим дискам) – текущее и пассивное. Операционная система помнит текущий каталог на каждом логическом daтекущего диска., в данном случае ОС хранит имя диска и имя каталога.