AIX Manual Cover

Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

All About AIX Version 4.

August 12, 1994

RISC System/6000 Division


Technology Transfer Department
Building 821, Internal Zip 2830
11400 Burnet Road
Austin, Texas 78758-3493
First Edition (August, 1994)

This edition applies to Version 4, Release 1, Modification Level 0 of the AIX Operating System.

Order publications through your IBM representative or the IBM branch office serving your locality. Publications
are not stocked at the address given below.

Comments may be addressed to:

IBM Corporation
Dept., J65S Building 821, Internal Zip 2830
11400 Burnet Road
Austin, Texas 78758-3493

 Copyright International Business Machines Corporation 1994. All rights reserved.


Note to U.S. Government Users — Documentation related to restricted rights — Use, duplication or disclosure is
subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corp.
Contents

Special Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
How This Document Is Organized . . . . . . . . . . . . . . . . . . . . . . . . . . xv
AIX Version 4.1 Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi

Chapter 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Purpose of This Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Chapter 2. AIX Version 4.1 Release Content . . . . . . . . . . . . . . . . . . . . 3


2.1 Packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 iFOR/LS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Installation/Migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.4 System Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.5 OEM Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.6 PowerOpen Association . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.7 Compiler Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.8 System Calls/Libraries/Include Files . . . . . . . . . . . . . . . . . . . . . . 5
2.9 Symmetric Multi-processor Support (SMP) . . . . . . . . . . . . . . . . . . 5
2.10 Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.11 Graphics Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.12 Communications Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.13 International Language Support . . . . . . . . . . . . . . . . . . . . . . . . 6

Chapter 3. Future Directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7


3.1 Compatibility Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Libcurses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3 X11 Compatibility Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.4 X10 and X11 MIT Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.5 printf() and scanf() Wide-Character Format Types . . . . . . . . . . . . . . 8

Chapter 4. AIX Version 4.1 Packaging Changes . . . . . . . . . . . . . . . . . . 9


4.1 Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.1.1 Smaller Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.1.2 Bundles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.1.3 Product Offerings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.1.4 Lite Working Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2 Packaging Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3 AIX Product Offerings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.4 Bundles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4.1 Automatically-Installed Filesets . . . . . . . . . . . . . . . . . . . . . . . 16
4.4.2 Installation Bundles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.5 CD-ROM Distribution Enablement (Build to Plan Distribution) . . . . . . . 20
4.6 New Package Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.6.1 AIX Version 3 Licensed Program Product Prerequisite Checking . . . 21
4.6.2 Message Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.7 Packaging Impacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.7.1 C Compiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.7.2 Display PostScript (DPS) . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.7.3 Printer Subsystem Packaging . . . . . . . . . . . . . . . . . . . . . . . . 22

 Copyright IBM Corp. 1994 iii


4.7.4 Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.7.5 SMIT Packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.7.6 AIX Version 3.2 Symbolic Links Being Repackaged . . . . . . . . . . . 23
4.7.7 X11 and Motif Packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.7.8 bos.rte packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Chapter 5. iFOR/LS License Management . . . . . . . . . . . . . . . . . . . . . 25


5.1 iFOR/LS Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.2 iFOR/LS Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.3 iFOR/LS License Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.4 iFOR/LS Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.4.1 iFOR/LS Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.4.2 The iFOR/LS Administrator′s Runtime Kit (ARK) . . . . . . . . . . . . 28
5.4.3 NCS 1.5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.5 Policy vs. Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.6 AIX Version 4.1 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.6.1 AIX 4.1 for Clients Systems . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.6.2 AIX 4.1 for Servers Systems . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.7 Administrator Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.8 Problem Determination Checklist . . . . . . . . . . . . . . . . . . . . . . . . 33
5.9 iFOR/LS Application Developer′s Toolkit (ADK) . . . . . . . . . . . . . . . . 34

