Z:gnu-www-ja-stallman-kth--5f7a76-Now, for the kernel I am plann/en

Now, for the kernel I am planning to use a system called TRIX (it doesn't stand for anything that I know of) which was developed as a research project at MIT. This system is based on Remote Procedure Call. Thus programs are called domains. Each domain is a address space and various capabilities, and a capability is none other than the ability to call a domain. Any domain can create &ldquo;capability ports&rdquo; to call it, and then it can pass these ports to other domains, and there is no difference between calling the system and calling another user domain. In fact you can't tell which you have. Thus it is very easy to have devices implemented by other user programs. A file system could be implemented by a user program, transparently. It's also transparent to communicate across networks. You think that you're directly calling another domain, but really you're calling the network server domain. It takes the information that you gave in the call, and passes this over the network to another server program which then calls the domain that you're trying to talk to. But you and that other domain see this as happening invisibly.