gil writes:
> 
> > gil wrote:
> > > How can a modular operating system be written so that a user can write
> and
> > > install system functions (from core, tertiary, whatever), in a manner
> that
> > > any software including the kernel may call it.
> >
> > Dynamic linking. Basically, memory can be allocated for text/data where
> > module files are loaded from disk and then they export their symbol table.
> > Any modern Unix does this. Windows does this.
> 
>     I've gotten that far.. I did not want to raise the ugly head of the
> "dll" file since I
> probally would have gotten flames out of my ears over the "non-elks" nature
> of the
> subject. So rather then get pointed at a windows message base I posted in
> a naive manner.
> 
>     I contend that such a mechanism would be beneficial enough to add the
> capability to the kernel so that the system will not always have to be
> recompiled
> and it will lend a powerful and managable edge to the entire system.
> 
>     That said, a possible example would be in library of graphics
> primitives. The
> standard library could be interrupt driven and basically portable among
> 8086s.
> If the user decided to rewrite these procedures it could be done simply
> since the
> functions would all be documented (grin), and each routines parameters would
> be
> known. It would then be simple matter to install a new library
> assembly-based
> library and thus any program that used the old functions would be mapped on
> to
> the faster, more efficient user defined system.
> 
> Other uses would include networking abstraction, so the application
> programmer
> doesn't have to worry about the type of network that is being used.
> 
>     Finally the important part, my questions.
>         How can such a system be written?
>         Do I have to make additions to the compiler so it will generate
> dynamically
>             linkable files? If not how do I get a application to compile
> without static
>             linking occuring?
>     How is it possible to actually due the linking? Is it done with a look
> up table?
>     How can I get the file's symbol table, and relate it to the application
> calls?
> 
> Again I thank you, for your reply.. If anyone is brave enough. (woooo)
> 
> Thanks also go out to Alistair Riddoch for all his work and Luke(boo) Farrar
> for
> his work on the networking code (which I cannot wait to see)
> 

I have been working on a mechanism for dynamic linking over the last couple
of releases, and I even got a very simple test case working, beofre I rethought the 
design and came up with a better way. Seeing as there is interest I
will try and commit my ideas to paper in a clear way so others can
understand them before I make the next release, which should support it by
then.

The scheme does not involve modifying the compiler as such, but it does
require a post link change to the binary, and a more complex binary loading
process.

Al

Reply via email to