Chapter 6. Installation/Migration . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.1.1 Installation Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.1.2 Mksysb Install . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.1.3 Installing an MP Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.1.4 Removing Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.1.5 SMIT Installation Assistant . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.1.6 Visual Install Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.1.7 Base Operating System (BOS) Installation . . . . . . . . . . . . . . . . 46
6.1.8 Command Install . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.1.9 Network Install Manager (NIM) . . . . . . . . . . . . . . . . . . . . . . . 52
6.1.10 Diskless/Dataless Installation . . . . . . . . . . . . . . . . . . . . . . . 67
6.2 Migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6.2.1 Migration Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6.2.2 Migration Recovery and Backup . . . . . . . . . . . . . . . . . . . . . . 68
6.2.3 Base Operating System (BOS) Migration . . . . . . . . . . . . . . . . . 68
6.2.4 Licensed Program Product (LPP) Migration . . . . . . . . . . . . . . . 69
6.2.5 AIX Version 4.1 Selective Fix (Update) Changes . . . . . . . . . . . . . 70
6.2.6 New Installp File Locations . . . . . . . . . . . . . . . . . . . . . . . . . 71

Chapter 7. System Management . . . . . . . . . . . . . . . . . . . . . . . . . . . 73


7.1 Printer Support Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . 73
7.1.1 Improved SMIT Print Interface . . . . . . . . . . . . . . . . . . . . . . . 73
7.1.2 Printer Subsystem Packaging . . . . . . . . . . . . . . . . . . . . . . . . 73
7.1.3 Spooler Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
7.1.4 Plotter and Printer Support . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.1.5 troff/cmdtext Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.2 Backup/Restore Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.2.1 System Backup Command Improvements (Cloning) . . . . . . . . . . 77
7.3 System Management Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.3.1 Visual System Management Enhancements . . . . . . . . . . . . . . . 81

iv All About AIX Version 4.1


7.3.2 GUI Support for Devices, LVM, Printers, and Users/Groups (AIX
Version 3.2.5 Work) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.3.3 SMIT Packaging Changes . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.3.4 ODME Removed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.4 File System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.4.1 Network File System (NFS) . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.4.2 NIS ypbind syntax change . . . . . . . . . . . . . . . . . . . . . . . . . . 82
7.4.3 JFS BSD-Style Disk Fragmentation . . . . . . . . . . . . . . . . . . . . . 82
7.4.4 JFS Compression and Decompression . . . . . . . . . . . . . . . . . . 83
7.4.5 > 2GB Filesystem Support . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.4.6 Disk Striping in the LVM . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.5 RAS (Reliability, Availability and Serviceability) . . . . . . . . . . . . . . . 87
7.5.1 System Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
7.5.2 RAS Symptom String Support . . . . . . . . . . . . . . . . . . . . . . . . 88
7.5.3 RAS Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
7.5.4 RAS Programming Changes . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.5.5 Withdrawal of Electronic Customer Support from AIX Version 4.1 . . 92
7.6 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.6.1 C2 Security Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.6.2 DCE Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.6.3 DCE and C2 Security SMIT Changes . . . . . . . . . . . . . . . . . . . . 93
7.7 Bosboot, IPL Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
7.7.1 ″Lite″ Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
7.8 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
7.8.1 Performance Diagnostic Tool (PDT) . . . . . . . . . . . . . . . . . . . . 94
7.8.2 Performance PMR Data Collection Tool (PerfPMR) . . . . . . . . . . . 94
7.8.3 Performance Tools Packaging . . . . . . . . . . . . . . . . . . . . . . . 95
7.8.4 lockstat command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Chapter 8. Architecture Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 97


8.1 PowerOpen Association . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8.1.1 PowerOpen Association ABI Test Suites (Enabling/Enhancements) . 97
8.1.2 PowerOpen Association Manuals . . . . . . . . . . . . . . . . . . . . . 97
8.2 New Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8.2.1 PowerPC Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8.2.2 POWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
8.2.3 POWER2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.2.4 POWERPC 601 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
8.2.5 POWERPC 603 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
8.2.6 POWERPC 604 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
8.3 Application Binary Compatibility . . . . . . . . . . . . . . . . . . . . . . . . 107
8.3.1 Hardware Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . 107
8.3.2 New Applications and New Releases of Applications . . . . . . . . . 108
8.3.3 Backward Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . 108
8.4 Instruction Set Differences . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
8.4.1 POWER/PowerPC Instruction Set Relationships . . . . . . . . . . . . 109
8.4.2 POWER Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
8.4.3 POWER2 Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
8.4.4 PowerPC Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
8.4.5 PowerPC-601 Instructions . . . . . . . . . . . . . . . . . . . . . . . . . 119
8.5 Migration Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

Chapter 9. Compiler, Loader, and Linker/Binder Changes . . . . . . . . . . . 123


9.1 Compiler Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

