Как стать автором
Обновить

Заметки о Unix: изъян архитектуры Unix и номер устройства, который выдаёт для файлов системный вызов stat()

Время на прочтение3 мин
Количество просмотров7.6K
Всего голосов 38: ↑34 и ↓4+30
Комментарии3

Комментарии 3

Сталкивались ли вы со странностями Unix, которые можно объяснить архитектурными решениями, принятыми много лет назад?

А в чем «странность»?

Файловая система — пространство имен (абстрактное а не то что в ядре называется namespace)

inode number — это идентификатор файла в пространстве имен файловой системы

device_id — по сути идентификатор пространства имен (только не нужно путать абстрактное пространство имен и то что в ядре называют namepace и которое фактически область видимости).

Никто не запрещает просто запрашивать у ядра major/minor для такого фиктивного устройства, и ничего «резервировать» не надо - механизм динамического распределения идентификаторов устройств давно реализован.

Так что в чем странность то? В том, что у вас этот идентификатор не UUID?
> Сталкивались ли вы со странностями Unix, которые можно объяснить архитектурными решениями, принятыми много лет назад?

Тут скорее приходится удивляться тому, что система, спроектированная много лет назад, имеет так мало архитектурных косяков и актуальна до сих пор. Все-таки UNIX создавали гениальные люди.
Очень веселый вопрос в конце, да. Слабая попытка начать дискуссию похожая на «а у вас были похожие проблемы, поделитесь с нами».
И странность — не странность, и изъян — не изъян.
Так — просто интересный фактоид.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий