1.5 The Big Picture
You can visualize an operating system in many ways. Like many other operating systems, HP-UX can be
viewed
as an "onion-skin" operating system. From a user's perspective, it helps to explain the relationship between the kernel, user programs, and the
user
himself. If we visualize an onion, we think of different
layers
that we can
peel off
until we get to the
core
. The
core
we are thinking of here is the computer hardware. The principle purposes of the kernel are:
-
To control and manage all system resource e.g., CPU, RAM, networking, and so on.
-
To provide and interface to these system resources.
Figure 1-1 shows a common visualization of the
onion-skin
operating system and some of the principle subsystems supplied by the kernel (colored blue).
Figure 1-1. HP-UX as an onion-skin operating system.
The kernel is made of a number of software subsystems. The four principle subsystems responsible for basic system activity are:
This is obviously not all that
constitutes
the kernel. Take disk management for instance. We need to think of subsystems such as LVM and VxVM, but for the moment let's keep things relatively simple and concentrate on the four principal subsystems listed above. Subsystems come in many forms; what we mean by that is we could take a subsystem such as NFS, which could viewed as a software module, while a subsystem such as Fibre Channel is more aligned to be a
device driver
. We deal with these and others aspects of the kernel throughout this book; we look at
threads
and how they are distinguished from
processes
; we discuss the two modes of execution
user
and
kernel
mode. The
gateway
between these modes of execution is by a
thread
issuing a
system call
. To the programmer, a system call is a relatively simple concept: For instance, the
open
()
system call is most commonly used to open a disk file in order for a thread to read and/or write to it. This relatively simple request can result in multiple kernel subsystems being brought into operation; the
filesystem
component starts a sequence of events to actually get the file off the disk, while the
memory management
subsystem needs to allocate pages of memory to hold the data for the file. We expand on this simplistic view throughout this book. This is only an introduction, and as I said we should start at the beginning. In this case, the beginning is the server hardware itself. We start with a discussion on a
prevalent
hardware architecture known as cc-NUMA. Superdome servers have the inherent capability to exploit the benefits of the cc-NUM architecture. Up until HP-UX 11i version 2, the operating system simply viewed the server as a large Symmetrical Multi-Processor (SMP) server and did not exploit benefits such as
cell
local memory. Since HP-UX 11i version 2, such architecture features are now incorporated into the operating system and can be taken advantage of by a knowledgeable administrator. We include a discussion on Virtual Partitions before moving on to looking at OLA/R, disks and filesystems, and diagnostics, and finishing Part 1 with processes, thread, and scheduling.
|