Contents v
9.1.1 C for AIX Replaces XL C Compiler in AIX Version 4.1 . . . . . . . . 123
9.1.2 Compiler Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
9.1.3 Tuning Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
9.1.4 Compiler Mode and Tuning Performance Implications . . . . . . . . 129
9.1.5 Hybrid Mode of Compilation . . . . . . . . . . . . . . . . . . . . . . . . 131
9.1.6 Assembler Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
9.2 Loader and Linker/Binder Changes . . . . . . . . . . . . . . . . . . . . . . 139
9.3 MP Implications on Binary Compatibility . . . . . . . . . . . . . . . . . . . 142
9.3.1 Sample Coding for Using Semaphores . . . . . . . . . . . . . . . . . 144
9.4 Core File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

Chapter 10. Programming Changes . . . . . . . . . . . . . . . . . . . . . . . . 149


10.1 STREAMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
10.1.1 OSF Thread-Safe STREAMS . . . . . . . . . . . . . . . . . . . . . . . 149
10.1.2 STREAMS Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 149
10.1.3 AIX Version 3 Kernel Exports That Are Not Exported in AIX Version
4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
10.1.4 Kernel Services That Have Been Changed in AIX Version 4.1 . . . 150
10.1.5 mps_sleep, mps_wakeup . . . . . . . . . . . . . . . . . . . . . . . . . 150
10.1.6 str_install Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
10.2 Low-Function Terminal (LFT) . . . . . . . . . . . . . . . . . . . . . . . . . 151
10.3 Undocumented Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
10.4 2GB File System Support . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
10.5 32-LUN and 16-SCSI ID Support on IBM SCSI-2 FAST/WIDE Differential
Adapter/A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
10.6 AIX Version 4.1 Curses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.6.1 Libcurses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.6.2 Terminfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.6.3 System Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.6.4 Porting to AIX Version 4.1 Libcurses . . . . . . . . . . . . . . . . . . 156
10.6.5 Minicurses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
10.7 Standards Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
10.7.1 Standards Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
10.7.2 XPG4 and POSIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
10.8 Library Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
10.8.1 Shared Library Attribute . . . . . . . . . . . . . . . . . . . . . . . . . 160
10.8.2 librs2.a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
10.9 Changes That Impact Programmers . . . . . . . . . . . . . . . . . . . . . 160
10.10 Other Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
10.10.1 libiconv Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
10.11 Header File Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
10.11.1 /usr/include/sys/erec.h . . . . . . . . . . . . . . . . . . . . . . . . . 175
10.11.2 /usr/include/sys/mount.h . . . . . . . . . . . . . . . . . . . . . . . . 175
10.11.3 XPG4 Changes to Include (Header) Files . . . . . . . . . . . . . . . 176
10.12 Kernel Extension Changes . . . . . . . . . . . . . . . . . . . . . . . . . . 177
10.12.1 Changes to Vnode Interface . . . . . . . . . . . . . . . . . . . . . . 177
10.12.2 Input Device Driver Changes . . . . . . . . . . . . . . . . . . . . . . 178
10.12.3 Device and Ring Queues . . . . . . . . . . . . . . . . . . . . . . . . 179
10.13 Device Drivers Binary Incompatibility . . . . . . . . . . . . . . . . . . . 181
10.13.1 IPL and Device Configuration Database . . . . . . . . . . . . . . . 182
10.13.2 GAI Class Record in ODM . . . . . . . . . . . . . . . . . . . . . . . 182
10.13.3 Diagnostic Predefined Object Classes . . . . . . . . . . . . . . . . 182
10.13.4 Diagnostic TMInput Database . . . . . . . . . . . . . . . . . . . . . 182
10.13.5 Removal of Trace Back Tables from Kernel . . . . . . . . . . . . . 182

vi All About AIX Version 4.1


10.13.6 /dev/nvram/pcbios Function Removed from Machine Device
Driver (machdd) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
10.14 Debuggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
10.14.1 dbx Improvements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
10.14.2 xde Debugger Withdrawn . . . . . . . . . . . . . . . . . . . . . . . . 183

Chapter 11. User Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185


