Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Shared library
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Memory sharing== {{main|Shared memory}} Library code may be shared in memory by multiple [[Process (computing)|process]]es, and on disk. If virtual memory is used, processes would execute the same physical page of RAM that is mapped into the different address spaces of the processes. This has advantages. For instance, on the [[OpenStep]] system, applications were often only a few hundred kilobytes in size and loaded quickly; most of their code was located in libraries that had already been loaded for other purposes by the operating system.{{Citation needed|date=December 2008}} Programs can accomplish RAM sharing by using [[position-independent code]], as in [[Unix]], which leads to a complex but flexible architecture, or by using common virtual addresses, as in Windows and [[OS/2]]. These systems ensure, by various means, like pre-mapping the address space and reserving slots for each shared library, that code has a high probability of being shared. A third alternative is [[single-level store]] with a [[single address space operating system|single address space]], as used by the [[IBM System/38]] and its successors. This allows position-dependent code, with programs and libraries assigned a permanent address in that address space. In some cases, different versions of shared libraries can cause problems, especially when libraries of different versions have the same file name, and different applications installed on a system each require a specific version. Such a scenario is known as [[DLL hell]], named after the Windows and OS/2 [[DLL file]]. Most modern operating systems after 2001 have clean-up methods to eliminate such situations or use application-specific "private" libraries.<ref name="endofdllhell">{{cite web | url=http://msdn.microsoft.com/library/techart/dlldanger1.htm | title=The End of DLL Hell | date=2000-01-11 | last=Anderson | first=Rick | publisher=microsoft.com | archive-url=https://web.archive.org/web/20010605023737/http://msdn.microsoft.com/library/techart/dlldanger1.htm | archive-date=2001-06-05 | access-date=2012-01-15 | quote=Private DLLs are DLLs that are installed with a specific application and used only by that application. }}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)