- •Призначення ядра Linux і його особливості
- •Модулі ядра
- •Виконавча система
- •Наперед визначені системні процеси
- •Застосування користувача
- •Висновки до розділу 2.
- •Контрольні запитання та завдання
- •Паралелізм взаємодії з користувачем
- •Паралелізм розподілених застосувань
- •Ієрархія процесів
- •Особливості створення потоків
- •Особливості завершення потоків
- •Методи розподілюваної пам'яті
- •Методи передавання повідомлень
- •Технологія відображуваної пам'яті
- •Особливості міжпроцесової взаємодії
- •Черги повідомлень
- •20 Найбільш значущих бітів, які задають початкову адресу фрейму, кратну 4 Кбайт (може бути задано 1 Мбайт різних початкових адрес);
- •Базові принципи
- •Перетворення адрес в архітектурі іа-32
- •Типи файлів
- •Імена файлів
- •Каталоги
- •Абсолютний і відносний шляхи
- •Єдине дерево каталогів. Монтування файлових систем
- •Літерні позначення розділів
- •Символічні зв'язки
- •Підтримка символічних зв'язків на рівні системних викликів
Символічні зв'язки
Символічний зв'язок (symbolic link) - зв'язок, фізично відокремлений від даних, на які вказує. Фактично, це спеціальний файл, що містить ім'я файла, на який вказує.
Наведемо властивості символічних зв'язків.
Через такий зв'язок здійснюють доступ до вихідного файла.
При вилученні зв'язку, вихідний файл не зникне.
Якщо вихідний файл перемістити або вилучити, зв'язок розірветься, і доступ через нього стане неможливий, якщо файл потім поновити на тому самому місці, зв'язком знову можна користуватися.
Символічні зв'язки можуть вказувати на каталоги і файли, що перебувають на інших файлових системах (на іншому розділі жорсткого диска). Наприклад, якщо створити в поточному каталозі зв'язок system-docs, що вказує на каталог /usr/doc, то перехід у каталог system-docs призведе до переходу в каталог /usr/doc.
Підтримка символічних зв'язків на рівні системних викликів
Для задания символічного зв'язку у POSIX визначено системний виклик symlіnk (), параметри якого
аналогічні до параметрів lіnk ():
symlink ("myfile.txt". "myfile-symlink.txt");
Для отримання шляху до файла або каталогу, на який вказує символічний зв'язок, використовують системний виклик readlink( ).
// РАТНМАХ - константа, що задає максимальну довжину шляху
char filepath[PATH_MAX+l];
readlink("myfile-symlink.txt\ filepath, sizeof(filepath));
//уfilepathбуде шлях до myfile.txt
Символічні зв'язки вперше з'явилися у файлових системах UNIX, у Windows ХР вони підтримуються файловою системою NTFS під назвою точок з'єднання (junction points), але засоби АРІ для їхнього використання не визначені [87].