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/