Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
METODIChKA_-_OBDZ_I_semestr.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.27 Mб
Скачать

Тема 1 «Файлові системи» План

  1. Файлові системи.

  2. Структури файлів.

  3. Способи іменування файлів.

  4. Захист файлів.

  5. Режим багатокористувацького доступу.

  6. Області використання файлів.

Література

  1. Т. Конолі, К. Бегг, А. Строчан «Бази даних. Проектування, реалізація та супровід.» Теорія та практика. Москва, СПб., Київ. 2000 р.

  2. Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. – «Базы данных. Учебник для высших учебных заведений (6-е издание)». КОРОНА-Век. 2009 г.

  3. http://citforum.ru/database/osbd/contents.shtml

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

Перша розвинена файлова система була розроблена фірмою IBM для її серії 360. До теперішнього часу вона дуже устарала. У цій системі підтримувалися як чисто послідовні, так і індексно-послідовні файли, а реалізація багато в чому спиралася на можливості контроллерів управління дисковими пристроями, що лише з'явилися до цього часу. Якщо врахувати до того ж, що поняття файлу в OS /360 було вибране як основне абстрактне поняття, якому відповідав будь-який зовнішній об'єкт, включаючи зовнішні пристрої, то працювати з файлами на рівні користувача було дуже незручно. Було потрібно цілий ряд громіздких і переобтяжених деталями конструкцій. Все це добре знайомо програмістам середнього і старшого покоління, які пройшли через використання вітчизняних аналогів комп'ютерів IBM.

Структури файлів

Далі ми будемо говорити про сучасніші організації файлових систем. Почнемо із структур файлів. Перш за все, практично у всіх сучасних комп'ютерах основними пристроями зовнішньої пам'яті є магнітні диски з голівками, які рухаються, і саме вони служать для зберігання файлів. Такими магнітними дисками є пакети магнітних пластин (поверхонь), між якими на одному важелі рухається пакет магнітних голівок. Крок руху пакету голівок є дискретним, і кожному положенню пакету голівок логічно відповідає циліндр магнітного диска. На кожній поверхні циліндр «висікає» доріжку, так що кожна поверхня містить число доріжок, яке дорівнює числу циліндрів. При розмітці магнітного диска (спеціальній дії, яка передує використанню диска) кожна доріжка розмічається на одну і ту ж кількість блоків таким чином, що в кожен блок можна записати по максимуму одне і те ж число байтів. Таким чином, для здійснення обміну з магнітним диском на рівні апаратури потрібно вказати номер циліндра, номер поверхні, номер блоку на відповідній доріжці і число байтів, яке потрібно записати або прочитати від початку цього блоку.

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

Тому у всіх файлових системах явно або неявно виділяється деякий базовий рівень, що забезпечує роботу з файлами, що представляють набір блоків, що прямо адресуються в адресному просторі файлу. Розмір цих логічних блоків файлу збігається або кратний розміру фізичного блоку диска і зазвичай вибирається рівним розміру сторінки віртуальної пам'яті, підтримуваною апаратурою комп'ютера спільно з операційною системою.

Поширено два основні підходи. При першому підході, властивому, наприклад, файловим системам операційних систем фірми DEC RSX і VMS, користувачі представляють файл як послідовність записів. Кожен запис - це послідовність байтів постійного або змінного розміру. Записи можна читати або записувати послідовно або позиціювати файл на запис з вказаним номером. Деякі файлові системи дозволяють структурувати записи на поля і оголошувати деякі поля ключами запису. У таких файлових системах можна зажадати відбір запису з файлу за його заданим ключем. Природно, що в цьому випадку файлова система підтримує в тому ж (або іншому, службовому) базовому файлі додаткові, невидимі користувачеві, службові структури даних. Поширені способи організації ключових файлів грунтуються на техніці хешування і B-дерев. Існують і багатоключові способи організації файлів.

Другий підхід, що став поширеним разом з операційною системою UNIX, полягає в тому, що будь-який файл представляється як послідовність байтів. З файлу можна прочитати вказане число байтів або починаючи з його початку, або заздалегідь зробивши його позиціювання на байт з вказаним номером. Аналогічно, можна записати вказане число байтів в кінець файлу, або заздалегідь зробивши позиціювання файлу. Відмітимо, що тим не менш прихованим від користувача, але що існує у всіх різновидах файлових систем ОС UNIX, є базове блокове представлення файлу.

Звичайно, для обох підходів можна забезпечити набір перетворюючих функцій, що приводять представлення файлу до деякого іншому вигляду. Прикладом тому служить підтримка стандартного файлового середовища системи програмування на мові С в середовищі операційних систем фірми DEC.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]