>>Из всего спора я для себя сделал вывод, единственное, что плохо во
>>фре так это медленная файловая система и всё. >Ну еще про маштабируемость SMP систем в FreeBSD можно сказать. Она конечно
>хорошая, но хромает :) Особенно на большом количестве ядер. Опять же
>эта забавная ситуация с нитями. Реализаций много, а какую использовать не
>понятно. Раньше до 2.6 ядра по сравнению с 2.4 ядром linux
>ситуация во FreeBSD была лучше. Щас что-то как-то не понятно.
SMP - неправильнуй путь ведущий в тупик. Системным программистам приходится ставить много-много костылей чтобы несколько процессоров могли работать вместе и не гадить друг другу. От этого и долгий и трудный путь всех Unix к SMP ядрам. Сама идея планировать на любой процессор любой процесс ошибочна так как трудно синхронизировать их работу: либо многочисленные костыли для блокировки что снижает производительность либо рисковать на авось а это глюки с крахом системы.
Простой атомарный алгоритм в однопроцессорной системе "проверка_блокировки, установка_блокировки, операция, снятие блокировки" на SMP систему просто так не перенесёшь так как нет гарантии что между проверкой и установкой другой процессор не находится в стадии установки. Приходится ставить костыли.
Мне нравится более простой и надёжный механизм когда на процессорах выполняются задачи которые не пересекаются по памяти. Например, на одном процессоре выполняется ядро, а на другие планируются пользовательские процессы. Такое было в NetWare v5.0. На первый взгляд таким способом трудно равномерно загрузить процессоры, но в системах SMP частые простои из-за блокировок по доступу к одному региону памяти тоже снижают масштабируемость.
Кривость SMP не стоит таких жарких споров у кого она лучше реализована. Разработчикам Linux море поколено, а FreeBSD делают более осторожные люди.