A collection of pre-written code, classes and procedures that have been tested
- It's saves more time as you don't have to constantly write everythin from scratch
- They're reliable as they've already been tested so are unlikely to have any errors
- Pre-compiled, so they're can run quicker & reduce execution time
- Making changes to libraries can be very hard to implement or even impossible
- You don't know how efficient the library routine is
- You don't know how long developers will continue to maintain the library
It combines different code files & libraries into a single executable program
Copies all the code from libraries that the program uses into the final machine code. This results in a larger file size
Where programs use shared libraries, these libraries are only in the machine code whilst the program is running. This reduces the size of the executable file
A part of the OS that loads executable programs into memory ready to be run
It can cause issues if a library has been removed or is incompatible