A second strategy for interfacing with the operating system is through a userfriendly
graphical user interface or GUI. Rather than having users directly enter
commands via a command-line interface, a GUI allows provides a mouse-based
window-and-menu system as an interface. A GUI provides a desktop metaphor
where the mouse is moved to position its pointer on images, or icons, on the
screen (the desktop) that represent programs, files, directories, and system
functions. Depending on the mouse pointer's location, clicking a button on the
mouse can invoke a program, select a file or directory—known as a folder—
or pull down a menu that contains commands.
Graphical user interfaces first appeared due in part to research taking place
in the early 1970s at Xerox PARC research facility. The first GUI appeared on
the Xerox Alto computer in 1973. However, graphical interfaces became more
widespread with the advent of Apple Macintosh computers in the 1980s. The
user interface to the Macintosh operating system (Mac OS) has undergone
various changes over the years, the most significant being the adoption of
the Aqua interface that appeared with Mac OS X. Microsoft's first version
of Windows—version 1.0—was based upon a GUI interface to the MS-DOS
operating system. The various versions of Windows systems proceeding this
initial version have made cosmetic changes to the appearance of the GUI and
several enhancements to its functionality, including the Windows Explorer.
Traditionally, UNIX systems have been dominated by command-line interfaces,
although there are various GUI interfaces available, including the Common
Desktop Environment (CDE) and X-Windows systems that are common on commercial versions of UNIX such as Solaris and IBM's AIX system. However,
there has been significant development in GUI designs from various opensource
projects such as K Desktop Environment (or KDE) and the GNOME desktop
by the GNU project. Both the KDE and GNOME desktops rim on Linux and
various UNIX systems and are available under open-source licenses, which
means their source code is in the public domain.
The choice of whether to use a command-line or GUI interface is mostly
one of personal preference. As a very general rule, many UNIX users prefer
a command-line interface as they often provide powerful shell interfaces.
Alternatively, most Windows users are pleased to use the Windows GUI
environment and almost never use the MS-DOS shell interface. The various
changes undergone by the Macintosh operating systems provides a nice study
in contrast. Historically, Mac OS has not provided a command line interface,
always requiring its users to interface with the operating system using its GUI.
However, with the release of Mac OS X (which is in part implemented using a
UNIX kernel), the operating system now provides both a new Aqua interface
and command-line interface as well.
The user interface can vary from system to system and even from user
to user within a system. It typically is substantially removed from the actual
system structure. The design of a useful and friendly user interface is therefore
not a direct function of the operating system. In this book, we concentrate on
the fundamental problems of providing adequate service to user programs.
From the point of view of the operating system, we do not distinguish between
user programs and system programs.
No comments:
Post a Comment