Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция3.doc
Скачиваний:
1
Добавлен:
22.08.2019
Размер:
86.02 Кб
Скачать

Зсилки.

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

Зсилка (lіnk) - це елемент файлової системи, що виконує функції псевдоніма для якого-небудь файлу або каталогу.

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

Зсилки можуть бути двох видів - символічні й прямі (в англомовній літературі для перших використається термін "symbolіc lіnk", для інших - "hard lіnk"). Символічні зсилки містять символьне ім'я файлу або каталогу, і при роботі програм із цією зсилкою звертання відбувається до об'єкта файлової системи, ім'я якого зберігає зсилка. Символічна зсилка може використовуватися для роботи із цим файлом або каталогом, але через неї неможливо виконати деякі операції, наприклад, видалення об'єкта, на який вона вказує. Видалення самого об'єкта (файлу або каталогу), на який вказує символічна зсилка, приводить до того, що будь-яка символічна зсилка на нього стає некоректною (фактично вказує в нікуди). Спроби подальшої роботи із нею (зсипкою) приведуть тільки до одержання повідомлень про помилки. Якщо об'єкт, на який вона вказує, буде знову створений, то символічні зсилки автоматично стануть коректними і їх можна буде використати далі. Застосування операції видалення до символічної зсилки приводить до видалення зсилки, але ніяк не відбивається на об'єкті, на який вона вказує. Фізично символічна зсилка, зазвичай, реалізується як окремий файл спеціального виду.

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

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