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

Типова організація файлової системи зображена на мал. 19.3.

Рис. 19.3.  Організація файлової системи.

Файлові системи організуються на дисках. Кожен диск поділений на розділи (partitions) – суміжні області дискової пам'яті, що мають свої логічні імена (звичайно у вигляді перших букв латинського алфавіту). Однак можлива й організація розділу, що займає кілька дисків. Для розподілу диска на розділи рекомендуємо утиліту Partition Magic. У розділах зберігаються директорії й файли. Кожен розділ має кореневу директорію, у якої при необхідності можуть бути організовані піддиректорії, на які вона посилається.

Варто мати на увазі, що в різних розділах можуть бути встановлені різні операційні системи, що використають різне форматування й різні файлові системи для своєї роботи. Навіть якщо на комп'ютері встановлена тільки одна ОС, різні розділи можуть використати різні типи файлових систем, наприклад, в Windows розділ A може використати файлову систему FAT32, а розділ B – файлову систему NTFS. У розділі C може бути інстальована ОС Linux, що використає свою власну файлову систему Ext2Fs.

Операції над директоріями

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

Установка поточної (робочої) директорії. При роботі з директоріями основним є поняття поточної (робочої) директорії, що встановлюється в командних мовах командою cd (change directory), наприклад, якщо в цей момент поточної є коренева директорія диска C: , то команда:

cd doc

установить у якості поточну піддиректорію doc. Поточна директорія в командній мові позначається крапкою (.) .

Пошук файлу. Як ми вже відзначали, пошук файлу виконується за допомогою символьного шляху (path), утвореного послідовністю імен директорій, наприклад, C:\doc\plan.txt. Якщо потрібно знайти файл у поточній директорії, указується його ім'я. Наприклад, в Windows команда:

type plan.txt

виводить уміст файлу plan.txt у поточній директорії (C:\doc) на консоль.

Створення файлу. Як правило, створення файлу в поточній директорії виконується програмою, що надалі буде працювати із цим файлом – наприклад, в Windows – текстовими редакторами notepad, wordpad, Microsoft Word. Багато файлів створюються в поточній директорії неявно, у результаті компіляції або яких-небудь інших системних операцій. Наприклад, якщо в поточній директорії є файл вихідного коду мовою Java – program.java, то в результаті його компіляції:

javac program.java

Java-компілятор створює в поточній директорії class-файл, що містить двійковий байт-код Java-програми – файл program.class.

Багато програм створюють у поточній директорії тимчасові файли, часом з досить екзотичними іменами, - наприклад, Microsoft Word у результаті відкриття файлу з документом. По закінченні роботи програми тимчасові файли віддаляються.

Створення директорії. У робочій директорії можна створити іншу директорію. Командною мовою це робиться командою mkdir, наприклад:

mkdir tmp.

Видалення файлу з поточної директорії виконується спеціальною командою - del (в Windows) або rm (в UNIX). Видалення знищує тільки посилання на файл із директорії, але не сам файл. Якщо на нього є інші посилання, воно зберігається. Типовою помилкою користувачів є поспішне невірне видалення файлу. Якщо воно виконано в системі Windows, те, як правило, файл можна відновити спеціальними утилітами (крім його імені), тому що, наприклад, у системі FAT файл представляється як список суміжних областей. Якщо ж видалення файлу виконане в UNIX, те, на жаль, файл відновленню не підлягає, тому що в UNIX використовує подання у вигляді індексних блоків, що містять посилання на всі блоки даних файлу.

Вивід умісту директорії. Команда dir (в Windows) і ls (в UNIX) виводить уміст директорії на консоль. За допомогою перенапрямку стандартного виводу вміст директорії можна зберегти в текстовому файлі, наприклад:

ls doc > doc_list.txt

Перейменування файлу. Ім'я файлу в директорії можна змінити, якщо нове ім'я вже не зустрічається в директорії. В UNIX це робиться командою mv, наприклад:

mv old_file.txt new_file.txt

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

find . -name plan.txt -print

виконує пошук у поточній директорії й всіх її піддиректоріях файлу plan.txt і виводить на консоль повний шлях доступу до кожного знайденого файлу з таким ім'ям.