Misplaced Pages

SO

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

A shared library or shared object is a computer file that contains executable code designed to be used by multiple computer programs or other libraries at runtime .

#907092

31-465: (Redirected from So ) [REDACTED] Look up so  or SO in Wiktionary, the free dictionary. SO or so may refer to: Arts and entertainment [ edit ] Music [ edit ] So (album) , an album by Peter Gabriel So (band) , a duo from the 1980s formed by two members of The Opposition "So" (Static-X song) ,

62-562: A Bantu language Sô language , a Katuic language (Mon-Khmer) of Laos and Thailand Swo language , a Bantu language of Cameroon Soo language , a Kuliak language of Uganda Somali language (ISO 639 language code "so") So (kana) , a Japanese kana So (word) , an English word Places [ edit ] So, Iran , a village in Isfahan Province, Iran Canton of Solothurn , Switzerland So Phisai District , Bueng Kan Province, Thailand SO postcode area , UK,

93-435: A business from a customer Sao civilisation or So, an African civilisation and population that flourished from ca. the 6th century to ca. 15th century Shell on, a form of presentation in shrimp marketing Strikeout , in baseball See also [ edit ] Esso , an Exxon trade name, phonetic version of SO So and so (disambiguation) Só (disambiguation) S0 (disambiguation) Topics referred to by

124-461: A filename extension for a shared object (a dynamic library or module) in Unix and Linux Shift Out , an ASCII control character in computing Small-outline integrated circuit StackOverflow , a programming Q&A site Mathematics [ edit ] SO (complexity) , second-order logic in descriptive complexity Special orthogonal group, a subset of an orthogonal group SO(2) ,

155-412: A likely load address for each shared library on the system before it is needed and store that information in the libraries and executables. If every shared library that is loaded has undergone this process, then each will load at its predetermined address, which speeds up the process of dynamic linking. This optimization is known as prebinding or prelinking on macOS and Linux, respectively. IBM z/VM uses

186-426: A partner in an intimate relationship Businesses [ edit ] Austrian Air Services (former IATA airline designator SO) Sosoliso Airlines (former IATA airline designator SO) Southern Airways (former IATA airline designator SO) Southern Company (stock symbol SO) Superior Aviation (IATA airline designator SO) Language [ edit ] So language (Democratic Republic of Congo) ,

217-438: A program can alternatively be monolithic—built to include the executable code of the library in its executable file, but the library code embedded in the program's executable file is not usable by other programs. Shared libraries can be statically linked at compile-time, meaning that references to the library are resolved and the library is allocated memory when the executable file is created. But often linking of shared libraries

248-571: A shared library that an executable depends on is deleted, moved, or renamed, or if an incompatible version of the library is copied to a place that is earlier in the search, the executable would fail to load. This is called dependency hell , existing on many platforms. The (infamous) Windows variant is commonly known as DLL hell . This problem cannot occur if each version of each library is uniquely identified and each program references libraries only by their full unique identifiers. The "DLL hell" problems with earlier Windows versions arose from using only

