1.2, polymorphm1 (ok), 18:37, 09/04/2010 [ответить] [﹢﹢﹢] [ · · · ]
| –6 +/– |
распределение всё по процессам -- это АКТУАЛЬНЕЙШАЯ задача современных програм!
вот только как они буду портировать это на Windows ? тамже сплошником только и принто использовать "Нити" ("Threads")... (а в данный момент времени -- "Нити используются" всё чащще стали использоваться не для увеличения производительности, а для задания НЕ_ЛИНЕЙНОЙ логике работы алгоритма)
...так как -- тут и к гадалке не ходи -- нужно использовать КЛОНИРОВАНИЕ процессов (системный вызов 'fork(...)')
| |
|
2.10, минона (?), 21:20, 09/04/2010 [^] [^^] [^^^] [ответить]
| +1 +/– |
вообще-то fork (и vfork) в линухе реализованы через системный вызов clone. отличие только в параметрах передаваемых clone.
более того, в линухе для обеспечения многопоточных приложений используются облегчённые процессы.
другими словами, разница в линухе между процессами и потоками размыта настолько, насколько это возможно. а параметры clone таковы, что между "потоком" и процессом есть ещё целый ряд вариантов.
в общем, в то, что что-то там распухнет я не верю. вернее точно знаю, что это не так.
| |
|
3.14, polymorphm1 (ok), 23:14, 09/04/2010 [^] [^^] [^^^] [ответить]
| –3 +/– |
ну я не такой спец в ядре .. даж и не знал что есть функция clone(..)
когда писал про клонирвоание -- как раз и имел ввиду fork(..) семейство :-)
> в общем, в то, что что-то там распухнет я не верю. вернее точно знаю, что это не так.
ну я тож думаю что не расспухнет сильно. а если и распухнет -- то во благо производительности и надёжности.
я хотел затронуть тему портирования на windows... как там дела у Windows с fork(...) ?
(только если не рассматривать в Windows -- специальную posix-подсистему, которая используется чутьли только не в лабораторных целях, и которая не во всех версиях Windows)
| |
|
4.17, минона (?), 23:29, 09/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
не просто функция. системный вызов.
функция в ядре - do_fork.
и это семейство не только по работе с процессами, но и с потоками.
>ну я тож думаю что не расспухнет сильно. а если и распухнет -- то во благо производительности и надёжности.
если действительно продумают этот момент, то может даже уменьшится.
>я хотел затронуть тему портирования на windows... как там дела у Windows с fork(...) ?
ну значит я не дорасказал - обычно для всей этой батвы используется библиотека-посредник.
если такая библа будет и для винды (а она будет. и уже есть. и уже не одна), то проблем - скомпили и используй.
| |
4.21, Michael Shigorin (ok), 23:58, 09/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
Ну так и не пишите про fork(2), а читайте про ps(1) :) Там есть целый раздел THREAD DISPLAY. А потом посмотрите на тот же firefox через полученный таким образом бинокль.
| |
4.25, haku (??), 01:57, 10/04/2010 [^] [^^] [^^^] [ответить]
| +2 +/– |
>>как там дела у Windows с fork(...) ?
да всё так же, вызов функции с одиннадцатью параметрами, шесть из которых -- структуры... венда же ж...
| |
|
|
|
|
4.20, минона (?), 23:44, 09/04/2010 [^] [^^] [^^^] [ответить]
| +1 +/– |
>....а сейчас -- принято использовать сборшики мусора (сложные модели данных с цеклическими зависимостями -- как могут обойтись без сборщика мусора?) , который блокируют сразу ВСЕ нити (одного процесса) при своей деятельности.
глупости.
это вообще компромисс между признанием "да, я пишу кривые проги" и хоть какой-то стабильностью кода типа - "ну она же не жрёт больше, чем есть в этой системе?"
и к потокам/процессам не имеет отношения.
| |
4.27, IGX (?), 02:03, 10/04/2010 [^] [^^] [^^^] [ответить]
| +1 +/– |
всё сказанное - полная чушь, имеющая отношение только к реальности оратора
| |
4.31, qpq (ok), 07:33, 10/04/2010 [^] [^^] [^^^] [ответить]
| +1 +/– |
фантазер... :)
либо у Вас богатая фантазия на благодатной почве обрывочных знаний, либо Вы так умело издеваетесь над местной публикой
| |
|
3.19, минона (?), 23:40, 09/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
pthread.h - это всего лишь заголовочный файл POSIX-совместимой библиотеки, использующей облегчённые процессы (в том числе и линухе). в любом случае, они оперируют теми же системными вызовами, но на более высоком уровне.
примеры POSIX-совместимых библ - LinuxThread, NTPL, NGPT...
| |
|
4.26, Ariel (ok), 02:03, 10/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
>pthread.h - это всего лишь заголовочный файл POSIX-совместимой библиотеки, использующей облегчённые процессы
>(в том числе и линухе). в любом случае, они оперируют теми
>же системными вызовами, но на более высоком уровне.
>примеры POSIX-совместимых библ - LinuxThread, NTPL, NGPT...
В смысле, что нет разницы между процессом и нитью? Насколько я знаю, каждый процесс имеет по крайней мере одну нить (main thread). Если нитей несколько, то они существуют в одном адресном пространстве и разделяют ресурсы процесса и могут выполняться параллельно; в чём и смысл.
fork() же порождает именно новый процесс со своим адресным пространством, который обычно заменяется с помощью exec(), что является намного более дорогим. Во всяком случае в Darwin pthreads основаны на mach threads
| |
|
5.29, Ariel (ok), 02:35, 10/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
Сейчас смотрел исходники fork(), и кроме копирования ресурсов и много чего прочего, происходит создание нити дочернего процесса. Ну это на Mac OS X / Darwin
| |
5.34, минона (?), 12:59, 10/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
>В смысле, что нет разницы между процессом и нитью?
разница в деталях. не больше и не меньше.
>fork() же порождает именно новый процесс со своим адресным пространством,
я уже писал как работает fork (и как работает clone). не вижу смысла повторятся.
зы:
раньше ядро вообще не предполагало поддержку многопоточности. потоки создавались на пользовательском уровне (например при помощи библиотеки pthread). для ядра же все эти ветви выполнения были одним процессом.
сейчас используются облегчённые процессы. всё остальное - это структуры в пользовательском пространстве, реализованные по стандарту POSIX или нет.
ззы:
прочитайте уже про облегчённые процессы. тогда не будете глупости писать
| |
|
6.37, Ariel (??), 16:00, 10/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
в Mac OS X нет понятия облегчённого процесса, киньте ссылку - скажу спасибо;
на низком уровне (mach) есть tasks и threads, и многопоточность была изначально,
| |
|
7.39, минона (?), 16:41, 10/04/2010 [^] [^^] [^^^] [ответить]
| –1 +/– |
да не собираюсь я вам что-либо кидать! :D
речь шла про винды и линух. и местами про POSIX потоки. ах, вы захотели про мак? ну, хотеть не вредно.
зы:
главное помнить, что потоки - это абстрактные структуры и цпу до них нет дела. в отличие от процессов. ну а если вы точно хотите поговорить о потоках в маке, то внимательно прочитайте вот эту документацию:
>Threads are one of several technologies that make it possible to execute multiple code paths concurrently inside a single application. Although newer technologies such as operation objects and Grand Central Dispatch (GCD) provide a more modern and efficient infrastructure for implementing concurrency, Mac OS X and iPhone OS also provide interfaces for creating and managing threads.
http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/Multith
и далее по тексту. :D
| |
|
8.41, Ariel (??), 17:23, 10/04/2010 [^] [^^] [^^^] [ответить] | +/– | Cпасибо за ссылку - но я её само собой читал И где там сказано, что процессы ... текст свёрнут, показать | |
|
9.42, минона (?), 19:03, 10/04/2010 [^] [^^] [^^^] [ответить] | +/– | где написано в устаревшей документации к признанной ими же устаревшей технологи... текст свёрнут, показать | |
|
10.45, Ariel (??), 01:55, 12/04/2010 [^] [^^] [^^^] [ответить] | +/– | Что устарело Насколько я знаю все multithreading API основаны на much threads, ... текст свёрнут, показать | |
|
|
|
|
|
15.50, Ariel (ok), 22:09, 12/04/2010 [^] [^^] [^^^] [ответить] | +/– | от mach там много чего, в том числе и потоки - mach thread и оно не куцое, а изм... текст свёрнут, показать | |
|
16.51, Ariel (ok), 22:13, 12/04/2010 [^] [^^] [^^^] [ответить] | +/– | забыл сказать, что на Mac принято использовать fork только вместе с exec , и ... текст свёрнут, показать | |
|
17.52, Ariel (ok), 22:43, 12/04/2010 [^] [^^] [^^^] [ответить] | +/– | http developer apple com mac library documentation Darwin Conceptual KernelPro... текст свёрнут, показать | |
|
|
19.54, Ariel (ok), 14:50, 15/04/2010 [^] [^^] [^^^] [ответить] | +/– | я лишь написал о том, что процессы и потоки реализованы на уровне Mach именно от... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.6, User294 (ok), 20:34, 09/04/2010 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
> распределение всё по процессам -- это АКТУАЛЬНЕЙШАЯ задача современных програм!
Да, знакомый чувак открыл в хромиуме 150 табов. Система начала тормозить, список задач засрался процессами а суммарное потребление памяти сделало FF в несколько раз. Актуально, мля, особенно когда это уродство и в FF сделают - будет на что поюзать 8 гигз оперативы, блин ;(
| |
|
2.8, Anon (?), 20:49, 09/04/2010 [^] [^^] [^^^] [ответить]
| –4 +/– |
Память - расходный материал. Не жалко. А вот нагрузку на процессор что хром, что огнелис неслабую дают. Что очень критично на мобильных железках.
| |
|
3.12, Frank (??), 22:12, 09/04/2010 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Память - расходный материал. Не жалко.
Расскажи это сисадминам, админящим сетки на тонких клиентах. Запасись предварительно зелёнкой и бинтами ;)
| |
3.30, аноним (?), 05:05, 10/04/2010 [^] [^^] [^^^] [ответить]
| +1 +/– |
Любой расходный материал
- когда-нибудь кончается
- может пригодится для более важных вещей
С таким подходом возвращаемся во времена DOS - может работать только одна задача - недобраузер типа хрома или недософт на java. Все, памяти больше нет - расходный материал, хренли.
| |
|
2.15, svchost (ok), 23:24, 09/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
Блин, а я вот пользуюсь Firefox 3.7 и в нем отключил этот mozilla-runtime, так как он жутко тормозил браузер.
| |
2.18, polymorphm1 (ok), 23:36, 09/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
>> распределение всё по процессам -- это АКТУАЛЬНЕЙШАЯ задача современных програм!
>
>Да, знакомый чувак открыл в хромиуме 150 табов. Система начала тормозить, список
>задач засрался процессами а суммарное потребление памяти сделало FF в несколько
>раз. Актуально, мля, особенно когда это уродство и в FF сделают
>- будет на что поюзать 8 гигз оперативы, блин ;(
везде есть свои минусы :-(
...бывает приходиться осознанно жертвовать чемто.
может оно так и хорошо в FF...
..может показаться...
...но ведь -- по сути -- каждый сайт (вкладка с сайтом) -- это отдельная программа(?). разве по смыслу -- это не так(?)
мы же не жалуемся что --
"почему при открытии Gajim и emerge -- открывается ДВЕ копии процесса python? для уменьшения потребления ОЗУ -- моглибы и открывать в двух нитях ОДНОГО процесса!"
...так как ясно что разные программы нада "отделить"
| |
|
3.22, Michael Shigorin (ok), 00:02, 10/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
>мы же не жалуемся что --
Уважаемый, почитайте про mmap(2) и cow (copy-on-write), а потом -- лучше через год-два -- Ваши слова на эту тему не будут вызывать смех, пропорциональный квадрату их количества.
Ну чесслово, не надо.
| |
|
4.24, минона (?), 00:41, 10/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
ну не надо так строго то.
сегодня он что-то (надеюсь) для себя открыл. завтра (надеюсь) "мы" будем с ним советоваться.
| |
|
|
|
1.9, Аноним (-), 20:52, 09/04/2010 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
при которой обработка разного web-контента (выполнение JavaScript, парсинг HTML, вывод на экран) производится в изолированных друг от друга процессах
====
по моему это должен решать разработчик а не framework
| |
1.23, nitrogear (?), 00:27, 10/04/2010 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Ух-ты, не думал что болт на движке вебкит. А еще удивлялся как это этому бровсеру удалось справиться со страничками лучше чем опера мини.
| |
1.28, Аноним (-), 02:09, 10/04/2010 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
> а по мере выполнения в WebKit операции, получает специальные уведомления.
Бог ты мой, 15 лет прошло, чтобы эти программасты додумались до удобной модели "переиспользования"! Пипец, прогресс... Не удивительно, что до сих пор нет внятного браузера - то дырявые, то медленные, то неуклюжие... что ж за позорники их писали всё это время?
| |
|
2.32, Аноним (-), 12:02, 10/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
Возможно, над каждым стояли менеджер с маркетологом и вопили наперебой - "Релиз давай! Реклама оплачена! Срок настает! Пофигу качество!"
| |
2.40, Ян Злобин (ok), 17:19, 10/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
>15 лет прошло, чтобы эти программасты додумались до удобной модели "переиспользования"!
Насколько я понимаю, речь идет, всего лишь, об асинхронном режиме работы отдельных компонентов.
| |
|
1.35, anon1 (?), 15:38, 10/04/2010 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>Unfortunately, the open-source WebKit2 is not yet supported on Linux. Apple has just provided support for Windows and Mac OS X
То есть выпустить тулкит только для макоси и винды(!), но при этом пропустить линукс... так можно было сделать только специально.
| |
|
2.38, минона (?), 16:17, 10/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
apple никогда этого и не делала.
что тут удивительного то?
зы:
основной мотив - сделать как в хроме или лучше.
вот и фф туда же движется.
| |
|
|