From 53e58a99885ddcf08fa5a352a917a9e6100e093a Mon Sep 17 00:00:00 2001 From: cnnrznn Date: Wed, 16 Nov 2016 13:58:53 -0500 Subject: Update dist-langs.md --- chapter/4/dist-langs.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/chapter/4/dist-langs.md b/chapter/4/dist-langs.md index 9f3a91a..8745be9 100644 --- a/chapter/4/dist-langs.md +++ b/chapter/4/dist-langs.md @@ -39,6 +39,8 @@ However, there are ways of making C behave in a similar fashion with minimal dow Shuffler [citation] is a system for continuous randomization of code. Using techniques discussed in the paper, one could dynamically replace sections of a binary. Another, slightly hack-ish workaround would be to receive the upgrade, serialize the current state, and finally run the new binary based on the serialized state. +A third way of circumventing this problem would be to encapsulate any code in a shared library, and have logic in the program to unmap the old code, replace the library, and remap. +This approach is analogous to Erlang's approach. Other than dynamic code swapping and poor error detection, Erlang does not offer anything that is not offered by a traditional OS. Isolation, concurrency, and message passing can all be accomplished with unix-style system calls. -- cgit v1.2.3