Advanced AIX
Advanced AIX
The Advanced Interactive Executive (AIX) is the operat- functions—especially those that are taking place at
ing system used in the RT Personal Computer, it is a the request of other users—without mtervention by
portable operating system architecture that is suitahie the workstation's user. In many cases, the distribu-
for a wide range oí computer architectures and cus- tion of resources is not uniform. Users need to be
tomer requirements. Discussed in this paper are the
structure and services of AIX. able to use programs, data, and peripheral devices
that are not local to their own workstations. Perhaps
most important is the fact that workstations require
an operating system that provides an application
execution environment that combines application
T
program portability from IBM and industry environ-
his paper discusses the operating system for the ments with efficient use of the hardware.
RT Personal Computer™ that is known as the
Advanced Interactive Executive (AIX)™. The RT Per- We decided to base the core of the RT Personal
sonal Computer system is a family of workstations Computer operating system on the AT&T UNIX® Sys-
based on the IBM 32-bit (RISC) microprocessor— tem V. ( U N I X is developed and licensed by A T & T ,
named ROMP—and its corresponding high-function and is a registered trademark of AT&T in the U.S.A.
memory management unit. 1 (RT Personal Computer, and other countries.) In addition to System V, we
Advanced Interactive Executive, and AIX are trade- included many enhancements generally available in
marks of the International Business Machines Cor- the industry, most notably some features of System
poration.) With this level of performance and func- V.2, and many from BSD (Berkeley Software Distri-
tionality, IBM workstations reached the point at bution) 4.2 and 4.3. (BSD 4.2 and 4.3 are variants of the
which it was practical and imperative to provide U N I X system developed and distributed by the Uni-
workstation users with an operating system that was versity of California at Berkeley.) We chose the U N I X
as sophisticated as those used in mainframe com- operating system because it provides significant
puters. There were many considerations that com- power to a workstation user, provides multiuser ca-
pelled us to build an operating system for the RT pabilities when needed, and is portable and open-
Personal Computer that incorporated many of the ended. Also important is the fact that the U N I X
currently most advanced system concepts. system has a large user and application base. In
choosing the U N I X system. we accepted the need to
The RT Personal Computer system includes sophis- Copyright 1987 by International Business Machines Corporation.
ticated hardware features, such as high-function vir-
0
APPLICATION PROGRAM(S)
(KERNEL INTERFACE)
as well as many ways to interconnect them. The • There was limited program management with
application development extensions above the kernel code sharing only at the program level and static
were integrated into the existing operating system binding of modules.
structure. In some cases, the extensions were pack- • Real-time facilities, such as absolute priorities,
aged and priced separately, but they were designed kernel-level pre-emption, and multiple-process
to opérate as integral parts of the operating system 1/0, were lacking. These facilities were thought
after installation. useful not only for traditional real-time applica-
tions, b u t also for complex Communications ser-
Creating a virtual environment for the AIX kernel vices.
• There were limited facilities for dealing with dy-
The existing structure and functions of the UNIX namic 1/0 configurations. Most 1/0 changes re-
kernel were not sufficient for exploiting the advanced quired the rebinding of the kernel.
features of the RT Personal Computer hardware. The
major deficiencies fell into the following áreas: Instead of making major changes to the architecture
of the kernel, we used the VRM to provide facilities
• Lack of virtual-memory support had been a per- to overeóme these shortcomings. The VRM provides
ceived deficiency in earlier systems. However, the services to implement a multitasking operating
there were UNix-based systems, such as BSD 4.2, system while insulating the kernel from most of the
that had provided virtual memory, but none of details of the hardware implementation. The kernel
these had the capabilities that were possible with has to be aware of only the problem-state instruc-
the RT Personal Computer. tions. All the other services, such as 1/0 device sup-
NUCLEUS
SVC HANDLER
l/O SUBSYSTEM
INITIALIZATION
VIRTUAL
TERMINAL
SUBSYSTEM
(VTSS)
NUCLEUS DEVICE
STORAGE SERVICES MANAGER
MANAGEMENT
SERVICE ABILITY
port, storage management of disk and memory, and dynamic run-time binding of code, direct control of
hardware initialization, are provided. The VRM ser- virtual memory. millisecond-level timer control,
vices are implemented in a comprehensive real-time múltiple pre-emptable interrupt levéis, and an effi-
execution environment. 3 Figure 4 shows the overall cient interprocess communication mechanism for
structure of the VRM. main and interrupt-level processes.
VRM nucleus. The nucleus contains the basic ser- There is a virtual machine interface (VMI) that oper-
vices for the control of the R O M P processor, Memory ates as follows. The kernel accesses the facilities of
Management Unit (MMU), and i/o Channel Control- the VRM via a set of supervisor calis (svc), virtual
ler (iocc). These services include múltiple pre-empt- interrupts, and shared memory control blocks. Ser-
able processes, process creation and priority control, vices may be executed synchronously as a call/return
16-SEGMENT REGISTERS
•
•
Figure 9 AIX virtual memory segment allocation Single-level store. Single-level store (SLS) technology
provides a number of significant performance and
space improvements over traditional methods. For
programs, the load-and-execute method of execution
requires that the operating system load the entire
program into its address space before execution may
SYSTEM 15 l/O BUS
begin. In addition, if the real memory is required for
VRM 14 DIRECT MEMORY ACCESS
(DMA) ADDRESSING
other purposes, the program must be paged out to
backing storage. Contrast that procedure with the
SLS approach. First, the program is simply mapped
SHARED MEMORY, 4-13 256 MB into the address space and given control at its entry
MEMORY-MAPPED
DISK FILES
point. Only the portions of the program that are
needed for this invocation are ever actually read into
real memory. Furthermore, if the real memory is
STACK required for other purposes, the program does not
256 MB
need to be paged out; it is simply paged in when
required again for execution. This procedure has the
CURRENT DATA benefits of quicker program start-up, reduced disk
PROCESS 256 MB
space because only a single copy of the program
exists on disk. and elimination of paging out of
PROGRAM program code. For data files, the advantages come
256 MB
from allowing the virtual memory manager to con-
trol all of the data of a process, both file data and
computational storage. Therefore, it can allocate real
memory in a more efficient manner. For example,
consider a datábase application that is accessing a
set of tables 10 megabytes in size, with that applica-
tion executing on a machine that has 16 megabytes
SEGMENT REGISTERS
of real memory. After a few accesses, the essential file system lacked several key features necessary to
portions of the datábase tables are in real memory, support them. This resulted in datábase programs
and the accesses that in traditional architectures were that were not integrated with the system, unique sets
disk accesses are now memory accesses. The char- of utility commands to be learned, and a general
acteristic of program execution time changes from increase in the complexity of the system. We wanted
being i/olimited to processor-limited, and, since to provide an integrated environment. Therefore,
processor speeds are increasing at a more rapid rate the kernel file system services were extended to pro-
than disk access times, this change in the character- vide the necessary facilities to allow us to add data
istic of the program is very beneficial. This is similar management and relational datábase support that is
to the benefits of memory disks on personal com- built on top of the file system. 8 The enhancements
puters, except that the allocation of resources is done included the ability to perform space management
dynamically rather than statically and the process is within a file, buffer cache synchronization on a file
totally transparent to the user as well as to the basis, and file- and record-level locking.
program.
Performance and structure. We have added many
Datábase enhancements. Historically, UNix-based performance improvements to the file system. The
datábase programs have used only the low-level disk most notable are directory caching to speed up path-
i/o services of the kernel because the standard U N I X name lookup and the use of 2048-byte blocks. We
CONFIGURATION
UTILITIES
VRMCONFIG
DEVICES PROGRAM
MINIDISKS
HELPERS
CONFIGURATION
FILES
CONFIGURATION
DEVICE DRIVER
DEVICE MANAGERS
DEFINE CODE
DEFINE DEVICE
AUTOMATIC
CONFIGURATION
HARDWARE
nism to prevent unseen output from going to inactive escape codes in the data stream and a new set of i/o
virtual termináis. In addition, an input-editing controls to access features such as fonts, character
model patterned after the one provided in P C DOS sets, color, sound, and mouse input. These facilities
was provided. are accessed through the kernel high-function ter-
minal (HFT) device driver.
To allow existing applications to run unchanged and
new character-oriented applications to use the RT A package known as C U R S E S , which is a character-
Personal Computer facilities fully, we extended the oriented window management package designed for
ASCII character-oriented terminal model via prívate TTY ASCII termináis, has received performance en-
ACTIVITY
MANAGER
USER LEVEL GRAPHICS
SUPPORT
LIBRARY (GSL) VIRTUAL
TERMINAL (VT)
CONTROL
MONITORED
(EXTENDED) CURSES
RIVER
/ER | < GH-FUNCTION TERMINAL (HFT .
H I G H - F U N C T I O N T E R M I N A L (HFT)
V I R T U A L R E S O U R C E M A N A G E R (VRM)
ASYNCHRONOUS
DEVICE HANDLERS
hancements and has been compatibly extended to consolé. These functions are designed to provide an
provide access to the extended font and other func- application programming interface to applications
tions of the RT Personal Computer native displays. desiring this level of interface, as well as the APA
We also added functions such as screen división and device-driver function to higher-level graphics and
layering logic to give applications a high-level, de- window services.
vice-independent interface.
APA support The monitored mode support provided Usability e x t e n s i o n s
by the VRM is managed by the kernel HFT device Single user. Because we expected RT Personal Com-
driver via a set of i/o controls and signáis. These puters to be used both as single-user workstations
facilities ensure proper behavior by applications us- and as traditional UNIX time-shared systems, we
ing this feature. If an application refuses to relinquish believed that some changes were required to support
control of a virtual terminal, the HFT driver, after the workstation user. We have made some altera-
waiting for a specified time period, terminales the tions to reduce the number of situations in which a
application. The application selects the mode in user has to exercise "superuser" authority. We added
which to use the virtual terminal. the ability to define more than one group to which
The Graphics Support Library (GSL) provides a set a user belongs at any given time. This feature, de-
of high-performance graphic, text, and ráster output rived from BSD 4.2, allowed us to define users as
primitives and a set of input functions for the local
IBM SYSTEMS JOURNAL, VOL 26. NO 4, 1987
LOCAL RT PC
APPLICATION
OUTPUT OF
REMOTE RT PC
APPLICATION
BIN
DEV
E T C
FILE-GRANULARITY SHARING - PASSWD. GROUP • • . FROM ' ETC SEi
LIB
TMP
U
(USERS' "HOME" DIRECTORES) - SHARED FROM DATA SERVER
LOUCKS
SAUER
USR
ADM
B I N
SHARED FROM "APPLICATION SERVER" MACHINE
INCLUDE
SYSTEM CALLS j
SYSTEM CALLS
I
VNODES AIX
VNODES REMOTE
POTENTIAL AIX
POTENTIAL AIX AIX LOCAL
REMOTE EXPANSION
EXPANSION LOCAL
VIRTUAL
VIRTUAL CIRCUIT
CIRCUIT INTERFACE
INTERFACE
LU 6.2
SERVER SIDE
CLIENT SIDE ETHERNET-
SDLC