[comp.os.minix] alternative ways to construct system task

Leisner.Henr@xerox.com (Marty) (03/09/88)

I'm wondering if it is generally necessary to use the system task in all Minix
systems as a means for the kernel to do work for mm and fs.

As long as either mm or fs (but not both) use the system task (for example --
sys_exec() by mm) I'm thinking of providing a callgate interface on 80286
systems.

Instead of constructing and passing the message, the mm will be able to do a
"magic" call into the kernel through a gate .  Other architectures may have
other ways to do "magic calls".  If absolutely necessary, a message could be
passed as a last resort if the architecture does not provide this (i.e. 8086).

Anyone see any problem with these?  As long as serialization is not at issue
(i.e. since only mm does sys_exec, and the mm is serialized, only one sys_exec
will occur at  a time), this seems to work fine.  

I'm also thinking of using callgates to implement magic calls between mm and fs.

marty
ARPA:	leisner.henr@xerox.com
GV:  leisner.henr
NS:  martin leisner:henr801c:xerox
UUCP:	nsc!nscimg!amps!marty
 

ast@cs.vu.nl (Andy Tanenbaum) (03/10/88)

In article <1421@louie.udel.EDU> Leisner.Henr@xerox.com (Marty) writes:
>As long as either mm or fs (but not both) use the system task (for example --
>sys_exec() by mm) I'm thinking of providing a callgate interface on 80286
>systems.
>
Not unreasonable.

>
>I'm also thinking of using callgates to implement magic calls between mm and fs.

I see this as a conceptual hack. These are user space processes and really
shouldn't be talking to each other directly.  User-kernel interaction is
more logical (cf. the MULTICS ring structure).

Andy Tanenbaum (ast@cs.vu.nl)