<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On 7 Aug 2014, at 10:11, Ladislav Lenart <<a href="mailto:lenartlad@volny.cz">lenartlad@volny.cz</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br>Both Linux and Erlang manage processes and Erlang is (much?) better at it.<br>Again, I just wanted to know why...<br><br></div></blockquote></div><br><div>No. The point to understand here is that an OS process and an Erlang process is not the same. An OS process is a chunk of memory reserved by the OS for running an application. It has overhead, as it provides communication and switching for playing nice with other OS apps. It is a beast in terms of resources.</div><div><br></div><div>An Erlang process is simply a stack in the Erlang VM. It is lightweight because the Erlang VM does the heavy lifting, while the Erlang process does very little (outside of your own code).</div><div><br></div><div>They are both called processes, and they both act like processes, but that’s where the similarity ends. They are otherwise completely different beasts. For example, the Erlang VM, which has its own processes, will sit in an OS process.</div><div><br></div><div>Lee</div></body></html>