ФАЙЛИ ДАНИХ

У розд 81 було показано, як можна зберігати програми в архівній памяті ЕОМ Те ж можна робити і з даними, але в цьому випадку програміст повинен вміти розбиратися в різних типах структури файлів і відображати ці особливості в програмі Зазвичай характеристики файлу тісно повязані з властивостями фізичного носія, тому ці властивості треба враховувати при описі різноманітних файлів, доступних з допомогою Бейсика У табл 83 показано, з якими окремими типами файлів можна зустрітися в розд 84 – 86 і в яких підрозділах описані варіації цих типів, зумовлені різними носіями інформації

Таблиця 83 Поєднання типів файлів і носіїв їх інформації із зазначенням розділів цієї глави, в яких вони описані (На великих ЕОМ послідовними файлами зазвичай служать файли прямого доступу, використовувані послідовним чином)

Тип файлу

Носій інформації

Касета з

магнітною стрічкою

Гнучкий

диск

Диск великий

ЕОМ

Послідовний в

термінальному форматі Послідовний у внутрішньому форматі (розд 84)

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

86)

Підрозд

842

Підрозд

Підрозд

Підрозд

862

Підрозд 851

Підрозд 861

Підрозд 861

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

файлами, проілюстрований на рис 82 та 83 Дані надходять в програму по імені PROCESS в результаті введення за допомогою операторів INPUT Після виконання деяких обчислень програма записує інформацію у файл INFO, що знаходиться в архівній памяті Інша програма, RESULTS, читає інформацію з файлу INFO і видає результати на ВТУ або на принтер (див рис 83) Роздрукування стандартними засобами файлів більшості типів не дає змістовних відомостей з огляду на те, що дані зберігаються в них в особливому внутрішньому форматі Тому в якості посередника між користувачем і файлом потрібно своя програма З цього правила є один виняток: файли одного типу, звані файлами в термінальному форматі, зберігають інформацію у формі рядків символів у тому вигляді, в якому вони набираються на клавіатурі Файли цього типу можна стандартними засобами записувати з клави-

АТУР безпосередньо в архівну память і роздруковувати прямо на ВТУ, проте з ними можна працювати і програмно описаним вище способом

Візуально подібний файл можна уявити собі так, як показано на

8 4 Його можна вважати схожим на зображення, яке видається на екран ВТУ Будь-яке читання або перезапис файлу повинні відбуватися рядок за рядком від його початку до кінця Таким чином, подібний файл організований послідовно, і спосіб зберігання його даних найкраще представляти

собі таким чином: рядки елементів даних примикають один до одного, як намистинки на нитці На рис 85 показана організація файлу, зображеного на рис 84, в термінальному форматі Після кожного рядка тексту, запомненного в тому вигляді, в якому він зображений на ВТУ, слідують символ повернення каретки (CR) і символ переходу на наступний рядок (LF), які при зображенні забезпечують перехід на початок наступного рядка У різних системах прийнято кілька різняться ознаки кінця рядка, але багато системи використовують для цього пару символів CR, LF Інші типи послідовних файлів мають таку ж форму організації, але при цьому, зображені на рис 85 рядки замінюються на блоки даних При роботі з послідовним

файлом не можна витягти рядок (блок) з його середини, змінити її і помістити назад в той же файл

Але чому ж не можна По ідеї, файл являє собою безперервний ряд значень і змінений елемент даних може виявитися коротше або довше початкового Однак на практиці файл запамятовується у вигляді ряду блоків на стрічці або диску і виявляється неможливим прочитати потрібну позицію в

файлі, швидко перемкнутися в режим запису і знову повернутися до режиму читання, не пошкодивши при цьому дані до і після записаної інформації Виконання змін в послідовному файлі включає в себе копіювання всіх елементів вихідного файлу в новий файл, з попутним зміною необхідних значень Послідовними файлами (як в термінальному, так і в інших форматах) користуватися легко, але крім описаного вище незручності модифікації даних їм притаманні й інші недоліки, що виключають їх застосування в певних ситуаціях Наприклад, якщо подібний файл містить дві тисячі записів з прізвищами та адресами, відсортованих за прізвищами в алфавітному порядку, і від програми потрібно знайти адресу пана Вілсона, який опинився в блоці даних з номером 1950, то для отримання потрібного блоку треба пропустити всі попередні 1949 блоків (тобто прочитати їх і проігнорувати) Цей процес забирає чимало часу, що демонструє непридатність послідовної організації для застосування в подібній довідково-інформаційній програмі, хоча така організація може виявитися ідеальною для багатьох інших програм (наприклад, для друку розрахункових та інвентаризаційних відомостей, наклейок з адресами)

