In MicrosoftWindows the GUI, with all of its layers, is built right into the OperatingSystem. (For better or for worse!) Conversely, the Linux kernel has no provisions for GUIs of its own accord - it is provided by ordinary applications, commonly the XFree86 implementation of the X11 standard. This in turn is only a bare skelleton for GUIs, which a large variety of DesktopEnvironments are built on top of. The most common ones are GNOME or KDE but there are more, such as XFce. Purists1? use X11 only to run multiple copies of xterm(1).