Quantcast
Channel: Hacker News
Viewing all articles
Browse latest Browse all 25817

GRiSP, a Bare Metal Erlang VM for IoT

$
0
0

Real-time embedded operating system

Erlang is a programming language designed for creating scalable, networked software systems. It has built-in support for concurrency, distribution, and fault tolerance. Why not integrate it with hardware devices?

RTEMS is a hard real-time embedded “operating system”. Actually it's not like a conventional operating system, but rather a library which is linked to an application. An image boots directly on the target, often right from hardware reset. Unlike in conventional operating systems, there is usually no memory protection or kernel mode. From the application side, it looks like a single Unix process which is able to run some threads.

There is a choice of drivers and network stacks: a minimal one for very small systems, a traditional BSD Unix-derived system, or a port of the current FreeBSD TCP stack supporting SMP and all kinds of modern architecture.

Speaking of symmetric multiprocessing: even though GRiSP-Base is so minimal, it features support for SMP hardware.

When Erlang is running on RTEMS there is very little latency between something happening on the hardware and a reaction on the Erlang level. There is strict control over what can pre-empt the Erlang VM: only hardware interrupts allowed. In practice, this means Erlang’s soft real-time is not as soft as on normal operating systems.

For the future, we plan to provide hard real-time processes on the Erlang level; GRiSP-Base will be the main test platform for this.


Viewing all articles
Browse latest Browse all 25817

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>