Minix 3: An OS that doesn't suck -- too much.

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Minix 3: An OS that doesn't suck -- too much.

Alan Grimes-2
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] ###

Reply | Threaded
Open this post in threaded view
|

Re: Minix 3: An OS that doesn't suck -- too much.

Cees De Groot
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...

Reply | Threaded
Open this post in threaded view
|

Re: Minix 3: An OS that doesn't suck -- too much.

Matej Kosik-2
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...
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.)

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
Reply | Threaded
Open this post in threaded view
|

Re: Minix 3: An OS that doesn't suck -- too much.

Nicolas Cellier-3
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


Reply | Threaded
Open this post in threaded view
|

Re: Minix 3: An OS that doesn't suck -- too much.

Joshua Gargus-2
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


Reply | Threaded
Open this post in threaded view
|

Re: Minix 3: An OS that doesn't suck -- too much.

Alan Grimes-2
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] ###