11.1 Changes That May Cause Problems . . . . . . . . . . . . . . . . . . . . . 185
11.1.1 acctdusg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
11.1.2 admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
11.1.3 awk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
11.1.4 axeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
11.1.5 backbyname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
11.1.6 bc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
11.1.7 bosboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
11.1.8 bsh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
11.1.9 catman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
11.1.10 chuser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
11.1.11 cksum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
11.1.12 cmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
11.1.13 cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
11.1.14 cpio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
11.1.15 csh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
11.1.16 ctags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
11.1.17 date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
11.1.18 delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
11.1.19 df . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
11.1.20 diff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
11.1.21 diskusg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
11.1.22 du . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
11.1.23 ebxa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
11.1.24 echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
11.1.25 ed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
11.1.26 expr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
11.1.27 fold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
11.1.28 fsdb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
11.1.29 getconf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
11.1.30 head . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
11.1.31 iconv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
11.1.32 istat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
11.1.33 join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
11.1.34 ksh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
11.1.35 lex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
11.1.36 locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
11.1.37 localedef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
11.1.38 lp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
11.1.39 lsfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
11.1.40 lsjfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
11.1.41 man . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
11.1.42 more . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
11.1.43 nice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
11.1.44 n m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
11.1.45 nohup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
11.1.46 od . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

Contents vii
11.1.47 pack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
11.1.48 paste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
11.1.49 pax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
11.1.50 renice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
11.1.51 sed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
11.1.52 sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
11.1.53 strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
11.1.54 stty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
11.1.55 tctl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
11.1.56 tee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
11.1.57 touch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
11.1.58 uniq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
11.1.59 wc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
11.1.60 what . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
11.1.61 yacc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
11.2 Other Command Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
11.2.1 apropos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
11.2.2 ar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
11.2.3 arp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
11.2.4 asa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
11.2.5 at . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
11.2.6 backbyinode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
11.2.7 bffcreate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
11.2.8 bfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
11.2.9 cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
11.2.10 chgrp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
11.2.11 chmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
11.2.12 chown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
11.2.13 chlang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
11.2.14 chtz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
11.2.15 col . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
11.2.16 compress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
11.2.17 crfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
11.2.18 csplit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
11.2.19 enq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
11.2.20 expand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
11.2.21 file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
11.2.22 find . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
11.2.23 gencat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
11.2.24 get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
11.2.25 grep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
11.2.26 iconv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
11.2.27 infocmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
11.2.28 installbsd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
11.2.29 installp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
11.2.30 login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
11.2.31 look . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
11.2.32 lpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
11.2.33 lprm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
11.2.34 ls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
11.2.35 lslpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
11.2.36 m4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
11.2.37 make . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
11.2.38 mkfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

viii All About AIX Version 4.1


11.2.39 mkgroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
11.2.40 mksysb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
11.2.41 mount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
11.2.42 mv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
11.2.43 ncheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
11.2.44 newgrp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
11.2.45 news . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
11.2.46 odump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
11.2.47 passwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
11.2.48 patch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
11.2.49 pr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
11.2.50 printf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
11.2.51 ps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
11.2.52 qprt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
11.2.53 rdump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
11.2.54 restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
11.2.55 rm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
11.2.56 rmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
11.2.57 sar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
11.2.58 scanf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
11.2.59 split . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
11.2.60 strtol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
11.2.61 tar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
11.2.62 test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
11.2.63 time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
11.2.64 unexpand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
11.2.65 vmstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
11.2.66 w . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
11.2.67 whatis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
11.2.68 xargs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

Chapter 12. Multi-Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215


12.1 What Is Multi-Processing? . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
12.2 Multi-Processor Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . 217
12.3 MP Scheduler/Dispatcher . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
12.4 MP Performance and Debugging Tools . . . . . . . . . . . . . . . . . . . 220
12.4.1 MP Performance Tools . . . . . . . . . . . . . . . . . . . . . . . . . . 220
12.5 UP/MP Kernels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

Chapter 13. Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221


13.1 AIX Kernel Support of Pthreads . . . . . . . . . . . . . . . . . . . . . . . 221
13.2 Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
13.3 Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
13.4 Multi-Threaded Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
13.5 Thread Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
13.5.1 Threads Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
13.6 Programming with Threads . . . . . . . . . . . . . . . . . . . . . . . . . . 229
13.6.1 Basic Facilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
13.6.2 Process Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
13.6.3 Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
13.6.4 Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
13.6.5 Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
13.6.6 Libpthread API Detailed Design (LLD) . . . . . . . . . . . . . . . . . 234

