The User Interface is the software layer which allows the user to interact directly with the operating system. There are two distinct types of user interface: the text-based Command Line Interface (CLI), as used in MS-DOS and Unix, and the icon-based Graphical User Interface (GUI) as used in Windows and the Apple Mac operating systems.
There is some dispute as to whether the interface should be regarded as part of the operating system or not. In recent Microsoft operating systems like Windows XP it is tightly integrated with the operating system, but with earlier versions of Windows, it behaved more like a utility program which sat on top of the operating system.
Even today, Linux GUIs like KDE and Gnome act like add-ons to the operating system rather than fundamental components. You can find a brief guide to Linux GUIs at: http://www.uselinuxathome.com/ENgui.htm
The principal objective of a user interface is to allow the user to interact with the computer. It must provide some kind of input facility (eg: via a keyboard, mouse or joystick) and some kind of output facility, eg: a display or printer.
The user interface allows the user to load and run programs and controls the interaction between programs and the user. It also allows the user to modify system settings, control system functions and request information.
Next: Command Line Interfaces