<P> Installed components of a Linux system include the following: </P> <Ul> <Li> A bootloader, for example GNU GRUB, LILO, SYSLINUX, or Gummiboot . This is a program that loads the Linux kernel into the computer's main memory, by being executed by the computer when it is turned on and after the firmware initialization is performed . </Li> <Li> An init program, such as the traditional sysvinit and the newer systemd, OpenRC and Upstart . This is the first process launched by the Linux kernel, and is at the root of the process tree: in other terms, all processes are launched through init . It starts processes such as system services and login prompts (whether graphical or in terminal mode). </Li> <Li> Software libraries, which contain code that can be used by running processes . On Linux systems using ELF - format executable files, the dynamic linker that manages use of dynamic libraries is known as ld-linux.so . If the system is set up for the user to compile software themselves, header files will also be included to describe the interface of installed libraries . Besides the most commonly used software library on Linux systems, the GNU C Library (glibc), there are numerous other libraries, such as SDL and Mesa . <Ul> <Li> C standard library is the library needed to run C programs on a computer system, with the GNU C Library being the standard . For embedded systems, alternatives such as the EGLIBC (a glibc fork once used by Debian) and uClibc (which was designed for uClinux) have been developed, although both are no longer maintained . Android uses its own C library, Bionic . </Li> </Ul> </Li> <Li> Basic Unix commands, with GNU coreutils being the standard implementation . Alternatives exist for embedded systems, such as the copyleft BusyBox, and the BSD - licensed Toybox . </Li> <Li> Widget toolkits are the libraries used to build graphical user interfaces (GUIs) for software applications . Numerous widget toolkits are available, including GTK+ and Clutter developed by the GNOME project, Qt developed by the Qt Project and led by Digia, and Enlightenment Foundation Libraries (EFL) developed primarily by the Enlightenment team . </Li> <Li> A package management system, such as dpkg and RPM . Alternatively packages can be compiled from binary or source tarballs . </Li> <Li> User interface programs such as command shells or windowing environments . </Li> </Ul> <Li> A bootloader, for example GNU GRUB, LILO, SYSLINUX, or Gummiboot . This is a program that loads the Linux kernel into the computer's main memory, by being executed by the computer when it is turned on and after the firmware initialization is performed . </Li> <Li> An init program, such as the traditional sysvinit and the newer systemd, OpenRC and Upstart . This is the first process launched by the Linux kernel, and is at the root of the process tree: in other terms, all processes are launched through init . It starts processes such as system services and login prompts (whether graphical or in terminal mode). </Li>

Explain the history design and philosophy of linux