Contents ix
Chapter 14. Multi-Processor Synchronization . . . . . . . . . . . . . . . . . . 237
14.1 Introduction to Synchronization on Multi-Processors . . . . . . . . . . . 237
14.1.1 Uniprocessor Synchronization . . . . . . . . . . . . . . . . . . . . . . 237
14.1.2 Multi-Processor Synchronization . . . . . . . . . . . . . . . . . . . . 238
14.2 Lock Model Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
14.2.1 Lock Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
14.2.2 Simple Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
14.2.3 Complex Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
14.2.4 AIX Version 3 lockl Support . . . . . . . . . . . . . . . . . . . . . . . 240
14.2.5 Allocation/Deallocation of Locks . . . . . . . . . . . . . . . . . . . . 240
14.2.6 Spinning on Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
14.3 Device Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
14.3.1 Top-Half Considerations . . . . . . . . . . . . . . . . . . . . . . . . . 242
14.3.2 Bottom-Half Considerations . . . . . . . . . . . . . . . . . . . . . . . 242
14.3.3 Lock Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
14.3.4 Allocation/Deallocation Services . . . . . . . . . . . . . . . . . . . . 248
14.3.5 Other Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
14.3.6 Atomic Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

Chapter 15. Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251


15.1 CD-ROM Multimedia Functions for CD-ROM drive (F/C 9218) . . . . . . 251
15.2 OpenGL, graPHIGS, and PEX . . . . . . . . . . . . . . . . . . . . . . . . . 252
15.2.1 OpenGL 1.X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
15.2.2 GraPHIGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
15.2.3 PEX 5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
15.3 X11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
15.3.1 Programming Changes . . . . . . . . . . . . . . . . . . . . . . . . . . 255
15.3.2 High-Function Terminal (HFT) Changes . . . . . . . . . . . . . . . . 255
15.3.3 Spaceball Input Device . . . . . . . . . . . . . . . . . . . . . . . . . . 255
15.3.4 Running AIX Version 4.1 X Clients on AIX Version 3.2.5 or Earlier X
Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
15.3.5 AIX Window Manager Withdrawn . . . . . . . . . . . . . . . . . . . . 256
15.3.6 Libxgsl Withdrawn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
15.3.7 Xlib FORTRAN Bindings Withdrawn . . . . . . . . . . . . . . . . . . . 256
15.3.8 Documentation on X Compatibility Routines Withdrawn . . . . . . 256
15.3.9 AIXwindows SNF Font Utilities withdrawn . . . . . . . . . . . . . . . 257
15.3.10 X11.5 Support of ISO-Compliant Fonts . . . . . . . . . . . . . . . . 257
15.3.11 Other Font Support Changes . . . . . . . . . . . . . . . . . . . . . . 257
15.3.12 X Performance Enhancements . . . . . . . . . . . . . . . . . . . . . 258
15.3.13 GXT_OVERLAYS Environment Variable . . . . . . . . . . . . . . . . 259
15.3.14 X11 libXt Differences . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
15.3.15 X11.5 New Supported X Clients . . . . . . . . . . . . . . . . . . . . 260
15.3.16 X Customizing Tool Enhancements . . . . . . . . . . . . . . . . . . 260
15.4 New Desktop Based on Common Desktop Environment for AIX Version
4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

Chapter 16. Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263


16.1 TTY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
16.1.1 STREAMS-Based TTY Subsystem . . . . . . . . . . . . . . . . . . . . 263
16.1.2 inetd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
16.1.3 SLIP Login and Features . . . . . . . . . . . . . . . . . . . . . . . . . 269
16.1.4 FDDI Device Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . 269
16.1.5 Common Data Link Interface (CDLI) Conversion . . . . . . . . . . . 270
16.1.6 Generic Data Link Control (GDLC) Support . . . . . . . . . . . . . . 271

x All About AIX Version 4.1


16.1.7 RDTO LAN Device Driver Attribute Removed . . . . . . . . . . . . . 272
16.1.8 Data Link Protocol Interface (DLPI) . . . . . . . . . . . . . . . . . . . 272
16.1.9 TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
16.1.10 Simple Network Management Protocol (SNMP) Agent . . . . . . . 273
16.1.11 TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
16.1.12 X.25 Licensed Program Product . . . . . . . . . . . . . . . . . . . . 274

Chapter 17. International Language Support . . . . . . . . . . . . . . . . . . . 275


