Это не FreeBSD против [вставьте любимый серверный дистрибутив Linux].
Меня интересует, почему и как решать проблемы с Sch, если они существуют.
В первую очередь, я собираюсь внедрить АТС на базе FreeSwitch для местной больницы Красного Креста. Я, будучи собой, хочу расширить свой кругозор. Я не являюсь полноценным экспертом ни по Linux, ни по freebsd, но и не сутулится.
Теперь, после долгих поисков в Google, я читал, что есть проблемы с FreeBSD и SMP, но не с Linux, хотя, честно говоря, я еще не видел никаких проблем, и у меня есть несколько серверов BSD наряду с CentOS, Ubuntu и Debian.
Итак, есть ли проблема? Если есть, то как это исправить (если возможно, потому что я читал на сайте FreeBSD, что FreeBSD была спроектирована для архитектуры x86).
Во FreeBSD были проблемы с экспериментальным расписанием "ULE" в ветвях 6.x и 7.x (оно было введено в 5.x, но было известно, что оно очень нестабильно). Он никогда не был планировщиком по умолчанию для любого производственного выпуска, когда у него были такие проблемы. Я запускал ULE, пока он находился в стадии разработки, и никогда не имел с ним ни одной проблемы.
Проблема заключалась в чрезвычайно технических условиях гонки, что было очень маловероятно, если у вас не был сильно загруженный сервер; проблема усугубилась с большим количеством ядер, поэтому большинство компьютеров никогда бы этого не заметили. Но в результате машина оказалась в тупике и не перезагружалась автоматически; следовательно, проблема заключалась в производственной ответственности.
С тех пор состояние гонки было разрешено, и теперь ULE полностью стабильно. Он стал планировщиком по умолчанию для версии 8.x и более эффективен для большого количества ядер. Предыдущий планировщик (4BSD) работал с системами SMP, но плохо масштабировался; очень заметно на системах с более чем 4 ядрами.
PS: Изначально BSD был написан для PDP-11, и код все еще очень пригоден для употребления. FreeBSD и NetBSD отделились друг от друга из-за различий в оптимизации (очень короткие истории!), FreeBSD концентрируется на i386 / AMD64; NetBSD концентрируется на переносимости. Пока я занимаюсь этим: OpenBSD отключила NetBSD, чтобы сосредоточиться на безопасности; и DragonflyBSD отказались от FreeBSD, чтобы сосредоточиться на максимальной стабильности.