previous | start | next

Shared Libraries

  1. All threads use library at same (virtual) address

    If that address is already used by the thread, the library code, must be relocated in that thread's address space.

  2. PIC - library code written as position independent code.

    Each process maintains a table of addresses of shared routines as mapped into the process.

    Position independent call: address of the call is at an offset in the table. The call is indirect through the table.

Windows: dynamic link libraries - .dll

Linux: shared objects - .so

But, versioning problem ...



previous | start | next