17.1 International Language Support Changes . . . . . . . . . . . . . . . . . 275
17.1.1 International Language Support (ILS) . . . . . . . . . . . . . . . . . 275

Appendix A. Porting DCE Threads Programs to AIX Version 4.1 . . . . . . . 283


A.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
A.2 DCE Pthreads Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
A.3 Pthreads Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . 284
A.4 DCE Pthreads Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
A.5 Porting Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
A.6 Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

Appendix B. Making X Extensions Dynamically Loadable . . . . . . . . . . . 297

Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

List of Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

Figures

1. AIX Product Offerings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12


2. AIX Bundles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3. Installation Assistant Window . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4. Easy Install Application Window . . . . . . . . . . . . . . . . . . . . . . . . 42
5. Install and Update Software Manager . . . . . . . . . . . . . . . . . . . . . 43
6. Maintain Software Manager Window . . . . . . . . . . . . . . . . . . . . . 45
7. POWER Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
8. POWER2 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
9. PowerPC-601 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
10. PowerPC-603 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
11. PowerPC-604 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
12. Architecture Instruction Set Relationships . . . . . . . . . . . . . . . . . 109
13. Migration to PowerPC-601 . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
14. Migration to PowerPC-603 and 604 . . . . . . . . . . . . . . . . . . . . . 122
15. Compiler Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
16. Thread/Process Relationship . . . . . . . . . . . . . . . . . . . . . . . . . 224
17. Thread Kernel Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
18. Thread Architecture 1:1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
19. Thread Architecture M:N . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
20. Comparison of AIX DCE 1.2 pthreads and AIX Version 4.1 pthreads . . 284
21. Relationship Between Threaded Libraries . . . . . . . . . . . . . . . . . 285

Contents xi
Tables

1. Compatibility Packages in AIX Version 4.1 . . . . . . . . . . . . . . . . . . 7


2. Example of Packaging Term Usage . . . . . . . . . . . . . . . . . . . . . . 10
3. iFOR/LS License Policy Recommendations . . . . . . . . . . . . . . . . . 31
4. Client Machine Configuration Types . . . . . . . . . . . . . . . . . . . . . . 55
5. AIX Version 3.2/AIX Version 4.1 Printer Name Changes . . . . . . . . . . 73
6. New POWER2 Instructions Not Available on POWER . . . . . . . . . . . 112
7. Valid -qarch and -qtune Combinations . . . . . . . . . . . . . . . . . . . 129
8. Locking/Unlocking Actions . . . . . . . . . . . . . . . . . . . . . . . . . . 143
9. New Libcurses Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
10. Header Files Affected By X/Open . . . . . . . . . . . . . . . . . . . . . . 177
11. Commands Modified for Argument Syntax . . . . . . . . . . . . . . . . . 202
12. Processor Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . 217
13. Data Types Not Part of POSIX.4a . . . . . . . . . . . . . . . . . . . . . . . 286
14. Changes to Scheduling Policies . . . . . . . . . . . . . . . . . . . . . . . 288
15. Thread Cancellation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
16. Process Primitives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
17. Basic Thread Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
18. Detach State Thread Attributes . . . . . . . . . . . . . . . . . . . . . . . . 291
19. Thread Stack Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
20. Thread Scheduling Attributes . . . . . . . . . . . . . . . . . . . . . . . . . 291
21. Thread Scheduling Functions . . . . . . . . . . . . . . . . . . . . . . . . . 292
22. Thread Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
23. Thread-Specific Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
24. Mutex Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
25. Mutex Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
26. Condition Variable Attribute Functions . . . . . . . . . . . . . . . . . . . 293
27. Condition Variable Functions . . . . . . . . . . . . . . . . . . . . . . . . . 293
28. Thread Cancellation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
29. Changes introduced in AIX Version 4.1 ( POSIX.4a draft 7 ) . . . . . . . 294
30. Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
31. Signal Behavior Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

xii All About AIX Version 4.1


Special Notices

This document describes changes made between the AIX Version 3.2 release
and the AIX Version 4.1 release.

The information in this publication is not intended as the specification of any


programming interfaces.

See the PUBLICATIONS section of the IBM Programming Announcement for the
AIX Version 4.1 Operating System for more information about what publications
are considered to be product documentation.

