Принцип двойной адресации. Единицы хранения данных
Существуют два принципиально разных способа адресации к объектам: символьная и числовая. Символьную адресацию используют в информационном обмене, обслуживающим общественные отношения. Она наглядна и удобна, в компьютере представляет собой запись пути доступа к объекту в иерархической структуре данных (рассмотрена ниже).
Числовую адресацию используют, если информационный обмен осуществляется автоматически между элементами технических систем.
Если информационный обмен происходит между людьми и техническими устройствами используют принцип двойной адресации. Люди вводят в системы (или получают от нее) адрес в символьной форме, а система преобразует его в числовую форму и передает другой технической системе (устройству). Чтобы реализовать принцип двойной адресации, должно быть предусмотрено средство пересчета адресов из одной формы в другую.
При хранении данных решаются две проблемы: как сохранить данные в наиболее компактном виде и как обеспечить к ним быстрый и удобный доступ. Для обеспечения доступа необходимо, чтобы данные имели упорядоченную структуру, а при этом образуются адресные данные. Поскольку адресные данные тоже имеют размер и тоже подлежат хранению, хранить данные в виде мелких единиц, таких как байты, неудобно. Их неудобно хранить и в более крупных единицах (килобайтах, МБ), поскольку неполное заполнение одной единицы приводит к неэффективности хранения.
В качестве единицы хранения данных принят объект переменной длины, называемый файлом.
Файл – это последовательность произвольного числа байтов, обладающая уникальным собственным именем. Или: Файл – это совокупность данных, имеющая собственное имя. В определение файла особое внимание уделяется имени. Оно несет в себе адресные данные, без которых данные, хранящиеся в файле, не станут информацией из-за отсутствия метода доступа к ним.
Обычно в отдельном файле хранят данные, относящиеся к одному типу (текст, рисунок, музыка, программа, видео). В определении файла нет ограничения на размер, файл может иметь 0 байтов (пустой файл) или любое число байтов. Имя файла также хранит сведения о типе данных, заключенных в нем (расширение txt, doc, jpg, exe и т.д.). Для автоматических средств работы с данными это важно, так как по имени файла они могут определить метод извлечения информации из файла.
2. Файловая структура
Структуры данных: Семакин, параграф 14, стр.70-78
Работа с большими наборами данных автоматизируется проще, когда данные упорядочены, то есть образуют заданную структуру. Существует три основных типа структур данных:
· линейная структура (списки данных, адрес элемента однозначно определяется его номером);
· табличная структура (адрес элемента определяется номером строки и номером столбца, на пересечении которых находится ячейка, содержащая искомый элемент);
· иерархические структуры данных (адрес каждого элемента определяется путем доступа (маршрутом), ведущим от вершины структуры к данному элементу);
· сетевые структуры (ориентированные и неориентированные графы).
Иерархическими называют связанные структуры соподчиненных объектов, обладающие следующими признаками:
- каждый объект связан отношением соподчинения ровно с одним объектом вышестоящего уровня;
- не существует отношений соподчинения объектами одного уровня.
Данные пользователю в компьютере представляются в виде иерархической многоуровневой структуры, которая называется файловой структурой.
Файловая структура — это основная структура, используемая компьютером для упорядочения информации на жестком диске. Она определяет способ организации, хранения и именования данных на носителях информации в компьютерах, а также в другом электронном оборудовании: цифровых фотоаппаратах, мобильных телефонах и т. п.
В качестве вершины структуры служит имя носителя (диска), на котором сохраняются файлы. В компьютере обычно имеется несколько логических дисков: A:, B:, C:, Д: и т.д.
Далее файлы группируются в каталоги (папки, директории), внутри которых могут быть созданы вложенные каталоги.
Путь доступа к файлу начинается с имени носителя и включает все имена каталогов, через которые проходит. Разделителем является «».
Каталог (англ. directory — справочник, указатель) — объект в файловой системе, упрощающий организацию файлов.
Каталог - это, с одной стороны, группа файлов, объединенных пользователем исходя из некоторых соображений (например, файлы, содержащие программы игр, или файлы, составляющие один программный пакет), а с другой стороны - это файл, содержащий системную информацию о группе файлов, его составляющих. В каталоге содержится список файлов, входящих в него, и устанавливается соответствие между файлами и их характеристиками (атрибутами).
Каталог (директорий, папка) – специальное место на диске, в котором хранятся имена файлов, сведения о размере файлов, времени их последнего обновления, атрибуты (свойства) файлов и т.д.
Каталоги в ОС Windows бывают системные (служебные, созданные ОС) и пользовательские (созданные пользователем). Пример системных каталогов: «Рабочий стол», «Корзина», «Сетевое окружение», «Панель управления», каталоги логических дисков (корневой каталог) и т. п.
Текущий каталог – каталог, с которым в настоящий момент работает пользователь.
Подкаталоги и надкаталоги – все каталоги, кроме корневого являются файлами специального вида.
Корневой каталог – это каталог, который не является подкаталогом ни одного другого каталога, главный каталог на диске, в котором регистрируются файлы и подкаталоги 1 уровня.
В ОС Windows каждый из дисков имеет свою корневой каталог (А:, В:, C:, D: и т. д).
Буквы «A:» и «B:» используются для дисководов гибких дисков. Начиная с каталога с буквой «C:» идут папки жёстких, логических, сетевых и внешних дисков, приводов оптических дисков и т. д. Обычно каталог основного диска (который и хранит все системные файлы, необходимые для работы операционной системы) называется «C:».
Термин папка (англ. folder) был введён для представления объектов файловой системы в графическом пользовательском интерфейсе путём аналогии с офисными папками.
В этой терминологии, папка, находящаяся в другой папке, называется подпапка или вложенная папка. Все вместе папки на компьютере представляют иерархическую структуру, представляющую собой дерево каталогов.
Полным именем файла считается собственное имя файла вместе с путем доступа к нему.
Полное имя файла имеет следующий вид: Диск:путьимя файла.
Имя файла состоит из двух частей: собственно имени и расширения. Расширение указывает на тип файла, с помощью какой программы он был создан.
3. Организация файловой системы
Файловая система определяет формат содержимого и физического хранения информации, которую принято группировать в виде файлов.
Файлом называется определенная поименованная область диска, предназначенная для хранения любой информации.
Наименьшей физической единицей хранения данных является сектор, его размер 512 байт.
Группы секторов объединяются в кластеры. Кластер является наименьшей единицей адресации при обращении к данным.
При записи на диск файл разбивается на несколько кусков – кластеров и записывается в произвольные свободные на диске кластеры. Таким образом, файл разбросан по поверхности диска в некоторой, понятной компьютеру последовательности, и эта последовательность кластеров для каждого файла запоминается в таблице размещения файлов FAT (File Allocation Table, таблица размещения файлов) или NTFS (от англ. New Technology File System — «файловая система новой технологии»). Т.е. принцип организации файловой системы - табличный.
Размер кластера, в отличие от размера сектора, строго не фиксирован. Обычно он зависит от емкости диска.
Файловая система FAT12, основанная на основе таблиц размещения файлов, состоящих из 12-разрядных полей (выделяется 12 битов для хранения адреса кластера) позволяет разместить в таблицах не более 4096 (212) записей о местонахождении единиц хранения данных. По умолчанию размер кластера равен размеру сектора (512 байт), поэтому FAT12 не может использоваться для носителей информации, объемом более:
512*4096= 2097152байт=2048 кБ=2МБ.
Файловая система FAT16 выделяет 16 битов для хранения адреса кластера и позволяет разместить в таблицах не более 65536 (216) записей о местонахождении единиц хранения данных. В FAT16 объем кластера не может быть больше 128 секторов (64 КБ). Поэтому с дисками более 4 Гбайт FAT16 работать не может:
64кБ*65536=4096МБ=4ГБ
Начиная с Windows98 операционные системы семейства Windows поддерживают файловую систему FAT32, которая может использоваться для носителей информации объемом 16 Тбайт.
Операционные системы Windows NT и Windows XP способны поддерживать совершенно другую файловую систему – NTFS. В ней служебная информация хранится в Главной таблице файлов (Master File Table (MFT)). В системе NTFS размер кластера не зависит от размера диска. NTFS использует систему журналирования для повышения надежности файловой системы. Т.е в отдельной части файловой системы, называемой журналом или логом, файловая система перед фактической записью изменений сохраняет список этих изменений. И только после этого файловая система применит эти изменения к файлам.
При записи файлов будет занято всегда целое количество кластеров, минимальный размер файла равен размеру одного кластера.
Например, в FAT12 объем кластера равен одному сектору, минимальный объем файла будет равен 512 байтам; в FAT16 объем кластера по умолчанию равен 32 Кбайтам (минимальный размер файла 32 КБ); в FAT32 или NTFS один кластер имеет объем от 512 байтов до 64 КБ, по умолчанию 4 КБ).
Для определения, какая файловая система используется данным диском, надо в контекстном меню этого диска выбрать пункт Свойства (вкладка Общие) или в контекстное меню системной папки «Мой компьютер» выбрать пункт Управление и в окне «Управление компьютером выбрать Управление дисками.
Файловая система обращается к диску непосредственно (напрямую), и поэтому она должна знать его физическую структуру (геометрию).
Магнитный диск состоит из нескольких пластин, обслуживаемых читающими/пишущими головками.
На заводе-изготовителе диски предварительно физически форматируются, т.е. происходит формирование физической структуры диска. Формирование физической структуры диска состоит в создании на диске концентрических дорожек, которые в свою очередь делятся на секторы. В определенных местах диска расставляются метки дорожек и секторов.
Дорожки, расположенные друг над другом, образуют «цилиндр». Исторически сложилось так, что точное место на диске определяется указанием трех «координат»: цилиндра, головки и сектора.
Для того, чтобы на носителе можно было хранить информацию, он должен быть отформатирован, т.е. создана логическая структура, в соответствии с определенной файловой системой.
Обычно диск разбивают на логические диски, или разделы (С:, Д: и т.д.). На один физический диск в разные разделы можно установить разные операционные системы. Первый сектор любого диска отведен под таблицу разделов (partition table). Каждая запись этой таблицы содержит адреса начального и конечного секторов одного раздела. А на каждом разделе хранится таблица файлов, позволяющая определить «координаты» файла на диске.
Логическая структура носителя информации в файловой системе FAT имеет следующие разделы:
- загрузочный кластер,
- таблицу размещения файлов, которая содержит в своих ячейках цепочку номеров кластеров для каждого файла,
- корневой каталог;
- файлы.
4. Операции с файловой структурой в ОС Windows