ify"> операції з файлами.
Всі сучасні ОС в якості імен файлів використовують 8-ми символьні текстові рядки. В іменах файлів також дозволяється використання цифр і спеціальних символів. Багато файлові системи підтримують імена файлів до 255 символів.
У проектованої файлової системі має бути відмінність між великими і малими літерами. Імена файлів можуть складатися з 2-х частин, розділених крапкою (ім'я файлу і розширення файлу). При цьому розширення файлів необов'язкові.
файл мультипрограмний ядро ??віртуальний
1.1 Загальна організація файлової системи
На диску з файловою системою знаходиться один розділ з проектованої файлової системою. За її основу взяті деякі принципи файлової системи «S5FS». Основними характеристиками ФС є:
. Многоуровневость, тобто ієрархічна організація даних.
. Контроль вільних блоків даних на диску за допомогою бітової карти вільних/зайнятих блоків.
. Метод індексних дескрипторів для розміщення файлів на диску.
Кожен дисковий розділ починається з завантажувального блоку, навіть якщо в ньому не міститься загружаемая ОС.
Структура розроблюваної файлової системи зображена на малюнку 1.1.
СуперблокБітовая картаМассів i-узловКорневой каталогДанние Малюнок 1.1 - Структура ФС
У «суперблоке» містяться ключові параметри файлової системи і зчитується в пам'ять при завантаженні комп'ютера або при першому зверненні до ФС. Інформація, що зберігається в суперблоке, включає число, що дозволяє розрізняти системні файли, кількість блоків у ФС, а також ключову адміністративну інформацію. Його структуру можна побачити в таблиці 1.1.
Таблиця 1.1
Назва поляРазмер в байтахОпісаніеfs_name3Названіе файлової сістемиfs_size2Размер файлової сістемиblock_size2Размер блоку даннихfree_ block _count2Колічество вільних блоковfree_inode_count2Колічество вільних i -узлов
Слідом розташовується інформація про вільні блоках файлової системи у вигляді бітового масиву. Бітова карта являє собою масив, кожен елемент якого відповідає стану блоку даних розділу.
Далі i-сайти, які являють собою масив структур даних (по одній структурі на файл), що містять всю інформацію про файлах.
У таблиці 1.2 показана структура i-вузла, за допомогою яких відбувається розміщення файлів на диску. Вони містяться в масиві i-вузлів і кожному файлу відповідає один елемент цього масиву. I-вузол містить інформацію про файл, його атрибути, але не містить даних і імені файлу. Останнє, а також номер i-вузла файлу знаходяться в спеціальних файлах - каталогах.
На логічному рівні каталог являє собою таблицю, кожен елемент якого має розмір 16 байт. Перші 14 байта зберігають ім'я файлу, останні 2 - його номер i-вузла.
Дані про користувачів знаходяться у службовому файлі, який знаходиться в кореневому каталозі. Він являє собою структуру з п'яти полів: перше - прапор: адміністратор або звичайний користувач (1 байт), друге - ідентифікатор користувача (1 байт), третє - індекс аватари користувача (1 байт), четверте - ім'я користувача (14 байт), і п'яте - хеш-значення пароля (32 байт).
Таблиця 1.2
Назва поляРазмер в байтахОпісаніеis_free1Состояніе i -узлаf_size2Размер файлаrights1Права доступу до файлуuid1Ідентіфікатор владельцаis_dir1Флаг: файл або каталогcreate_time8Время створення файлаlast_mod_time8Время останньої модіфікацііaddr [1..10] 20Указателі на блоки даних файлу
Права доступу до файлів представляються як ціле число, приймає значення від 0 до 5 залежно від встановлених прав. Ця залежність представлена ??в таблиці 1.3.
Таблиця 1.3
ПраваЗначенія чіслаДля власника файлаДля інших пользователейr - 0rr1rw2w - 3wr4ww5
Після i-вузлів слід кореневої каталог, що містить вершину дерева ФС. Решту місця дискового розділу займають всі інші файли і каталоги.
Для визначення того, який блок якому файлу належить, в проектованої операційній системі застосовується метод послідовних блоків.
Цей метод є найпростішою схемою виділення файлів певних блоків на диску. Це система, в якій файли являють собою безперервні набори сусідніх блоків диска. Тоді на диску, що складається з блоків по 1 Кбайт, файл розміром в 50 Кбайт займатиме 50 послідовних блоків. Схематично він представлений на малюнку 1.2
Малюнок 1.2 - Метод послідовних блоків
Переваги такого мето...