LINUX.ORG.RU

Каждый файл/дирректория/ссылка/... ассоцирован с inode (индесный дескриптор), в нем храниться информация о датах создания/изменения/доступа к ф/д/с права доступа, что это ф/д/с, если файл, то ссылки на блоки в котором он храниться. inode нужен драйверу файловой системы, но не который поля из него можно получить и процессу вызвав системный вызов stat. Это в кратце.

anonymous
()
Ответ на: комментарий от anonymous

каналы внутренне представлены как корректный inode

что значит корректный???

anonymous
()

Re:

В разных ОС inode имеет разный смысл.

В Linux inode - это не более чем некий внутренний интерфейс VFS для представления единицы ввода/вывода (то, что в UNIX называется vnode или in-core inode). Представление данных на носителях - дело исключительно файловой системы, ее задача лишь совместить эти данные с интерфейсом VFS. Ряд файловых систем вообще не оперирует данными на носителе (nodev или псевдофайловые системы), для них inode - это только интерфейс VFS.

Murr ★★
()
Ответ на: Re: от Murr

Т.е. сокеты тоже через inode представлены, я так понимаю? Тогда можно ли убить открытый сокет по его inode?

PETER ★★
()
Ответ на: комментарий от PETER

Re:

>Т.е. сокеты тоже через inode представлены, я так понимаю?
Да.

>Тогда можно ли убить открытый сокет по его inode?
В процессе с сокетом связан fd, дальше:
fd->ядро->struct file (с этой структурой связаны блокировки, флажки вроде неблокирующего ввода/вывода, режим чтение/запись, позиция и т.д.)->struct dentry(содержит имя, которое всегда видно на procfs)->struct inode. Ты можешь передать struct inode любой функции, которой не нужен контекст struct file, но только имей в виду, что inode не должна быть освобождена раньше dentry и соответственно file, то есть ты можешь вызвать shutdown по аналогии с sys_shutdown, но не можешь уменьшить счетчик у inode.

Murr ★★
()
Ответ на: Re: от Murr

Сенкс

PETER ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.