Числа в оперативной памяти обычно занимают целое машинное слово. Следовательно, чтобы обратиться к числу, необходимо указать адрес слова, в котором это число хранится. Аналогично для доступа к отдельному символу, хранящемуся в памяти, следует обратиться по адресу байта, который содержит код символа.
Текстовые сроки представляют собой массивы символов. Фактически они являются строками переменной длины. При обращении к такой строке необходимо указать адрес байта, в котором хранится первый символ. Последующие символы строки хранятся в последующих байтах. Длина строки может варьироваться, поэтому существуют специальные методы ее определения (задания):
- используется специальный символ, означающий конец строки и являющийся последним ее символом;
- используется отдельное поле (слово памяти), в котором хранится длина строки в байтах.
Рассмотрим более подробно организацию данных во внешней памяти.
Именованная совокупность однородных данных, записанная на внешнем носителе, называется файлом. Фактически файл является основной единицей хранения данных на внешнем запоминающем устройстве (ВЗУ), и именно с файлами производятся различные операции, такие как создание и удаление файла, чтение их содержимого, запись данных в них и т.д. Реализацию различных операций с файлами осуществляет файловая система — часть операционной системы, включающей комплекс системных программных средств.
Рассматривая организацию данных на внешнем носителе, различают логическое и физическое представление данных, логическую и физическую структуры файла.
Логическое представление определяет, как используются данные в прикладных программах, какие логические (причинно-следственные связи) существуют между отдельными элементами данных.
Физическое представление определяет хранение данных на физическом носителе (во внешней памяти).
Логическое представление указывает на то, как данные используются в прикладной программе, т.с. отражают логику обработки.
Физическое представление — это то, как данные хранятся на физическом носителе.
Понятию логической и физической структур файлов соответствует понятие
записи данных.Логическая запись представляет собой совокупность элементов данных, воспринимаемую и обрабатываемую как единое целое. С точки зрения пользователя прикладные программы работают именно с логическими записями. Обычно логические записи физически размещаются отдельно в рабочей области памяти. Совокупность логических записей образует
логический файл. Обработка логических файлов осуществляется прикладными программными средствами.
Физическая запись представляет собой совокупность элементов данных, размещаемых на внешнем носителе, которая может быть считана (записана) одной командой ввода-вывода. Совокупность физических записей образует
физический файл. Операции над такими файлами выполняются в рамках файловой системы.
Логическая и физическая организация данных могут быть не идентичны: одна физическая запись может содержать несколько логических (см. рис. 12.17). Возможна и другая ситуация, когда данные из нескольких различных физических источников (файлов, баз данных и пр.) объединяются в единую структуру, например, отчет. Кроме того, в физических записях могут использоваться специальные средства для оптимизации памяти (например, изменение порядка следования нолей или сжатие данных). Таким образом, логическая структура файла может варьироваться в зависимости от используемых программных средств, тогда как физическая всегда жестко связана с типом носителя и используемой файловой системой.