I may be over tired from a long day at work and from taking an exam, but
I think that alot of the issues with Squeak's plugins and FFI primitives can be solved by exploiting superior Operating system technology. Case in point, Minix. It has the unique distinction of being the only OS in the world that performs exactly as advertised on one of my computers. =P I am running X-windows on it right now, and I didn't have to configure anything! =))))))))))) While the system is still nacant, it is already displaying astounding potential. If you go to the documentation section on minix3.org you will be able to find the system API of the OS. It looks like a subset of the standard UNIX services. Here's a little secret, it is a lie. It is utterly false or, at the very least, grosly misleading. While I havn't had the time to study the internals of Minix 3, I did manage to discover Minix 2's secret by reading its assembler code... The real API provides a tiny handful of services for interprocess communication. These can be wrapped in an almost laughably trivial manner by appropriate plugin code and a few lines of assembler. These services provide functionality that I have never seen on any other OS. They allow you to send informational messages (not just kill, hup and segv) to arbitrary processes. These are much more powerful than FFI calls because they allow you to interface with any other arbitrary program providing any arbitrary service in a readaly understandable and high-performance fassion. I've read books on things like CORBA and the like and could never figure out how they were supposed to work, ie how one would go about using them. In minix, all you need to do is learn three or four functions and you know everything. These functions are so powerful that they allow you to extend the OS itself in any way you can immagine. I have been tinkering with the idea of testing my own OS ideas on top of Minix using precicely these calls. =) -- Don't let your schoolwork get in the way of your learning. ### NEW E-MAIL: [hidden email] ### |
On 5/19/06, Alan Grimes <[hidden email]> wrote:
> The real API provides a tiny handful of services for interprocess > communication. These can be wrapped in an almost laughably trivial > manner by appropriate plugin code and a few lines of assembler. These > services provide functionality that I have never seen on any other OS. Don't start about IPC and well-designed operating systems or I'll start about VMS... But - you're right in concluding that Minix is probably much better architected than the stuff that is currently mainstream. It has been carefully guided to that state by it's father (Andrew Tanenbaum) for probably two decades... > I have been tinkering with the idea of testing my own OS ideas > on top of Minix using precicely these calls. =) > And that's just what Minix is meant to do - support OS research. Still, quite a feat that by now they're running X and stuff... |
Cees De Groot wrote:
> On 5/19/06, Alan Grimes <[hidden email]> wrote: > >> The real API provides a tiny handful of services for interprocess >> communication. These can be wrapped in an almost laughably trivial >> manner by appropriate plugin code and a few lines of assembler. These >> services provide functionality that I have never seen on any other OS. > > > Don't start about IPC and well-designed operating systems or I'll > start about VMS... > > But - you're right in concluding that Minix is probably much better > architected than the stuff that is currently mainstream. It has been > carefully guided to that state by it's father (Andrew Tanenbaum) for > probably two decades... What might be interesting is the fact that in theory, you need not to trust the device driver you downloaded and you still may happily try it own without the fear that it will compromise your system. It is so, because (if Minix3 is well designed or can be simply redesigned that way) the only bad thing that malicious driver might do is not to work. It cannot compromise your system from the security point of view and collect and forward further sensitive information about you. I think that is not possible if the drivers are in kernel space (as it was in case of Minix2 or VMS or Linux or whatver else I know). (my speculation) -- Matej Kosik signature.asc (196 bytes) Download Attachment |
Le Samedi 20 Mai 2006 09:33, Matej Kosik a écrit :
> Maybe advantage of Minix3 over every other operating system I know is, that > all (but one) device drivers are in user space. This has many direct > implications (they can be conveniently devoloped, when some experimental > driver crashes, it does not cause the whole system to crash, faulty > experimental drivers can be automatically restarted, etc.) I think this is also the case of QNX, drivers are in user space. Nicolas |
In reply to this post by Matej Kosik-2
On May 20, 2006, at 3:33 AM, Matej Kosik wrote: > > Maybe advantage of Minix3 over every other operating system I know > is, that all (but one) device drivers are in user space. This has > many direct implications (they can be conveniently devoloped, when > some experimental driver crashes, it does not cause the whole > system to crash, faulty experimental drivers can be automatically > restarted, etc.) > I seem to recall you posting to e-lang... you might be interested in EROS (http://www.eros-os.org/eros.html)... version 2 was slated to have drivers in user space. EROS's successor Coyotos (www.coyotos.org) also looks interesting; I wish I had time to give it more than a glance. Josh |
In reply to this post by Matej Kosik-2
> Maybe advantage of Minix3 over every other operating system I know is, that all (but one)
> device drivers are in user space. This has many direct implications (they can be > conveniently devoloped, when some experimental driver crashes, it does not cause the > whole system to crash, faulty experimental drivers can be automatically restarted, etc.) Sorry, but that is false. =( For all regular "kernel" features that is true. However, for stuff that can access the hardware, such as DMA mechanisms, it is possible to circumvent all possible OS restrictions. It is possible to design hardware that doesn't have that security limitation -- IE all memory accesses from all devices are routed through a virtualization system such as what the CPU itself uses... Even still, Minix is a vast improvment over other designs. -- Don't let your schoolwork get in the way of your learning. ### NEW E-MAIL: [hidden email] ### |
Free forum by Nabble | Edit this page |