Re: Some very thought-provoking ideas about OS architecture.

Alan Cox (alan@lxorguk.ukuu.org.uk)
Mon, 21 Jun 1999 19:16:05 +0100 (BST)


> read(fd,buf,sz)
> and
> fd->CALL(OP_READ,buf,sz)
>
> 1. By changing the order of demultiplexing, it offers the option of remoting at
> a later time.

You can happily consider the unix syscall to be fd->read(buf, size) if you
prefer, or fd->call(OP_READ, buf, siz). Its entirely semantics however you
write it. it doesn't matter if its compiled into push and lcall (or int 0x80 in
our case) or into a function call that does the int 0x80. The only time it
becomes interesting is when you have hardware doors between nodes. And then
read is just a libc wrapper anyway so you won't have to hit local kernel space

You are arguing ultimately about

struct foo *x
x->op_read(buf, size)
v
foo[fd]->op_read(buf, size)

and if you look at Mosix that becomes extremely obvious for almost every unix
API.

Alan

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/