As architectural requirements are bloated, you will eventually need something like OSGi. Sadly, OSGi is only for Java, as it naturally grew from the stringent and growing requirements of embedded systems and IDEs alike.
Can there be such a thing for other languages? For .NET, I supposed that building something like OSGi shouldn't be too difficult, but for native code provided by C and C++, things get difficult. Yes, you can make up some microkernel under a hypervisor, but in this case you lose all contact with the host operating system's services. If your architecture has to be able to interact with 3rd-party code made for a proprietary OS, you're out of luck.
The "SafeZone" feature of avast is then very interesting. It essentially loads a normal Windows process, but intercepting all of its operating system calls. This seems overkill for anything but an antivirus, but I wonder why web browser plugins haven't considered running "untrusted" plugins this way. Or maybe Internet Explorer 10 internally does that and I'm not aware of it.
That, or maybe the reason why OSGi runs in Java is because Java is already a virtual machine. In a way, when bloating requirements, you have to pick your battles.
Published on December 23, 2012 at 22:09 EST
Older post: Paying at the Speed of a Modem
Newer post: Back to Minecraft