Re: Object system in Linux kernel?

From: John W. M. Stevens (john@betelgeuse.us)
Date: Mon Feb 10 2003 - 22:06:25 EST


On Mon, Feb 10, 2003 at 09:28:16PM -0500, Mark G wrote:
> I saw your post to linux-kernel about wanting setjmp/longjmp for adding an
> OO infrastructure.

Having already developed the infrastructure, we had some "bits and
pieces" that we (me and my team) thought that the Linux development
team might find useful, including:

1) setjmp/longjmp
2) Atomic pointer swap with locking.
3) Atomic integer increment.
3) Atomic integer decrement.

for the PA-RISC, Itanium2 and IA32 architechtures.

I was not actually offering our OO Infrastructure to the Linux
development team, for what are probably obvious reasons by now.

But I thought that they might be interested in the above list of
funtions.

I offered, the offer was rejected, and I consider the discussion closed.

> I have actually developed several OO "cores" -- is this
> something you wrote?

Myself, interacting with several team members who used this
infrastructure to write a USB bus driver, and some class
drivers.

> If you ever want to talk about designs, let me know...

I am interested in what solutions you've developed for solving the
interaction of exceptions and resources. We developed three
different solutions, profiled, and chose the best of the three,
but I'm curious as to how other people might have solved this issue.

Our infrastructure supports Hot Patch, Package and Extension
Design patterns, among others. What design patterns, in your
opinion, do you think are "required" for embedded/kernel
development?

Also, what is your take on support for messaging and true
polymorphism? The C++ "nick-naming" thing just doesn't work in
a dynamic system, to say nothing of the much more serious issues
raised by constraining the abstract type system by the concrete type
of an object (shudder!).

Making those two things orthogonal was enough, all by itself, to
reduce the prospective inheritance depth of the driver from 18
to between 3 and 5 levels.

Thanks,
John S.
-
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/



This archive was generated by hypermail 2b29 : Sat Feb 15 2003 - 22:00:31 EST