Цитата: qurvax от 12.08.2019 07:58:50XFS хорошо, но тормозно местами, а екст4 имеет таки свойство тогойт, бывало. Питанием одним жив не будешь, ведь под фс еще дочертей слоев всяко-разного.
Под файловой системой нет никаких слоев, кроме кода ядра, если точнее, кода, непоследственно обслуживающего устройство прямого доступа. Когда вы выдаете системный вызов, например, записи в файл write(fd, buff, cnt), ФС проверяет ваши права на запись, на валидность буфера, конвертирует вызов в команду устройства и ставит ее в очередь драйверу конкретного устройства на выполнение.
Цитата: qurvax от 12.08.2019 07:58:50Вот еще хотел спросить, а чего дает эта самая POSIX-совместимость на практике пользователям ОС общего назначения
Много чего. Например, прозрачную локализацию, хорошие имена файлов, быструю и надежную файловую систему, мощную командную оболочку, и набор утилит, позволяющие много чего сделать, не прибегая к разного рода крафтовым программам. Мало того, все это будет работать точно так же столько, сколько уже работает.
Это все внешнее, а внутреннего, не видимого каждый день, косвенного еще больше. Например, софт, который рулит электростанциями, энергетической и прочей инфраструктурой, управляет работой предприятий, например, рудным комбинатом или нефтепромыслами, в силу уникальности стоит очень дорого и разработан он на наши с вами кровные. POSIX позволяет не тратиться на постоянный апдейт сложного и дорогого софта при смене аппаратной или системной инфраструктуры – все основные вопросы совместимости ложатся на уровень ниже прикладного
Программистом он дает еще больше. Прежде всего стабильный и простой прикладной интерфейс. Вам не нужно каждые три-пять-семь-десять лет тратить свою жизнь на изучение каких-то модных фреймворков и прочих библиотек для взаимодействия с ОС – вы один раз разобрались и работаете, нарабатываете опыт. Вы знаете, как себя ведет тот или иной вызов и это не зависит от вычислительной платформы. Вы можете писать софт для любой системы на любом железе, вплоть до контроллеров, если система поддерживает Std IEEE 1003.1.
Мало того, вы думаете в контексте и терминах этого стабильного и очень простого API.
У вас есть уверенность, что код, который вы написали наццать лет назад, скомпилируется и правильно отработает не только сегодня, но и через наццать лет. Если вдруг что-то пойдет не так, типа что-то устарело и это выбросили, то в стандарте или в дополнении/объяснении к нему вы всегда найдете информацию, что именно устарело и как это обойти без потерь в функциональности. Т.е. вам не нужно непрерывно переписывать однажды разработанный софт.