Balancer>> А если речь не вести о производительности, то нам пофиг, сколько там у процессора памяти и как он с ней работает. Работать автономно умеет каждый модуль - умеет. Всё
Не все, вроде говорят, что у них виртуальной памяти нет. Поэтому они запертты в рамках своей доступной памяти.
Татарин> Ну вот вся его "автономность" - ровно до той поры, пока он буфер не перемолотит (если учесть, что в том же буфере у него еще и код...).
Это точно.
Татарин> Татарин>> Тут будет как бы не хуже. Форк - копирует весь процесс, на то он и форк, не так ли?
Форк создает полностью сегмент задачи, а потом его копирует. При переключении задачи весь контекст переключается — весь набор регистров, стэковый сегмент, а так же и вектора прерывания, и т.д. Поэтому и диспечеризация процесса сложнее. Вообщем, полный аналог процесса в Виндах. Для ниток контекст всегда остается тем же, диспечерезация идет внутри процесса. И создание нитки намного проще. И переключение тоже. Вначале диспетчер был внутри процесса, а потом подумали и поняли, что диспетчер должен быть защищен, да есть таковой в ядре. Так появились нитки, поддержанные ядром. Плюс у нитей разделение глобальных данных намного проще, чем у процессов.
Balancer>> Ну, под виндой новые процессы тормознее новых нитей. Под Linux - fork'и намного быстрее и, кажется, только сейчас вводимые nptl быстрее. Всю жизни сидели на форках и работало это быстрее нитей в винде
Под Линухом форк все равно тяжелый. Тот же vfork не зря был разработан в BSD системах, а потом скопирован в линь.
Balancer>> Как такое происходит - это к тем, кому не в лом в ядре копатья
Это не в ядре, а в теории.
Татарин> Зато теперь в Селл это пофиксили: наконец-то форк станет таким медленным, каким задумывался. И отобьет у шаловливых ручек желание забить ось процессами.
Это не проц пофиксили, а Линух — точнее в соответствие с POSIX привели. А последний появился потому как форк тяжелый.
Татарин> Фишка в чем? В том, что архитектура Селл оптимизирована только на потоки (мало кода, типичная обработка, маленький буфер данных, данные поступают регулярно... т.п.). То есть, идеально для видео/музыки. Возможно, для сетевых операций (ну, стек ИП на отдельный АПУ повесить).
Ну векторный он — отсюда и потоки. Или наоборот, как у тебя (можно на ты?) расчитан на потоки, потому и векторный.
Татарин> На Атлоне честный ФАДД с двойной точностью стартует каждый такт (может вместе с ФСТОРЕ/ФМУЛ). И у ССЕ - отдельный двигатель, которому х87 свое обрабатывать не мешает.
Ну, G5 акселератор, вроде на маках есть. Могли бы и сюда присобачить.
Татарин> Я вполне допускаю, что Селл быстрее (в теоретическом пике). Но проявится ли оно в реальных приложениях и задачах с такой силой? Вовсе не уверен. [»]
Тут от компилеров многое зависеть будет. А то будет как с I64 — ненавижу HP c ее системой команд.