Основы операционных систем. Практикум



         

Глава 7 - часть 4


/p>

Для создания жестких связей применяются команда операционной системы ln без опций и системный вызов link().

Надо отметить, что системный вызов link() является одним из немногих системных вызовов, совершающих операции над файлами, которые не требуют предварительного открытия файла, поскольку он подразумевает выполнение единичного действия только над содержимым индексного узла, выделенного связываемому файлу.

Системный вызов link()

Прототип системного вызова

#include <unistd.h> int link(char *pathname, char *linkpathname);

Описание системного вызова

Системный вызов link служит для создания жесткой связи к файлу с именем, на которое указывает параметр pathname. Указатель на имя создаваемой связи задается параметром linkpathname (полное или относительное имя связи). Во всех существующих реализациях операционной системы UNIX запрещено создавать жесткие связи к директориям. В операционной системе Linux (по непонятной причине) дополнительно запрещено создавать жесткие связи к специальным файлам устройств.

Возвращаемое значение

Системный вызов возвращает значение 0 при нормальном завершении и значение -1 при возникновении ошибки.




Содержание  Назад  Вперед