I think you're right on both counts, but I'm sure you'll agree that
just because some undergrad at Berkeley did something a certain way 20
years ago doesn't mean we have to follow it blindly. :-)
IIRC, Plan 9 allocate TCP connections rather like Linux allocates
ptys. When we allocate a pty we don't have to say what program we're
going to connect to; we allocate it and then use it as we like.
Similarly, in Plan 9 you allocate a TCP connection without having to
say who you're going to connect to. The main differences between the
Plan 9 approach and the socket approach are:
1. Plan 9 connections are filesystem entities (like our ptys)
2. Control is done via read/write on a separate control channel,
which is *also* a filesystem entity.
USB could use a similar approach. And since each client would
allocate a new connection entity for its own use -- even if it's going
to connect to a device that someone else is already connected to --
permissions becomes quite simple to manage.
Come to think of it, the mechanism I'm describing could address all
hotpluggable devices....
-- Chip Salzenberg - a.k.a. - <chip@valinux.com> "We have no fuel on board, plus or minus 8 kilograms." -- NEAR tech - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/