Добавил:
twitch.tv Заведующий методическим кабинетом, преподаватель на кафедре компьютерного спорта и прикладных компьютерных технологий. Образование - Магистр Спорта. Суета... Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
7
Добавлен:
29.04.2022
Размер:
11.63 Mб
Скачать

Літерні позначення розділів

Другий підхід, що в основному поширений в лініях Consumer Windows і Win­dows ХР, припускає, що кожний розділ зі встановленою файловою системою є ви­димим для користувача і позначений буквою латинського алфавіту. Такий розділ звичайно називають томом. Позначення томів нам знайомі — цеС:, D: тощо.

Особливості такої реалізації наведені нижче.

  • Вміст кожного розділу не пов'язаний з іншими розділами; відносний шлях можна побудувати тільки за умови, що поточний каталог перебуває на тому самому томі, що і файл.

  • Структура логічних розділів видима для користувача.

  • Перенос каталогу на новий розділ призводить до того, що шлях до цього катало­гу зміниться (оскільки такий шлях завжди включає літерне позначення тому). У підсумку програмне забезпечення, яке використовує цей шлях, може пере­стати працювати.

  • У разі необхідності додавання або вилучення дискового пристрою у системах лінії Consumer Windows користувач не може впливати на те, які літери систе­ма присвоює розділам (фактично це залежить від порядку підключення апа­ратних пристроїв); у системах лінії Windows ХР користувач може вільно змі­нювати літерні позначення під час роботи системи.

Зазначимо, що нині в ОС лінії Windows ХР реалізована підтримка монтуван­ня (для файлової системи NTFS), що вирішує більшість перелічених проблем. Ця підтримка вперше з'явилась у Windows 2000 .

4.

Структура каталогів файлової системи не завжди є деревом. Багато файлових систем дає змогу задавати кілька імен для одного й того самого файла. Такі імена називають зв'язками (links). Розрізняють жорсткі та символічні зв'язки.

Жорсткі зв'язки

Ім'я файла не завжди однозначно пов'язане з його даними. За підтримки жорстких зв'язків (hard links) для файла допускається кілька імен. Усі жорсткі зв'язки ви­значають одні й ті самі дані на диску, для користувача вони не відрізняються: не можна визначити, які з них були створені раніше, а які - пізніше.

Підтримка жорстких зв'язків у POSIX

Для створення жорстких зв'язків у POSIX призначений системний виклик link().Першим параметром він приймає ім'я вихідного файла, другим — ім'я жорсткого зв'язку, що буде створений:

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

виклику вилучення файла використовують виклик вилучення зв'язку (який за­звичай називають unlink ( ), що вилучатиме один жорсткий зв'язок для заданого файла. Якщо після цього зв'язків у файла більше не залишається, його дані також вилучаються.

Підтримка жорстких зв'язків у Windows ХР

Жорсткі зв'язки здебільшого реалізовані в UNIX-сумісних системах, їх підтриму­ють також у системах лінії Windows ХР для файлової системи NTFS . Для створення жорсткого зв'язку в цій системі необхідно використати функцію Create-HardLink ( ), ім'я зв'язку задають першим параметром, ім'я файла - другим, а тре­тій дорівнює нулю:

CreateHardLink("myfile_hardlink.txt". "myfile.txt". 0);

Для вилучення жорстких зв'язків у Win32 АРІ використовують функцію

DeleteFile( ):

DeleteFi1е("myfіle_hardlіnk.txt");

Зазначимо, що для файлових систем, які не підтримують жорстких зв'язків, виклик DeleteFile( ) завжди спричиняє вилучення файла.

Жорсткі зв'язки мають певні недоліки, які обмежують їх застосування:

  • не можуть бути задані для каталогів;

  • усі жорсткі зв'язки одного файла завжди мають перебувати на одному й тому самому розділі жорсткого диска (в одній файловій системі);

  • вилучення жорсткого зв'язку потенційно може спричинити втрати даних файла.