The Linux distribution, as well as the kernel, can be adjusted to needs. Thanks to the fact that it is a system with GPL there is a possibility to compile a kernel optimized according to specific tasks. For example, for the built-in systems the kernel must be the smallest possible. For the counting systems the kernel is to use the server hardware architecture in the most efficient way. Apart from so specific situations in the administrator's practice the modules supporting specific hardware (e.g. hardware RAID) happen not to be contained in the kernel. In this situation it is necessary to compile the module to the kernel.