Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Apr 1997 15:13:09 +0300
From:      Ruslan Shevchenko <rssh@cki.ipri.kiev.ua>
To:        Michael Smith <msmith@atrad.adelaide.edu.au>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: Dynamic linking libraries [Q]
Message-ID:  <335CAB59.7B13@cki.ipri.kiev.ua>
References:  <199704220923.SAA14982@genesis.atrad.adelaide.edu.au>

next in thread | previous in thread | raw e-mail | index | archive | help
Michael Smith wrote:
> 
> Ruslan Shevchenko stands accused of saying:
> [Charset koi8-r unsupported, filtering to ASCII...]
> > Are anybody thinking about implementation of stuff ?
> > (not .so, simular to win DLL)
> 
> Er, what in particular did you have in mind?
> 

i.e. you want describing of major differences between .dll and .so
models, wich important for me ?
So:

  1. let we have program a.out , that use library libb.so
     when I start new a.out, each time new copy libb.so linking with
a.out during execution of it.
     All static variables in libb.so are unique for each copy of a.out.
     (on this based, for example, strtoken)
     in .dll model, one example of code is shared between multiple
versions of a.out
  2. Usially, a.out bind with libb.so during linkink by ld(1).
     Then, after caling nlist(3) a.out linking with libb.so during
execution of process.
     in .dll model we can call symbols from dll, which unknown on
comilation step.
     (I can write program, that use ODBC manager, then I can use
*binary* code with
      any ODBC driver)
  3. DLL can be loaded to memory and relaeased from memory by system
calls.

Why it is interest:
  1. It is allow to do API-call IPC without network connections.
  2. OS servers, drivers, and so on can be do in this model.
  for example, IMHO it's the best way to do "server of scripting
language",
  my current interests - is the general model of CORBA: the problem is,
  that without it I can't do CORBA object, living in OS, which can fast
  communicate with programs on the same mashine (without RPC on
localhost). 


P.S.
    (I just read discussion about CHORUS ang can agree with James
Mansion:
> 
> After all, a slow system with the API support you need is better than
> a fast system which lacks the interfaces, and also better than a fast
> unreliable system that has the interfaces.



> --
> ]] Mike Smith, Software Engineer        msmith@gsoft.com.au             [[
> ]] Genesis Software                     genesis@gsoft.com.au            [[
> ]] High-speed data acquisition and      (GSM mobile)     0411-222-496   [[
> ]] realtime instrument control.         (ph)          +61-8-8267-3493   [[
> ]] Unix hardware collector.             "Where are your PEZ?" The Tick  [[



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?335CAB59.7B13>