Re: VSTa lockups and Shared Libraries....

From: Andrew Valencia <vandys_at_nospam.org>
Date: Thu Aug 19 1993 - 19:48:26 PDT

>Anyway, my keyboard driver has an array of 256 function pointers, and
>calls a function for each keystroke. This sounds slow, but in
>practice, it's pretty fast, and very flexible: my arrow keys, and
>function keys emulate the vt100.

Well, after all, how fast can you type? A couple keys a second at most.
A function call these days is < 1 uSec, so efficiency is not really a
big concern. Mind you, this is the keyboard side--the screen needs to
be kept just as fast as it can! will happily replace my bare-bones
keybd server for one with decent features.

>I should note that the NEC rs232c port is really flaky, so *my* kernel
>debugger plops me onto the *console*. Can't miss it that way!

So did you embed a console driver in the microkernel? How do you drive
the screen? Talk to the keyboard?

>I don't really see the need for 2 different systems. I undertand
>Andys points about what he wants to see, but I don't know if it's
>worth the bother to have 2 different systems, when dll can do just
>fine for both. Anyway, as Andy said, "let them who do the work, decide".

Amen. Although if you do an evil job of it don't be surprised if I want
to help you rework it into shape! I'm pretty concerned about PIC code
generation for i386--having to use PC relative modes and burn a register
seems like a pretty dear price for the "other half" of your kernel.
If somebody could show me that the cost was X%, then we could look at
the price and decide whether it was worth it. Personally I'd pay 5%
to go with a single shlib scheme. 10%... hits my pain threshold.

If I end up doing it, don't be surprised if I break out a portion of the
C library (all internal--every ANSI and POSIX interface would remain in
the C library) and make it callable in a way which doesn't even look like
a library. In fact, you could consider them "system calls" which are invoked
at the cost of a procedure call and remain in ring 3. But that's just if
I do it. Maybe. :-)

>Bitblt:
>Well I have bitblt fairly well skeletonised, and a few sub-systems
>done. I still have a lot to do. Does anyone on the list know a fast
>algorithm for ellipses/arcs? I have a killer algorithm for circles...

I have buffering and contiguous file allocation written for my filesystem.
I need to finish read/write and then I can start on directory access.
Since it does file version, I think I'm going to implement them as a comma
separated number. So you'd create a file like:

% cat > file

and then write over it with

% cat > file

But you could then see the old "file" as:

% cat file,1

Tenex used semicolon, but this has meaning to the shell. Comma doesn't
look as nice. It'll definitely be a #define, in any case.

                                Regards... Andy
Received on Thu Aug 19 19:53:44 1993

This archive was generated by hypermail 2.1.8 : Wed Sep 21 2005 - 19:37:12 PDT