|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Oleg Polyanski 2:5020/400 30 Jan 2001 09:40:08 To : vitus@ice.ru Subject : Re: 2 процессора.... --------------------------------------------------------------------------------
vitus@ice.ru writes:
> OP> Объясните, а это обязательно должна быть тредовая модель? Процесс,
> OP> который получается после fork'а - такая же полноправная единица
> OP> планирования, пригодная для запуска на другом (других) процессорах.
> OP> Собственно, даже наоборот - треды могут не быть единицей планирования для
> OP> ядра, что, правда, сейчас всё реже можно встретить. И тем не менее, не
> OP> проще взять пару книжек - одну из них UNIX internals by Uresh Vahalia, а
> OP> другую - Richard Stevens, "UNIX network programming", Volume I, в
> OP> котором прекрасно расписаны ответы на все вопросы, а также рассказано, что
> OP> и треды и процессы, если не подумать головой, одинаково медленны в работе
> OP> (треды чуть быстрее - меньше времени требуется на создание нового
> OP> оного)? А потом, если останутся вопросы, вернуться сюда снова.
>
> Вот вот. Вопрос треды vs fork состоит в одном единственном - оправдан ли
> оверхед на создание процесса той дополнительной изоляцией потоков
> выполнения друг от друга, которую процессы обеспечивают.
>
> Вопрос многопоточность (считая и треды и процессы) vs select и
> event-driven программинг - это совсем другой вопрос. Hо лично я для себя
> отвечаю на этот вопрос так - если event-driven модель не устраивает, то
> нужны полновесные процессы.
Hа самом деле, голову надо применять не только для того, чтобы в неё есть, а
всегда. В том смысле, что форкаться на каждый запрос - тоже неэффективно и
медленно. Особенно в случае, если ядро реализует fine grained locking в
полном объёме. Hесмотря на то, что fork всячески стараются ускорить в разных
Юниксах (типа быстрого fork1 в Солярисе или заставляя reaper process во
время простоя системы создавать пулы контекстов процессов в Солярисе 8), тем
не менее, схема 'fork on request' ужасно неэффективна. Дядька Стивенс это
наглядно демострирует в своей книге. То же самое относится, кстати, к тредам
в полном объёме.
Regards,
Oleg
--- ifmail v.2.15dev5
* Origin: Jet Infosystems (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/29129c7cbf652.html, оценка из 5, голосов 10
|