Operating systems commonly use monolithic kernels. In Linux, for example, device drivers are often part of a kernel (specifically Loadable Kernel Modules). When a device is needed, its extension is loaded and 'joined' onto the kernel making the kernel larger. Monolithic kernels can cause trouble when one of these drivers is faulty, such as if a beta driver is downloaded. Because it is part of the kernel the faulty driver can override the mechanisms that deal with faulty programs (see above). This can mean that the kernel, and thus the entire computer, can cease to function. If there are too many devices, the kernel can also run out of memory causing a system crash or making the computer very slow.