[Oberon] Oberon for a C++ user.
chris
chris at gcjd.org
Fri Oct 7 20:46:28 CEST 2016
On Fri, 7 Oct 2016 17:17:22 +0000, Skulski, Wojciech wrote:
> I do agree that code unloading is infrequent and it needs not be time
> critical. At the same time, I insist that code unloading needs be
> robust. It should not lead to system instability. Also note, that the
> user needs not be a developer to unload the code. A regular user can
> unload by accident while interclicking the mouse. Or the user may
> want to unload code after being done with an application, in order to
> make space for another application.
There are no applications in Oberon. To the other points I agree.
> The only practical difference between the Oberon System and other
> OS's is that unloading the Oberon application happens on demand.
The major difference is, that a module is dynamically linked into the
Oberon system like an object file into the Firefox process for example.
Try unloading parts of Firefox that where in different object files
during (static) link time of Firefox while Firefox is running and
replace them with a different version. Good luck!
> The only difference seems to be that we call system instability a bug
> under Windows, and a feature under Oberon. And this is backwards in
> my opinion. We need to make unloading robust and safe, rather than
> trying to convince ourselves that it is an infrequent nuisance that
> does not need to be robust.
I have not seen any evidence yet that a double indirection scheme is
more robust than a garbage collector that operates on direct pointers.
The common garbage collector for the Oberon heap works this way and I
have not heard of any problems related to this.
I think that is an implementation detail, that does not matter until
there is some understanding how module unloading should work in detail.
Greetings, chris
More information about the Oberon
mailing list