Тип файлів, організованих для прямого доступу до записів, дозволяє подолати обидві згадані вище труднощі На рис 86 показано зорове уявлення організації такого файлу Записи з даними зберігаються на диску відповідно з наявним у ЕОМ поданням про наявність вільного місця При кожному запиті програми на читання або на запис повинен бути вказаний номер запису, за яким у внутрішньому довіднику знаходиться її фактичне положення на диску, що дозволяє негайно провести читання або запис Таким чином здійснюється прямий доступ до записів, що вимагає приблизно одного і того ж невеликого (Залежного від швидкості

обертання диска) часу для всіх записів Якщо файл з прізвищами та адресами з наведеного вище прикладу організований для прямого доступу, то програма зможе дуже швидко знайти адресу ДПА Уїлсона і, якщо буде потрібно, змінити його У файлів прямого доступу є свої недоліки Звичайно потрібно, щоб всі записи файлу мали однакову довжину, а іноді ще й строго певний формат Внутрішній довідник файлу може лімітувати кількість доступних записів і, отже, розмір файлу Робота з файлом прямого доступу може зажадати від програміста набагато більших зусиль Додаткова інформація про роботу засобами Бейсика з файлами послідовного і прямого доступу наводиться в наступних розділах

83 ХАРАКТЕРИСТИКИ НОСІЇВ ІНФОРМАЦІЇ

Найпростішим і найдешевшим носієм інформації є побутова магнітофонний касета Для роботи з нею потрібні високоякісні побутові магнітофони, та й самі касети повинні бути високої якості Записувана на магнітну стрічку інформація виводиться з ЕОМ у вигляді групи символів (байтів) в кодах ASCII, переданих послідовно (один за одним) Нулі й одиниці, що містяться в кожному байті, зазвичай представлені двома різними звуковими частотами наприклад, в системі ВВС 0 представляється частотою 1200 Гц, а 1 частотою 2400 Гц Типова швидкість передачі даних складає 300 бод, що відповідає передачі даних приблизно 300 біт / с тому для запису на стрічку або зчитування в ЕОМ програми розміром 8К потрібно не менше 3,6 хв Фактичний час трохи перевищує розрахункове за рахунок записи крім програмних даних ще заголовка і концевика, і на практиці середній час становить 4-5 хв Таким чином, касета С60 (розрахована на 60 хв) здатна зберігати близько дванадцяти програм розміром 8К кожна, або близько 100К байт даних Касетні магнітофони деяких обчислювальних систем забезпечують більш високі швидкості передачі даних аж до 1200 бод При такій високій швидкості передачі даних вони записуються на стрічку, що рухається зі звичайною швидкістю, більш щільно Час читання-запису при швидкості передачі 1200 бод становить чверть того, яке потрібно при швидкості передачі 300 бод, і стрічка з тією ж довжиною здатна вмістити вчетверо більше інформації

Деякі види носіїв інформації повинні при роботі знаходитися у контакті з головками читання-запису, що викликає поступовий фізичний знос магнітного покриття До числа таких носіїв відносяться магнітна стрічка і гнучкі диски При роботі з ними можлива втрата інформації через зношування їх поверхні тому доцільно зберігати по дві або три копії кожного важливого файлу

Гнучкі диски бувають двох розмірів: 8-дюймовий (203 мм) початковий варіант, розроблений фірмою IBM, і популярний варіант з розміром 51/4 дюйма (133 мм) Методи запису інформації на 8-дюймові диски устоялися і стали досить стандартними хоча диски розміром 5%  дюйма фізично схожі на 8-дюймові, але різних методів запису для них набагато більше Як показано на рис 87, гнучкий диск схожий на грамофонну платівку зі швидкістю обертання 45 об / хв, вкладену в картонний конверт Він являє собою пластиковий диск (заштрихован на рис 87), покритий магнітним матеріалом і обертається в своєму конверті зі швидкістю 360 об / хв Для зниження тертя конверт має підкладку з]

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

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

ність (на відміну від спірального жолобка грамофонної пластинки) і містить приблизно одне й те ж кількість інформації, внаслідок чого на доріжках, що знаходяться ближче до центру диска, інформація записана щільніше, ніж на доріжках, розташованих ближче до його зовнішнього краю Одна доріжка на 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 с: ил

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*