System libraries contain common subroutines and functions.With regard to programming, the libraries are stored in common classes for working with graphics, arrays, and other dialogues.

system library concept is applicable both to the individual programs, and for operating systems in general, and this applies to the families and of Windows, and UNIX, or Mac.
definition of "library" first appeared in 1951 in the book by M. Wilkes, D. Wheeler and S. Gill "Drawing programs for electronic calculating machines┬╗
By the principle of action of system libraries are divided into dynamic and static.

Dynamic libraries

dynamic link library - a component that is loaded into memory at the request of a running program.Thus there is no need to copy the code routines in every application - the most common functions are stored in a library.

also loaded into memory t
he library may be used by multiple applications simultaneously, which saves system resources.This was especially true in the early days of computing.

Files dynamic link libraries in OC Windows have the extension .dll (Dynamic Link Library) and stored in the directory system32.Similar components on UNIX like system called shared objects (shared objects) and have the extension .so, in Mac OS - .dlyb.
Maurice Wilkes and colleagues gave the following definition of a library - a short, ready-made program for individual, common (standard) computing operations.
all the benefits of a modular approach to the implementation of the programs could not be obtained.This stems from the phenomenon known as DLL hell, where the program asks at the same time different versions of the same library (DLL).This leads to crashes and reduce the reliability of the operating system.

In modern OS family of Windows, to avoid conflicts, allowed the use of different versions of libraries, which increases reliability, but is contrary to the principle of modularity.

Static libraries

Static libraries also store a code subroutines and functions, but in contrast to the dynamic, they are used when compiling programs.That is entirely proper code included in the program.The application becomes an autonomous, independent dynamic link libraries, but increases in size.

Usually in Windows files such libraries have the extension .lib, in UNIX-like systems - .a.

work with most compiled languages, eg, C, C ++, Pascal, is impossible without the static libraries.