Главная » Basic » ФАЙЛЫ ДАННЫХ

0

В разд. 8.1 было показано, как можно хранить программы в архивной памяти ЭВМ. То же  можно делать и с данными, но в этом случае программист должен уметь разбираться в  различных типах структуры файлов и отражать эти особенности в программе. Обычно  характеристики файла тесно связаны со свойствами физического носителя, поэтому эти свойства  надо учитывать при описании разнообразных файлов, доступных с помощью Бейсика. В табл. 8.3 показано, с какими отдельными типами файлов можно встретиться в разд. 8.4 — 8.6 и в каких подразделах описаны вариации этих типов, обусловленные различными носителями информации.

Таблица 8.3. Сочетания типов файлов и носителей их информации с указанием разделов настоящей главы, в которых они описаны. (На больших ЭВМ последовательными файлами  обычно служат файлы прямого доступа, используемые последовательным образом)

Тип файла

Носитель информации

Кассета с

магнитной лентой

Гибкий

диск

Диск большой

ЭВМ

Последовательный в

терминальном формате Последовательный во внутреннем формате (разд. 8.4)

Прямого доступа (разд.

8.6)

Подразд.

8.4.2

Подразд.

Подразд.

Подразд.

8.6.2

Подразд. 8.5.1

Подразд. 8.6.1

Подразд. 8.6.1

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

файлами,  проиллюстрированный  на  рис.  8.2  и  8.3.  Данные  поступают  в  программу  по  имени PROCESS  в  результате  ввода  с  помощью  операторов  INPUT.  После  выполнения   некоторых вычислений программа записывает информацию в файл INFO, находящийся в  архивной памяти. Другая программа, RESULTS, читает информацию из файла INFO и выдает результаты на ВТУ или на принтер (см. рис. 8.3). Распечатывание стандартными средствами файлов большинства типов не дает содержательных сведений ввиду того, что данные хранятся в них в особом внутреннем формате. Поэтому в качестве посредника между пользователем и файлом требуется своя программа. Из этого правила есть одно исключение: файлы одного типа, называемые файлами в терминальном формате, сохраняют информацию в форме строк символов в том виде, в каком они набираются на клавиатуре. Файлы этого типа можно стандартными средствами записывать с клави-

Рис. 8.2. Набираемые на клавиатуре данные воспринимаются программой PROCESS, которая

запоминает их в файле INFO

Рис. 8.3. Данные считаются из файла INFO программой RESULTS и выводятся на ВТУ

атуры непосредственно в архивную память и распечатывать прямо на ВТУ, однако с ними  можно работать и программно описанным выше способом.

Зрительно подобный файл можно представить себе так, как показано на

8   4. Его можно считать похожим на изображение, выдаваемое на экран ВТУ.    Любое чтение   или перезапись файла должны происходить строка за строкой от его начала до конца. Таким  образом, подобный  файл  организован  последовательно,  и   способ  хранения  его  данных   лучше   всего представлять

Рис. 8.7. Гибкий диск диаметром 51/4 дюйма (113 мм). Он вложен в конверт, из которого видна только небольшая часть поверхности диска (заштрихована)

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

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

ность (в отличие от спирального желобка граммофонной пластинки) и содержит примерно одно и то же  количество информации, вследствие чего  на  дорожках, находящихся ближе  к  центру  диска, информация записана плотнее, чем на дорожках, расположенных ближе к его внешнему краю. Одна дорожка на 8-дюймовом диске содержит около 5000 байт данных; чтение или запись одной дорожки занимает 1/360 мин, так что скорость передачи данных составляет около 240  000 бит/с. Не вся поверхность  дорожки  содержит  "полезную"  информацию;  способы   расположения  данных  на дорожке  меняются  от  системы  к  системе,  но  по  8-дюймовому  формату  IBM  каждая  дорожка разбивается на 26 секторов по 128 байт данных в каждом. Тем самым на данные отводится 31/4 Кбайт, а остальную часть дорожки занимают заголовки, разделители данных, поля с контрольными суммами и заполнители.

Фактическая скорость передачи данных от ЭВМ к диску ниже расчетной, равной 19,5К байт/с,  и действия аппаратуры и программного обеспечения ЭВМ, отвечающих за передачу данных,  могут уменьшить ее до 0,5К байт/с.

Восьмидюймовый гибкий диск в формате ЮМ имеет 77 дорожек, так что полезная емкость  одной стороны диска составляет около 250К  байт, но  часто вместо этой  цифры называют  400К  байт, учитывая и служебную информацию. Базовый вариант гибкого диска размером 51/4  дюйма имеет 35 дорожек полезной емкостью 2,25К байт каждая, что дает общую емкость одной  поверхности 78К байт. Распространены все варианты двойной и учетверенной плотности, обеспечивающие большую емкость по сравнению с этим базовым вариантом. Один из  способов  повышения доли полезной информации на дорожке состоит в  пробивке отверстий по  внешнему краю диска, указывающих

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

дорожки, в результате чего полезная емкость может возрасти на 25 %; этот метод известен  как жесткая разметка диска (hard sectoring), а описанный ранее метод называется программной разметкой (soft sectoring).

Винчестерский жесткий диск появился недавно и ведет свое происхождение от больших  жестких дисков,  предназначенных для  больших ЭВМ.  Он  состоит  из  одного  или  более  жестких  дисков диаметром 5 … 14 дюймов (127 … 356 мм), вращающихся в герметизированном  корпусе. Вместе с дисководом и "электронной начинкой" небольшие модели винчестерских  дисков по размерам не превышают дисководы для гибких дисков. Дисковый носитель не  является съемным и, подобно дискам для больших ЭВМ, имеет летящую головку  чтения-записи,  плавающую над поверхностью диска на воздушной подушке толщиной около 20  микродюймов. Воздушная подушка создается за счет вращения диска со скоростью 2400 об/мин. Благодаря плаванию головки поверхность диска не изнашивается, а герметичный корпус исключает царапание головкой диска за счет попадания на него частиц  пыли.  Поэтому   винчестерские  диски  в  настоящее  время  являются  очень  надежными носителями информации.

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

собой большие устройства, разработанные для чтения с магнитной ленты, движущейся с  большой скоростью, и записи на нее. Они имеют мощные двигатели для пуска и останова  тяжелых бобин с лентой. Лента на бобине около фута в диаметре (30 см) весит два фунта (~1 кг); информация на ленте записана на девяти параллельных дорожках с плотностью 1600 бит/дюйм  (64 бит/мм). Поэтому на одном дюйме магнитной ленты можно хранить 1600 байт. Данные  всегда записываются блоками размером до 4К байт с зазорами в 0,5 дюйма (12,5 мм) между ними. Благодаря наличию межблочных зазоров  магнитофон  может  тормозить  и  набирать  скорость  между  блоками,  так  что  программе доступны такие процедуры, как "пропуск N блоков" или "возврат на N блоков". Подобные команды перешли и в Бейсик, где они используются при работе с некоторыми последовательными файлами на гибких  дисках,  но  недоступны  при  работе  с   бытовыми  магнитофонными  кассетами,  так  как кассетные магнитофоны не обладают требуемыми аппаратными свойствами.

Источник: Уолш Б.    Программирование на Бейсике: Пер. с англ. М.: Радио и связь, 1988. 336 с: ил.

По теме:

  • Комментарии