Page 250 - DCAP403_Operating System
P. 250
Unit 13: Case Study: Linux
Linux is sometimes suggested as a possible publicly-developed alternative to the desktop Notes
predominance of Microsoft Windows. Although Linux is popular among users already familiar
with Unix, it remains far behind Windows in numbers of users. However, its use in the business
enterprise is growing.
13.1 Design Principles
Linux is a modular Unix-like operating system. It derives much of its basic design from principles
established in Unix during the 1970s and 1980s. Linux uses a monolithic kernel, the Linux kernel,
which handles process control, networking, and peripheral and file system access. Device drivers
are integrated directly with the kernel.
Much of Linux’s higher-level functionality is provided by separate projects which interface with
the kernel. The GNU userland is an important part of most Linux systems, providing the shell
and Unix tools which carry out many basic operating system tasks. Atop these tools graphical
user interfaces can be placed, usually running via the X Window System.
User Interface
Linux is coupled to a text-based Command Line Interface (CLI), though this is usually hidden on
desktop computers by a Graphical User Interface (GUI). On small devices, input may be handled
through controls on the device itself, and direct input to Linux might be hidden entirely.
The X Window System (X) is the predominant graphical subsystem used in Linux. X provides
network transparency, enabling graphical output to be displayed on machines other than that
which a program runs on. X runs locally for desktop machines.
Early GUIs for Linux were based on a stand-alone X window manager such as FVWM,
Enlightenment, or Window Maker, and a suite of diverse applications running under it. The
window manager provides a means to control the placement and appearance of individual
application windows, and interacts with the X window system. Because the X window managers
only manage the placement of windows, their decoration, and some inter-process communication,
the look and feel of individual applications may vary widely, especially if they use different
graphical user interface toolkits.
This model contrasts with that of platforms such as Mac OS, where a single toolkit provides
support for GUI widgets and window decorations, manages window placement, and otherwise
provides a consistent look and feel to the user. For this reason, the use of window managers
by themselves declined with the rise of Linux desktop environments. They combine a window
manager with a suite of standard applications that adhere to human interface guidelines. While a
window manager is analogous to the Aqua user interface for Mac OS X, a desktop environment
is analogous to Aqua with all of the default Mac OS X graphical applications and confi guration
utilities. KDE, which was announced in 1996, along with GNOME and Xfce which were both
announced in 1997, are the most popular desktop environments.
Linux systems usually provide a CLI of some sort through a shell, the traditional way of interacting
with Unix systems. Even on modern desktop machines, some form of CLI is almost always
accessible. Linux distributions specialized for servers may use the CLI as their only interface, and
Linux machines can run without a monitor attached. Such “headless systems” may be controlled
by command line via a protocol such as SSH or telnet.
Most low-level Linux components, including the GNU Userland, use the CLI exclusively. The
CLI is particularly suited for automation of repetitive or delayed tasks, and provides very simple
inter-process communication. Graphical terminal emulator programs can be used to access the
CLI from a Linux desktop.
LOVELY PROFESSIONAL UNIVERSITY 243