Home

loadunload

Loadunload refers to the process of loading a resource into memory for use by a program and unloading it when it is no longer needed. In computing, this typically applies to software modules such as dynamic libraries, plugins, and device drivers, but it can also apply to kernel modules and other loadable resources. The action is managed by a loader or runtime environment that controls when code and data are brought into or removed from memory.

During loading, the loader resolves dependencies, maps the module into the process or kernel address space,

Advantages of loadunload include reduced memory footprint, shorter startup times, and the ability to extend functionality

Common examples appear in operating systems and programming languages. Linux uses kernel modules that can be

performs
relocation
if
necessary,
and
invokes
an
initialization
entry
point.
Unloading
involves
performing
cleanup,
calling
finalization
routines,
and
freeing
resources.
It
often
requires
that
no
other
code
is
currently
using
the
module’s
symbols
or
that
references
are
properly
tracked,
otherwise
unloading
can
be
unsafe
or
blocked.
at
runtime
without
restarting
the
application.
It
also
enables
on-demand
loading
of
features,
improving
responsiveness
and
modularity.
Risks
include
instability
or
crashes
if
modules
are
unloaded
while
still
in
use,
symbol
conflicts,
version
and
ABI
incompatibilities,
and
potential
security
vulnerabilities
from
loading
untrusted
code.
Effective
management
typically
uses
reference
counting,
mutual
exclusion,
version
checks,
and
careful
lifecycle
control
to
ensure
safe
loading
and
unloading.
inserted
and
removed,
Windows
provides
dynamic
libraries
that
can
be
loaded
and
freed,
and
many
languages
support
dynamic
or
runtime
loading
of
plugins
and
libraries.
Related
concepts
include
dynamic
linking,
hot-swapping,
and
plugin
architectures.