<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: В WebKit2 планируют кардинально увеличить надежность и избав...</title>
    <link>https://mobile.opennet.me/openforum/vsluhforumID3/65729.html</link>
    <description>В списке рассылки разработчиков браузерного движка WebKit&lt;br&gt;представлен (https://lists.webkit.org/pipermail/webkit-dev/2010-April/012235.html) проект WebKit2 (http://trac.webkit.org/wiki/WebKit2), в рамках которого планируется перейти на  многопроцессную модель работы, при которой обработка разного web-контента (выполнение JavaScript, парсинг HTML, вывод на экран) производится в изолированных друг от друга процессах. Технология изоляции в WebKit2 очень близка по своей сути к методам, реализованным в браузере Google Chrome и отличается главным образом лишь тем, что модель разделения обработки по разным процессам будет встроена непосредственно во фреймворк, давая возможность использовать данную технологию во всех построенных на базе WebKit браузерах. &lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;lt;img src=&quot;http://www.opennet.ru/opennews/pics_base/26159_1270822038.jpg&quot; align=right style=&quot;border-style: solid; border-color: #e9ead6; border-width: 5px;&quot; title=&quot;структура WebKit2&quot; border=0&amp;gt;В браузерах на базе WebKit2 часть движка, отве...&lt;br&gt;&lt;br&gt;URL: https://lists.</description>

<item>
    <title>В WebKit2 планируют кардинально увеличить надежность и избав... (минона)</title>
    <link>https://mobile.opennet.me/openforum/vsluhforumID3/65729.html#55</link>
    <pubDate>Thu, 15 Apr 2010 19:55:32 GMT</pubDate>
    <description>ну а я &quot;перечислил&quot; как это легко, непринужденно и эстетично решается (при помощи 1-го системного вызова) в линухе. :D&lt;br&gt;&lt;br&gt;зы:&lt;br&gt;&amp;gt;что каждая нить в userlevel имеет back-end нить ядра.&lt;br&gt;&lt;br&gt;вот-вот.&lt;br&gt;накладные расходы неизбежны.&lt;br&gt;</description>
</item>

<item>
    <title>В WebKit2 планируют кардинально увеличить надежность и избав... (Ariel)</title>
    <link>https://mobile.opennet.me/openforum/vsluhforumID3/65729.html#54</link>
    <pubDate>Thu, 15 Apr 2010 10:50:54 GMT</pubDate>
    <description>я лишь написал о том, что процессы и потоки реализованы на уровне Mach именно отдельно, как функции, манипулирующие соответствующими структурами, а всё, что выше - есть врапперы: posix threads, NSThread, fork(), etc. Кроме того, мне написали разработчики, что каждая нить в userlevel имеет back-end нить ядра. Иными словами: если вы в Mac создаёте нить, скажем, с помощью класса NSThread или pthread, то микроядро Mach запускает mach thread. &lt;br&gt;&lt;br&gt;Если ядро BSD работает поверх микроядра Mach, это значит, что системные вызовы BSD написаны с использование системных вызовов Mach. Конечно, можно было реализовать многопоточность на уровне BSD или userlevel, это было бы хорошо для быстрого создания процессов / потоков, но было бы неэффективно управлять ими (вы сами об этом написали выше). &lt;br&gt;&lt;br&gt;Я просто перечислил то, чем занимается Mach. &lt;br&gt;</description>
</item>

<item>
    <title>В WebKit2 планируют кардинально увеличить надежность и избав... (минона)</title>
    <link>https://mobile.opennet.me/openforum/vsluhforumID3/65729.html#53</link>
    <pubDate>Mon, 12 Apr 2010 21:26:34 GMT</pubDate>
    <description>всё это понятно, но я ещё раз пытаюсь сказать, что мы говорим о разных вещах.&lt;br&gt;есть куча библиотек реализующих многопоточность. в том числе и на smp, и распределённых на кластер, и т.д.&lt;br&gt;но всё это уровнем выше. и с разной степенью качества и функциональности.&lt;br&gt;примеры ну ОЧЕНЬ крутых библиотек - openmp, tbb от intel.&lt;br&gt;&lt;br&gt;я же говорю о базовых вещах. системных вызовах, которые только создают базу для подобных вычислений. и fork/vfork/clone - это НЕ элементы таких библиотек. это системные вызовы (функции ядра. работающие в кольце 0), которые вы можете использовать сами или через посредника, такие как выше (если они умеют всем этим пользоваться в полном объёме).&lt;br&gt;&lt;br&gt;зы:&lt;br&gt;ну а перечисленные вами ipc/rpc/(что_там_ещё?) - вообще совсем не в кассу.&lt;br&gt;</description>
</item>

<item>
    <title>В WebKit2 планируют кардинально увеличить надежность и избав... (Ariel)</title>
    <link>https://mobile.opennet.me/openforum/vsluhforumID3/65729.html#52</link>
    <pubDate>Mon, 12 Apr 2010 18:43:42 GMT</pubDate>
    <description>http://developer.apple.com/mac/library/documentation/Darwin/Conceptual/KernelProgramming/scheduler/scheduler.html#//apple_ref/doc/uid/TP30000905-CH211-BEHJDFCA&lt;br&gt;</description>
</item>

<item>
    <title>В WebKit2 планируют кардинально увеличить надежность и избав... (Ariel)</title>
    <link>https://mobile.opennet.me/openforum/vsluhforumID3/65729.html#51</link>
    <pubDate>Mon, 12 Apr 2010 18:13:59 GMT</pubDate>
    <description>забыл сказать, что на Mac принято использовать fork() только вместе с exec(), и лучше заменять эту пару на posix_spawn(). &lt;br&gt;</description>
</item>

<item>
    <title>В WebKit2 планируют кардинально увеличить надежность и избав... (Ariel)</title>
    <link>https://mobile.opennet.me/openforum/vsluhforumID3/65729.html#50</link>
    <pubDate>Mon, 12 Apr 2010 18:09:50 GMT</pubDate>
    <description>от mach там много чего, в том числе и потоки - mach thread и оно не куцое, а изменённое и расширенное: &lt;br&gt;&lt;br&gt;- untyped interprocess communication (IPC)&lt;br&gt;- remote procedure calls (RPC)&lt;br&gt;- scheduler support for symmetric multiprocessing (SMP)&lt;br&gt;- support for real-time services&lt;br&gt;- virtual memory support&lt;br&gt;- support for pagers&lt;br&gt;- modular architecture &lt;br&gt;&lt;br&gt;процессы называются tasks, потоки - threads, и именно mach их реализует, всё остальное - есть врапперы. &lt;br&gt;</description>
</item>

<item>
    <title>В WebKit2 планируют кардинально увеличить надежность и избав... (минона)</title>
    <link>https://mobile.opennet.me/openforum/vsluhforumID3/65729.html#49</link>
    <pubDate>Mon, 12 Apr 2010 14:39:26 GMT</pubDate>
    <description>зы:&lt;br&gt;просто с clone и облегчёнными процессами (а это уже стандарт в терминологии *никс. и ввели изначально в солярке кстати) и объяснять проще, да и грамотней.&lt;br&gt;согласитесь, если мак не сможет использовать такой мощный инструмент, как cow/mmap/etc (которые основаны на страничном управлении памятью), то это будет как-то глупо.&lt;br&gt;собственно они уже натянули поверх своих новых механизмов (согласно той же доке из того же урл) лайер к посикс потоками. так что старые проги достаточно просто перекомпилить.&lt;br&gt;ззы:&lt;br&gt;и не путайте создание процесса (execv) и его клонирование (fork/clone). первый действительно более дорогостоящий, хоть и использует тот же форк.&lt;br&gt;</description>
</item>

<item>
    <title>В WebKit2 планируют кардинально увеличить надежность и избав... (минона)</title>
    <link>https://mobile.opennet.me/openforum/vsluhforumID3/65729.html#48</link>
    <pubDate>Mon, 12 Apr 2010 14:27:25 GMT</pubDate>
    <description>да при чём тут clone? (к слову, от mach&apos;а там мягко говоря мало что осталось. собственно кроме message что? гугл как говорится в помощь) &lt;br&gt;понятия - это только понятия и не более.&lt;br&gt;в конце концов именно процессор (аппаратная архитектура) определяет возможности, а не наоборот. а возможности его сейчас таковы, что грань между процессами и потоками размылась очень сильно. и новость тому подтверждение. да и где этот гипердтэйдинг? всё больше мультикоре. а ведь там (на мультиядрах) также есть траблы именно с потоками (в классическом смысле). и если в маке облегчённые процессы назовут потоками - то так тому и быть.&lt;br&gt;</description>
</item>

<item>
    <title>В WebKit2 планируют кардинально увеличить надежность и избав... (Ariel)</title>
    <link>https://mobile.opennet.me/openforum/vsluhforumID3/65729.html#47</link>
    <pubDate>Mon, 12 Apr 2010 13:40:16 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;и т.д.). параллельно с этим что облегченный процесс, что вообще процесс &lt;br&gt;&amp;gt;создаются одним системным вызовом clone, а параметры этого вызова ещё и &lt;br&gt;&amp;gt;варьируются. &lt;br&gt;&amp;gt;в случае с обычным процессом происходит всё тоже самое, но когда процесс &lt;br&gt;&amp;gt;меняет (только в этот период) какие-либо данные (пишет в память), то &lt;br&gt;&amp;gt;при записи копируется изменённая страница памяти (COW) и никаких  доп. &lt;br&gt;&amp;gt;расходов. это всё вкратце. &lt;br&gt;&amp;gt;библы (такие как posix thread) это знают и уже использует вовсю. &lt;br&gt;&amp;gt;почему эти библы не знают об этом в маке, и почему они &lt;br&gt;&amp;gt;там теперь названы устаревшими - ну догадайтесь.:D &lt;br&gt;&lt;br&gt;clone() есть лишь в Linux, почему вы меряете по ней? Darwin использует микроядро Mach, которое изначально знало о нитях и, насколько я знаю, и умею читать исходники, эти понятия означают там именно то, что означают. &lt;br&gt;Спасибо, что пояснили ситуацию с Linux, я понял вашу мысль, но применимо к Mach это разные понятия. Что ничуть не мешает использовать ленивое копирование процессов и прочие прелести.</description>
</item>

</channel>
</rss>