Reference to PTF numbers that have not been released through the normal
distribution process does not imply general availability. The purpose of
including these reference numbers is to alert IBM customers to specific
information relative to the implementation of the PTF when it becomes available
to each customer according to the normal IBM PTF distribution process.

The following terms are trademarks of the International Business Machines


Corporation in the United States and/or other countries:

AIX AIX/6000
AIXwindows AS/400
C Set ++ CAEDS
FFST First Failure Support Technology
graPHIGS IBM
InfoCrafter InfoExplorer
Micro Channel NetView
POWER Architecture PowerOpen
PowerPC PowerPC Architecture
PowerPC 601 PowerPC 603
POWERserver POWERstation
RISC System/6000 RS/6000
SOMobjects Turboways

The following terms are trademarks of other companies:

SunOS, SPARCstation, Network File Sun Microsystems, Inc.


System, NFS
Display PostScript Adobe Systems, Inc.
Ethernet XEROX Corporation.
iFOR/LS Gradient Technologies, Inc.
NFS/NIS Sun Microsystems.
OpenGL Silicon Graphics, Inc.
OSF/Motif Open Software Foundation.
PEX, Xwindow System MIT
Spaceball Spaceball Technologies, Inc.
UNIX X/Open Company, Limited
Windows NT Microsoft Corporation

 Copyright IBM Corp. 1994 xiii


xiv All About AIX Version 4.1
Preface

This document describes changes made between the AIX Version 3.2 release
and the AIX Version 4.1 release.

This document is intended for customers who want to migrate applications or


kernel extensions to AIX Version 4.1. The audience is assumed to already be
familiar with AIX Version 3.2.

How This Document Is Organized


The document is organized as follows:
• Chapter 1, “Introduction”
• Chapter 2, “AIX Version 4.1 Release Content”
This provides a listing of the AIX Version 4.1 release content.
• Chapter 3, “Future Directions”
This provides warnings of changes that may be made in future releases.
• Chapter 4, “AIX Version 4.1 Packaging Changes”
This provides a summary of the packaging changes.
• Chapter 5, “iFOR/LS License Management”
This provides an overview of iFOR/LS.
• Chapter 6, “Installation/Migration”
This provides a summary of the installation/migration changes.
• Chapter 7, “System Management”
This provides a list of the system management changes, including file
system changes, security, etc.
• Chapter 8, “Architecture Overview”
This provides an overview of the chips introduced in AIX Version 3.2.5. The
instruction set changes are included.
• Chapter 9, “Compiler, Loader, and Linker/Binder Changes”
This provides a summary of the compiler changes, including the new
compilation modes introduced for the new computer chips.
• Chapter 10, “Programming Changes”
This provides changes that affect programmers.
• Chapter 11, “User Commands”
This provides a list of changes to user commands.
• Chapter 12, “Multi-Processing”
This provides an overview of multi-processing from a theoretical point of
view.
• Chapter 13, “Threads”
This provides an overview of the threads implementation.

 Copyright IBM Corp. 1994 xv


• Chapter 14, “Multi-Processor Synchronization”
This discusses changes to locking required due to threads and
multi-processing.
• Chapter 15, “Graphics”
This provides changes to graphics software.
• Chapter 16, “Communications”
This provides changes to communications software.
• Chapter 17, “International Language Support”
This provides changes to International Language Support.
• Appendix A, “Porting DCE Threads Programs to AIX Version 4.1”
This provides a porting guide from AIX DCE threads to AIX Version 4.1
threads.
• Appendix B, “Making X Extensions Dynamically Loadable”
This provides sample code for creating a dynamically loadable X extention.

AIX Version 4.1 Publications


