Lably
Skip to content

Dynamic loading

Mechanism by which a computer program can load a library (or other binary) into memory

  • 13 min read
  • 5 chapters

Related on Lably

Through Computer program, Execution (computing) and Library (computing)

History

Dynamic loading was a common technique for IBM's operating systems for System/360 such as OS/360, particularly for I/O subroutines, and for COBOL and PL/I runtime libraries, and continues to be used in IBM's operating systems for z/Architecture, such as z/OS. As far as the application programmer is concerned, the loading is largely transparent, since it is mostly handled by the operating system (or its I/O subsystem). The main advantages are:

  • Fixes (patches) to the subsystems fixed all programs at once, without the need to relink them
  • Libraries could be protected from unauthorized modification

IBM's strategic transaction processing system, CICS (1970s onwards) uses dynamic loading extensively both for its kernel and for normal application program loading. Corrections to application programs could be made offline and new copies of changed programs loaded dynamically without needing to restart CICS (which can, and frequently does, run 24/7).

Shared libraries were added to Unix in the 1980s, but initially without the ability to let a program load additional libraries after startup.

Sign in to keep reading

4 more chapters are free with a Lably account.

More in Computing and communication