Поняття файлової системи
При наявності великої кількості програм і даних необхідний суворий їх облік та систематизація. Операційним системам доводиться працювати з різними потоками даних, різними апаратними і периферійними пристроями комп'ютера. Організувати впорядкований управління всіма цими об'єктами дозволяє файлова система.
На операційні системи персональних комп'ютерів наклала глибокий відбиток концепція файлової системи, що лежить в основі операційної системи UNIX. В ОС UNIX підсистема вводу-виводу уніфікує спосіб доступу як до файлів, так і до периферійних пристроїв. Під файлом при цьому розуміють набір даних на диску, терміналі або будь-якому іншому пристрої. Таким чином, файлова система - це система управління даними.
Найбільш поширеним видом файлів, внутрішня структура яких забезпечується файловими системами різних ОС, є файли з послідовною структурою. Такого роду файли можна розглядати як набір складових елементів, званих логічними записами (або блоками), довжина яких може бути як фіксованою, так і змінною, і доступ до яких - послідовний, тобто для обробки (зчитування або запису) i -й записи повинна бути оброблена попередня (i-1) -я запис.
У ряді файлових систем передбачається використання більш складних логічних структур файлів, ніж послідовна. Наприклад, записи в файлі можуть утворювати деревовидні структури, може використовуватися індексного-послідовна організація файлів (з упорядкуванням записів за значенням деяких полів) або, так звана, бібліотечна структура файлів, що використовує рівень облікової інформації (каталогу), що полегшує пошук і доступ до окремих компонентів файлів. На фізичному рівні блоки файлу (зазвичай розміром 256 або 512 байт) можуть розміщуватися в пам'яті безперервної областю або зберігатися несуміжних. Перший спосіб зберігання файлів, реалізований, наприклад, в ОС РАФОС, призводить до ускладнень при зміні розмірів файлів (тобто до необхідності перезапису файлів, якщо їх довжина збільшується, або зберігання «дірок», якщо довжина зменшується).
Мал. 2.2. Ієрархічна система каталогів
Файл має унікальний ідентифікатор (ім'ям), що забезпечує доступ до файлу. Ідентифікатор включає в себе власне ім'я - буквено-цифрове позначення файлу, яке може містити спеціальні символи (підкреслення, дефіс. І т.д.), і розширення імені файлу (зазвичай виділення від імені файлу крапкою). Якщо імена створюваних файлів користувач може задавати довільно, то в використанні розширень слід дотримуватися традиції, згідно з якою розширення вказує на тип файлу, характер його вмісту. Наприклад, в операційній системі MS-DOS файли з розширеннями
Відомі десятки стандартних розширень, використовуваних при роботі з різними програмними системами.
У різних ОС існують певні обмеження на довжину імені та розширення імені файлу. Так, в MS-DOS довжина імені файлу не повинна перевищувати восьми символів, а розширення - трьох. В ОС UNIX обмеження значно менш жорсткі.
Імена Директорією, починаючи від кореневого, образующіепуть до файлу. відокремлюються під час запису друг від друга косою рисою (\ в DOS, / в UNIX), також як і позначення диска, відносяться до ідентифікатора файлу. Наприклад, в MS-DOS
є файл з ім'ям example і розширенням pas, що вказує на те, що це текст програми на Паскалі, повний шлях до якого:
\ Lang \ pascal \ work - це структура вкладених Директорією, в самому внутрішньому
з яких знаходиться необхідний файл example.pas.
Кожен каталог розглядається як файл, має власне ім'я. Просування по дереву при пошуку деякого каталогу або файлу можливо як вниз по дереву від поточного вузла, так і вгору в напрямку до кореня. У кожному каталозі зберігається список імен файлів, а також посилання на дескриптори файлів. У дескрипторах зосереджена докладна інформація про файл (список номерів блоків, займаних файлом, метод доступу до файлу, дата створення файлу, ідентифікатор власника, тип файлу). В процесі роботи можуть створюватися нові каталоги і вписуватися в потрібне місце ієрархії.
• власника (самого себе);
• представників тієї ж групи користувачів, що і власник (поняття групи корисно при спільній роботі над будь-якими проектами);
• всіх інших користувачів системи.
Кожен файл (каталог) має три види дозволу на доступ:
• читання (г - read) - можна переглядати вміст файлу (каталогу);
• запис (w - write) - можна міняти вміст файлу (створювати або видаляти файли в каталозі);
• виконання (х - execute) - можна використовувати файл як команду UNIX.
Комбінація видів доступу до файлу записується послідовністю 9 символів: