Dynamic loading is a mechanism by which a computer program can, at run time, load a library (or other ) into memory, retrieve the addresses of functions and variables contained in the library, execute those functions or access those variables, and unload the library from memory. It is one of the 3 mechanisms by which a computer program can use some other software; the other two are static linking and dynamic linking. Unlike static linking and dynamic linking, dynamic loading allows a computer program to start up in the absence of these libraries, to discover available libraries, and to potentially gain additional functionality. 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. Dynamic loading is most frequently used in implementing software plugins. For example, the Apache Web Server's *.dso "dynamic shared object" plugin files are libraries which are loaded at runtime with dynamic loading.

About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.
Related courses (23)
MSE-424: Fracture of materials
This course covers elementary fracture mechanics and its application to the fracture of engineering materials.
PHYS-100: Advanced physics I (mechanics)
La Physique Générale I (avancée) couvre la mécanique du point et du solide indéformable. Apprendre la mécanique, c'est apprendre à mettre sous forme mathématique un phénomène physique, en modélisant l
MGT-484: Applied probability & stochastic processes
This course focuses on dynamic models of random phenomena, and in particular, the most popular classes of such models: Markov chains and Markov decision processes. We will also study applications in q
Show more
Related lectures (88)
Markov Decision Processes: Foundations of Reinforcement Learning
Covers Markov Decision Processes, their structure, and their role in reinforcement learning.
Rod Cutting and Change-Making Problem
Covers the rod cutting problem and the change-making problem to optimize recursive calls and find the minimum number of coins needed for a given amount of money.
Show more
Related publications (122)

Unsupervised Electrofacies Clustering Based on Parameterization of Petrophysical Properties: A Dynamic Programming Approach

François Fleuret, Karthigan Sinnathamby

Electrofacies using well logs play a vital role in reservoir characterization. Often, they are sorted into clusters according to the self-similarity of input logs and do not capture the known underlying physical process. In this paper, we propose an unsupe ...
SOC PETROPHYSICISTS & WELL LOG ANALYSTS-SPWLA2023

Dynamic Linkers Are the Narrow Waist of Operating Systems

Adrien Ghosn, Charly Nicolas Lucien Castes

While software applications, programming languages, and hardware have changed, operating systems have not. Widely-used commodity operating systems are still modeled after the ones designed in the seventies. The accumulated burden of backward compatibility ...
Association for Computing Machinery2023

Intelligent plantar pressure offloading for the prevention of diabetic foot ulcers and amputations

Yves Perriard, Yoan René Cyrille Civet, Christian Köchli, Sofia Lydia Ntella, Kenny Jeanmonod, Bhawnath Tiwari

The high prevalence of lower extremity ulceration and amputation in people with diabetes is strongly linked to difficulties in achieving and maintaining a reduction of high plantar pressures (PPs) which remains an important risk factor. The effectiveness o ...
2023
Show more
Related concepts (10)
Unix
Unix (ˈjuːnᵻks; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others. Initially intended for use inside the Bell System, AT&T licensed Unix to outside parties in the late 1970s, leading to a variety of both academic and commercial Unix variants from vendors including University of California, Berkeley (BSD), Microsoft (Xenix), Sun Microsystems (SunOS/Solaris), HP/HPE (HP-UX), and IBM (AIX).
Dead-code elimination
In compiler theory, dead-code elimination (DCE, dead-code removal, dead-code stripping, or dead-code strip) is a compiler optimization to remove dead code (code that does not affect the program results). Removing such code has several benefits: it shrinks program size, an important consideration in some contexts, and it allows the running program to avoid executing irrelevant operations, which reduces its running time. It can also enable further optimizations by simplifying program structure.
Static library
In computer science, a static library or statically-linked library is a set of routines, external functions and variables which are resolved in a caller at compile-time and copied into a target application by a compiler, linker, or binder, producing an and a stand-alone executable. This executable and the process of compiling it are both known as a static build of the program. Historically, libraries could only be static.
Show more

Graph Chatbot

Chat with Graph Search

Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.

DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.