Принцип двойной адресации. Единицы хранения данных

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

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

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

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

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

 

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

Обычно в отдельном файле хранят данные, относящиеся к одному типу (текст, рисунок, музыка, программа, видео). В определении файла нет ограничения на размер, файл может иметь 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 — «файловая система новой технологии»). Т.е. принцип организации файловой системы - табличный.

Размер кластера, в отличие от размера сектора, строго не фиксирован. Обычно он зависит от емкости диска.

Операционные системы MS DOS, Windows 95 и другие используют файловую систему FAT16, основанную на основе таблиц размещения файлов, состоящих из 16-разрядных полей (выделяется 16 битов для хранения адреса кластера). Она позволяет разместить в таблицах не более 65536 (216) записей о местонахождении единиц хранения данных.

С дисками более 4 Гбайт FAT16 работать не может. Начиная с Windows98 операционные системы семейства Windows поддерживают файловую систему FAT32.

Операционные системы 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