279-409: A similar technique, called "Discontinuous Saved Segments" (DCSS). Disadvantages of this technique include the time required to precompute these addresses every time the shared libraries change, the inability to use address space layout randomization , and the requirement of sufficient virtual address space for use (a problem that will be alleviated by the adoption of 64-bit architectures, at least for

310-504: A song by Static-X " Sō (New Love New World) ", a song by Masaharu Fukuyama "So", a song by War from Why Can't We Be Friends? "So", a song by Fates Warning from Disconnected S.O. (rapper) Other [ edit ] "SO" ( Sons of Anarchy ) , the third season premiere of the FX television series Sons of Anarchy So Television , a British TV production company Relationships [ edit ] Significant other ,

341-509: A subset of dynamic linking, involves a dynamically linked library loading and unloading at runtime on request. Such a request may be made implicitly or explicitly. Implicit requests are made when a compiler or static linker adds library references that include file paths or simply file names. Explicit requests are made when applications make direct calls to an operating system's API. Most operating systems that support dynamically linked libraries also support dynamically loading such libraries via

SECTION 10

#1732772300908

372-475: A term used in mathematics, the group of rotations about a fixed point in the Euclidean plane SO(3) , a term used in mathematics, the group of rotations about a fixed point in three-dimensional Euclidean space SO(4) , a term used in mathematics, the group of rotations about a fixed point in four-dimensional Euclidean space SO(5) , a term used in mathematics, the special orthogonal group of degree 5 over

403-478: A time cost when first starting the system. Most Unix-like systems have a "search path" specifying file-system directories in which to look for dynamic libraries. Some systems specify the default path in a configuration file , others hard-code it into the dynamic loader. Some executable file formats can specify additional directories in which to search for libraries for a particular program. This can usually be overridden with an environment variable , although it

434-407: Is being loaded ( load time ) or executed ( runtime ), rather than when the executable file is created. A dynamically linked library ( dynamic-link library , or DLL, under Windows and OS/2 ; shareable image under OpenVMS ; dynamic shared object, or DSO, under Unix-like systems) is a library intended for dynamic linking. Only a minimal amount of work is done by the linker when the executable file

465-410: Is created; it only records what library routines the program needs and the index names or numbers of the routines in the library. The majority of the work of linking is done at the time the application is loaded (load time) or during execution (runtime). Usually, the necessary linking program, called a dynamic linker or linking loader , is actually part of the underlying operating system . (However, it

496-516: Is different from Wikidata All article disambiguation pages All disambiguation pages so">so The requested page title contains unsupported characters : ">". Return to Main Page . Shared library When running a program that is configured to use a shared library, the operating system loads the shared library from a file (other than the program's executable file) into memory at load time or runtime . For perspective,

527-457: Is disabled for setuid and setgid programs, so that a user can't force such a program to run arbitrary code with root permissions. Developers of libraries are encouraged to place their dynamic libraries in places in the default search path. On the downside, this can make installation of new libraries problematic, and these "known" locations quickly become home to an increasing number of library files, making management more complex. Dynamic loading,

558-565: Is possible, and not exceedingly difficult, to write a program that uses dynamic linking and includes its own dynamic linker, even for an operating system that itself provides no support for dynamic linking.) Programmers originally developed dynamic linking in the Multics operating system, starting in 1964, and the MTS ( Michigan Terminal System ), built in the late 1960s. Since shared libraries on most systems do not change often, systems can compute

589-574: Is postponed until they are loaded. Most modern operating systems use the same format for both shared libraries and executable files. This offers two main advantages: first, it requires only one loader (building and maintaining a single loader is considered well worth any added complexity). Secondly, it allows an executable file to be used as a shared library (if it has a symbol table ). Examples of file formats use for both shared libraries and executable files include ELF , Mach-O , and PE . In some older environments such as 16-bit Windows or MPE for

620-460: The HP 3000 , only stack-based data (local) was allowed in shared library code, or other significant restrictions were placed on shared library code. Library code may be shared in memory by multiple processes , 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

651-644: 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. 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

SECTION 20

#1732772300908

682-518: The registry to determine the proper place to load DLLs that implement COM objects , but for other DLLs it will check the directories in a defined order. First, Windows checks the directory where it loaded the program ( private DLL ); any directories set by calling the SetDllDirectory() function; the System32, System, and Windows directories; then the current working directory; and finally

713-523: The Southampton postcode area Somalia (ISO 3166-1 alpha-2 country code SO) South Otago , part of New Zealand's South Island Southern State Parkway , a highway in New York, United States Science, technology, and mathematics [ edit ] Biology [ edit ] Syndromic obesity Computing [ edit ] .so , the top-level Internet domain of Somalia .so ,

744-528: 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 , as used by the IBM System/38 and its successors. This allows position-dependent code, but places no significant restrictions on where code can be placed or how it can be shared. In some cases, different versions of shared libraries can cause problems, especially when libraries of different versions have

775-598: The directories specified by the PATH environment variable . Applications written for the .NET Framework (since 2002), also check the Global Assembly Cache as the primary store of shared dll files to remove the issue of DLL hell . OpenStep used a more flexible system, collecting a list of libraries from a number of known locations (similar to the PATH concept) when the system first starts. Moving libraries around causes no problems at all, although users incur

806-418: The field R of real numbers SO(8) , a term used in mathematics, the special orthogonal group acting on eight-dimensional Euclidean space s o ( n ) {\displaystyle {\mathfrak {so}}(n)} , the corresponding special orthogonal Lie algebra Physics and chemistry [ edit ] Sulfur monoxide SO(10) (physics) , a term used in particle physics, one of

837-526: The grand unified theories is based on the SO(10) Lie group Names [ edit ] Sō , a Japanese surname and given name Su (surname) ( 苏 / 蘇 ), a Chinese surname and a Korean surname ( 소 ) derived from it So (Korean name) (蘇 or 邵) Other uses [ edit ] So (סוֹא), King of Egypt, usually identified with Osorkon IV So (dairy product) , a type of dairy product made in ancient Japan Sales order , an order received by

868-413: The names of libraries, which were not guaranteed to be unique, to resolve dynamic links in programs. (To avoid "DLL hell", later versions of Windows rely largely on options for programs to install private DLLs—essentially a partial retreat from the use of shared libraries—along with mechanisms to prevent replacement of shared system DLLs with earlier versions of them.) Microsoft Windows checks

899-401: 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. Dynamic linking or late binding is linking performed while a program

930-533: The same term [REDACTED] This disambiguation page lists articles associated with the title SO . If an internal link led you here, you may wish to change the link to point directly to the intended article. Retrieved from " https://en.wikipedia.org/w/index.php?title=SO&oldid=1255064981 " Categories : Disambiguation pages Place name disambiguation pages Hidden categories: Articles containing Chinese-language text Articles containing Korean-language text Short description

961-440: The time being). Loaders for shared libraries vary widely in functionality. Some depend on the executable storing explicit paths to the libraries. Any change to the library naming or layout of the file system will cause these systems to fail. More commonly, only the name of the library (and not the path) is stored in the executable, with the operating system supplying a method to find the library on disk, based on some algorithm. If

SO - Misplaced Pages Continue

#907092