Що таке файли – і як вони з’явилися в інформатиці
Нотатки від першої особи про IT, новини та старості технологій.
Що таке файли - і як вони з'явилися в інформатиці?
Файли зазвичай зберігаються тих чи інших зовнішніх носіях інформації. Досить часто, говорячи про файл, люди мають на увазі не тільки певні дані, а й відповідну область носія, на якому вони розміщені, втім, з контексту завжди ясно, про що йдеться у кожному конкретному випадку, і до непорозумінь це зазвичай не призводить .
Компоненти програмного файлу називають модулями чи сегментами. Один із них вважається основним, саме він насамперед завантажується в оперативну пам'ять та керує всім процесом обробки інформації. Зокрема, основний модуль при необхідності проводить автоматичне навантаження на згадку про інші сегменти файлу. Ім'ям файлу вважається ім'я його основного модуля. Потрібно пам'ятати, що з невеликих розмірах програмного файла розбивати його за модулі недоцільно.
Особливий інтерес становлять два види файлів даних: прямого доступу та послідовного доступу. Компоненти файлу прямого (або як його ще називають випадкового доступу) - це окремі нумеровані групи значень, звані записами. Запис може бути зчитаний із зовнішнього носія в буфер оперативної пам'яті і навпаки - сформований у буфері, і лише потім переписаний у зовнішню пам'ять. Іншими словами, буфер є своєрідним вікном, через яке можна "розглядати" файли даних. Звернення до конкретного запису здійснюється прямим завданням номера.
Компоненти файлу послідовного доступу називаються рядками, кожна з них має спеціальну кінцеву мітку і, як і запис, складається з окремих значень. Однак рядки не нумеровані, і обробляти їх можна лише послідовно – один за одним. Причомузапис організується з початку чи кінця файла, а читання - лише з початку. Зауважимо, що окремі сегменти програмних файлів - це, власне кажучи, специфічні файли даного послідовного доступу.
Обидва розглянуті види файлів з успіхом можуть бути використані в рамках розширеного BASIC при роботі з дисководом, як зовнішні носії в цьому випадку застосовуються магнітні диски (гнучкі або жорсткі). Послідовні файли можуть використовуватися з будь-яким, у тому числі і нерозширеним, Бейсіком. Тут пристроєм обміну є магнітофон, а зовнішнім носієм – магнітна стрічка.
Слід мати на увазі, що організація роботи з файлами прямого доступу в деяких відносинах складніша, ніж з файлами послідовного доступу. Однак можливість безпосереднього звернення до необхідної групи значень, що надається файлами прямого доступу, дозволяє вважати їх найкращими структурами зберігання даних у зовнішній пам'яті.
У розширеному Бейсику передбачені групи команд та функцій, за допомогою яких організується робота окремо з програмними файлами, файлами даних прямого доступу та файлами даних послідовного доступу. Однак, ця версія мови BASIC має і ряд засобів, придатних для роботи з файлами будь-якого типу, до них належать такі команди та функції: - FILES (LFILES) - команда виведення на екран (принтер) списку імен файлів, - DSKF - функція, що має значення розмір у байтах вільної частини диска, - NAME. AS - команда зміни імені файлу на диску, - COPY. ТО - команда створення дубліката файлу на диску, - KILL - команда стирання файлу на диску.
Трохи нижче ми обговоримо синтаксис і семантику перерахованих команд та функції, а також коротко торкнемося питань, пов'язаних з форматуванням дисків іправилами освіти імен файлів
Для роботи з 3,5-дюймовим дисководом MSX-комп'ютера використовуються двосторонні диски MF2-DD та односторонні диски MFl-DD (або їх аналоги). Такий диск, укладений у пластмасовий кожух, має перемикач захисту від запису та ковзну шторку для прикриття вікна, через яке організується власне читання та запис інформації. Вставляти диск у щілину (кишеню) дисковода і витягувати його звідти можна лише при увімкненому пристрої.
Дозволяється підключати до комп'ютера як одиночні, так і спарені дисководи. У першому випадку за пристроєм закріплюється змінне ім'я, яке в будь-який конкретний момент часу набуває одного з двох можливих значень A або B. У другому випадку основний дисковод отримує ім'я A, а додатковий - B. Скрізь нижче, якщо це не зазначено спеціально, я буду згадувати одиночний дисковод, а слова "диск", "дискета" та "флоппі-диск" потрібно розглядати як синоніми.
Отже, для підготовки диска до роботи з командами та функціями BASIC необхідно здійснити спеціальну розмітку поверхні диска, яка називається форматуванням. Для цього диск вставляється в кишеню дисководу та виконується команда CALL FORMAT. Під час введення команди слово CALL (перекладається з англ. як "викликати") можна замінити символом підкреслення "_". Виконання команди CALL FORMAT викликає індикацію на екрані запиту:
Відповіддю на нього має бути введення однієї з літер A або B, залежно від імені пристрою, де знаходиться диск. На підказку: DOUBLE SIDES (1) або SINGLE SIDES (2), користувач повинен відреагувати введенням цифри 1, якщо диск двосторонній, або 2, в тому випадку, якщо диск односторонній. Далі, за вказівкою:
необхідно натиснути будь-яку клавішу (у разі появи повідомлення "INSERT DISKETTE FOR DRIVE."потрібно натиснути ще одну клавішу, це призведе до зміни імені пристрою). Після цього починається процес форматування, тобто. розміщення на диску керуючих міток. При цьому вся інформація, що там була, руйнується. Майте на увазі, що форматування нових дисків є обов'язковим! Правильне завершення цього процесу викликає індикацію наступного повідомлення:
Нижче наведено деякі характеристики диска типу MF2-DD: - Місткість при записі: всього - 720 Кбайт, для файлів користувача - 713 Кбайт. - Щільність при записі: 8717 біт/дюйм. - Середній час доступу: 95 мс. - Максимальна кількість файлів: 112.
При створенні на диску будь-якого нового файлу йому необхідно надати певне ім'я. Воно має бути унікальним, тобто. не збігатися з жодним з наявних імен файлів, сформованих на даному диску раніше. Ім'я файлу служить для їх ідентифікації та будується із послідовності символів алфавіту та цифр. При цьому повинні враховуватися такі обставини: - Кількість символів імені не може перевищувати 11. Спроба сформувати ім'я більшої довжини ні до чого не призводить. Праві зайві знаки відкидаються. - Відповідні великі та малі латинські літери, що використовуються в імені, рівнозначні. - Відповідні великі та малі літери українського алфавіту, що використовуються в імені, не рівнозначні. - В імені не повинно бути спеціальних знаків: :,"+=[]*/\? - Символ двокрапки ":" використовується тільки при завданні складових імен для поділу їх на дві частини, перша з яких ідентифікує пристрій , а друга - файл У цьому випадку при записі файлу на диск фіксується лише друга частина імені.починатися зі знака точки ".". У ньому не може бути більше одного такого символу та не більше 8 знаків перед ним.
При завданні імені "з точкою" комп'ютер інтерпретує її як символ дев'ятої позиції. Тим самим ім'я поділяється на дві зони: основна частина (до точки) та розширення (після точки). Іноді розширення імені файлу називають його індексною частиною. Номер початкової позиції основної частини - 1, а розширення - 10. Якщо користувач фіксує ім'я без крапки з кількістю символів, більшою за 8, то операційна система автоматично розбиває його на основну та індексну частини, вставляючи в потрібне місце точку.
Нижче описані засоби для переміщення програм з оперативної пам'яті на диск та у зворотному напрямку. Йдеться командах SAVE, LOAD, RUN і MERGE: - SAVE - команда запису програм на диск. - LOAD, RUN - команди читання програм з диска. - MERGE - команда підвантаження на згадку про програму, записаної на диску форматі ASCII.
За командою SAVE i [, А], де: SAVE (від англ. save - "зберегти"), А - службові слова; i – ім'я файлу, програма з оперативної пам'яті під ім'ям i записується на диск. Залежно від наявності або відсутності параметра А запис проводиться відповідно або у форматі ASCII, або у формі внутрішнього подання. Якщо ця програма згодом підвантажуватиметься в пам'ять для злиття з іншими модулями (команда MERGE), її необхідно записувати у форматі ASCII.
За наявності на диску програмного файлу або файлу даних з ім'ям i та запису на нього нової програми під тим самим ім'ям старий файл пропадає, і відбувається перерахунок розміру вільної честі диска відповідно до нових розмірів i. Зауважу, що формат ASCII призводить до збільшення в кілька разів часу запису програм з оперативної пам'яті на диск, атакож їх читання з диска на згадку. До того ж, для їх розміщення на диску потрібно приблизно на 30% більше місця, ніж для відповідних програм у внутрішньому поданні.