A shared library is a file which is shared between executables.
Some programs may contain identical parts. In the case of a static library, these parts have their own copy in each executable and program size is immense. This means it uses more memory and more disk space. In the case of a shared library, these parts are in a central file, all those unnecessary copies are eliminated and only one is kept. This approach uses less disk space and less memory. This is a bit similar to system calls located only in the kernel file, but used by all other executables. Shared libraries, as all libraries, can contain functions, structures, configuration data and values.