Extending Erlang

Ulf Wiger <>
Thu Feb 20 12:06:09 CET 2003

On 20 Feb 2003, Mike Williams wrote:

>I can see cases where linked in drivers are necessary for
>performance reasons. But are there any cases where C
>processes in the VM are necessary? I.e. why not have the
>process outside the VM and separated by the memory
>protection provided by the OS? On systems such as VxWork,
>this would make no difference but hopefully very few people
>are using such strange OS.

An even stranger OS, in some sense, might be OSE Delta. It
actually supports a C programming model which is not too
different from Erlang, basically message-oriented, with
lightweight processes, selective receive etc. (Erlang and
OSE both got inspiration from EriPascal.)

In OSE, the Erlang VM (not yet released) supports native OSE
signals, and a linked-in driver becomes an OSE process
talking to Erlang using OSE signals.

It is possible, I believe, to configure the system so that
there is memory protection between the VM and the "linked-in
driver". In this case, the OSE process/driver would be
pretty much exactly like any other OSE process. The
difference becomes that messages are passed with copy
semantics instead of pointer passing.

Oh, and native OSE signals are about as fast as Erlang

Ulf Wiger, Senior Specialist,
   / / /   Architecture & Design of Carrier-Class Software
  / / /    Strategic Product & System Management
 / / /     Ericsson AB, Connectivity and Control Nodes

More information about the erlang-questions mailing list