The publications listed in this section are considered particularly suitable for a
more detailed discussion of the topics covered in this document.
• AIX Version 4.1 Licensed Program Specifications, GC23-2637
• AIX Version 4.1 Getting Started, SC23-2527
• AIX Version 4.1 Installation Guide, SC23-2550
• AIX Version 4.1 Startup Instructions for Preinstalled Systems, SC23-2668
• AIX Version 4.1 Quick Installation Guide, SC23-2650
• LPS for AIXwindows Environment, SC23-2638
• AIX Version 4.1 Network Installation Management Guide and Reference,
SC23-2627
• AIX/and Related Products Documentation Overview, SC23-2456
• AIX Version 4.1 System Management Guide: Operating System and Devices,
SC23-2525
• AIX Version 4.1 System Management Guide: Communications and Networks,
SC23-2526
• AIX Version 4.1 System User′s Guide: Operating System and Devices,
SC23-2544
• AIX Version 4.1 System User′s Guide: Communications and Networks,
SC23-2545
• AIX Version 4.1 Problem Solving Guide and Reference, SC23-2606
• AIX Version 4.1 Messages Guide and Reference, SC23-2641
• AIX Versions 3.2 and 4.1 Performance Tuning Guide, SC23-2365
• AIX Version 4.1 Files Reference, SC23-2512
• AIX Version 4.1 Topic Index and Glossary, SC23-2513
• AIX Version 4.1 INed Editor Users Guide, SC23-2524
• AIX Version 4.1 Commands Reference, SB0F-1851; which may also be order
by individual volumes:
− AIX Version 4.1 Commands Reference, Volume 1, SC23-2537
− AIX Version 4.1 Commands Reference, Volume 2, SC23-2538
− AIX Version 4.1 Commands Reference, Volume 3, SC23-2539
− AIX Version 4.1 Commands Reference, Volume 4, SC23-2540
− AIX Version 4.1 Commands Reference, Volume 5, SC23-2639

xvi All About AIX Version 4.1


− AIX Version 4.1 Commands Reference, Volume 6, SC23-2640
• IBM RISC System/6000 System Overview and Planning, GC23-2406
• AIX Version 4.1 Assembler Language Reference, SC23-2642
• AIX Version 4.1 Writing a Device Driver, SC23-2593
• AIX Version 4.1 General Programming Concepts Volume 1: Writing
Programs, SC23-2533
• AIX Version 4.1 General Programming Concepts Volume 2: Debugging
Programs, SC23-2490
• AIX Version 4.1 Communications Programming Concepts, SC23-2610
• AIX Version 4.1 Kernel Extensions and Device Support Programming
Concepts, SC23-2611
• AIX Version 4.1 Graphics, SC23-2612
• AIX Version 4.1 Technical Reference, SB0F-1852; which may also be ordered
by separate volume:
− AIX Version 4.1 Technical Reference, Volume 1: Base Operating System
and Extensions, SC23-2614
− AIX Version 4.1 Technical Reference, Volume 2: Base Operating System
and Extensions, SC23-2615
− AIX Version 4.1 Technical Reference, Volume 3: Communications,
SC23-2616
− AIX Version 4.1 Technical Reference, Volume 4: Communications,
SC23-2617
− AIX Version 4.1 Technical Reference, Volume 5: Kernel and Subsystems,
SC23-2618
− AIX Version 4.1 Technical Reference, Volume 6: Kernel and Subsystems,
SC23-2619
− AIX Version 4.1 Technical Reference, Volume 7: AIXwindows, SC23-2620
− AIX Version 4.1 Technical Reference, Volume 8: Enhanced Xwindows,
SC23-2621
− AIX Version 4.1 Technical Reference, Volume 9: Enhanced Xwindows,
SC23-2622
− AIX Version 4.1 Technical Reference, Volume 10: Enhanced Xwindows,
SC23-2623
− AIX Version 4.1 Technical Reference, Volume 11: Master Index,
SC23-2624
• AIX Version 4.1 Keyboard Technical Reference, SC23-2631
• AIX Version 4.1 Quick Reference, SC23-2529
• AIX Version 4.1 iFOR/LS Tips and Techniques, SC23-2666
• AIX Version 4.1 SOMobjects Users Guide, SC23-2680
• AIX Version 4.1 SOMobjects Programming Reference Manual, SC23-2681
• AIX Version 4.1 SOMobjects Quick Reference Guide, SC23-2682
• AIX Version 4.1 Desktop Script User′s Guide, SC23-2678
• AIXwindows Desktop Advanced User′s and System Administrator′s Guide,
SC23-2671
• AIX Version 4.1 AIXwindows Internationalization Programming Guide,
SC23-2511
• AIX Version 4.1 AIXwindows Programming Guide, SC23-2632
• AIX Version 4.1 Enhanced Xwindows Programming Guide, SC23-2636
• AIX Version 4.1 iFOR/LS System Management Guide, SC23-2665
• AIX Version 4.1 Xstation Management Guide, SC23-2713

Preface xvii
xviii All About AIX Version 4.1

You might also like