24.05.2014 Views

AIX Version 4.3 Differences Guide

AIX Version 4.3 Differences Guide

AIX Version 4.3 Differences Guide

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.12.5 Boot Logical Volume Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />

2.13 Scheduler Enhancements (<strong>4.3</strong>.2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />

2.13.1 Thread Priority Calculation Changes . . . . . . . . . . . . . . . . . . . . . . . 25<br />

2.13.2 Sample Results of Altering Nice Value. . . . . . . . . . . . . . . . . . . . . . 26<br />

Chapter 3. 64-Bit Enablement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />

3.1 Introduction to 64-Bit Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />

3.1.1 64-Bit Architecture and Benefits. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />

3.1.2 64-Bit Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

3.1.3 64-Bit PowerPC Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

3.1.4 <strong>AIX</strong> 64-Bit Design Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32<br />

3.2 64-Bit Core Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33<br />

3.2.1 Segment Register Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33<br />

3.2.2 System Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />

3.2.2.1 64-Bit to 32-Bit Data Reformatting . . . . . . . . . . . . . . . . . . . . . . . . . .39<br />

3.2.2.2 64-Bit to 32-Bit Address Remapping. . . . . . . . . . . . . . . . . . . . . . . . .40<br />

3.2.2.3 Remap Library Data Structures. . . . . . . . . . . . . . . . . . . . . . . . . . . . .41<br />

3.2.2.4 Remap Library Programming Interfaces . . . . . . . . . . . . . . . . . . . . . .42<br />

3.2.2.5 Remap Optimization for Multiple Addresses . . . . . . . . . . . . . . . . . . .43<br />

3.2.2.6 Remap Kernel Programming Interfaces . . . . . . . . . . . . . . . . . . . . . .44<br />

3.2.2.7 Optimizations for One or Two Parameters . . . . . . . . . . . . . . . . . . . .45<br />

3.2.2.8 Using the Remapping Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . .45<br />

3.2.3 64-Bit XCOFF Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46<br />

3.2.3.1 XCOFF Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46<br />

3.2.3.2 Using the XCOFF Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47<br />

3.2.3.3 Incomplete aouthdr Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48<br />

3.2.3.4 XCOFF Magic Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48<br />

3.2.4 Device Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49<br />

3.2.4.1 Changes to ioctl() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49<br />

3.2.4.2 Parameter Passing Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50<br />

3.2.5 Loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51<br />

3.2.6 Virtual Memory Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52<br />

3.2.6.1 Executing a 64-Bit Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52<br />

3.2.6.2 Address Space Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53<br />

3.2.6.3 Shared Memory Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54<br />

3.2.6.4 User Data and Stack Management . . . . . . . . . . . . . . . . . . . . . . . . . .55<br />

3.3 Application Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56<br />

3.3.1 C Compiler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56<br />

3.3.1.1 Compiler Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57<br />

3.3.1.2 Fixed-Width Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59<br />

3.3.1.3 Structure Alignment and Bitfields . . . . . . . . . . . . . . . . . . . . . . . . . . .60<br />

3.3.1.4 Enum Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61<br />

3.3.2 XL Fortran <strong>Version</strong> 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

3.3.3 System Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

3.3.4 Linker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br />

3.3.5 Archiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />

3.3.6 The dbx Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65<br />

3.3.7 Commands and Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65<br />

Chapter 4. Application Development and Pthreads. . . . . . . . . . . . . . . . . . 67<br />

4.1 C Language Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67<br />

4.2 IEEE POSIX and UNIX98 Conformance . . . . . . . . . . . . . . . . . . . . . . . . . 67<br />

4.2.1 Realtime Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67<br />

4.2.2 Unsupported Threads Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />

iv<br />

<strong>AIX</strong> <strong>Version</strong> <strong>4.3</strong> <strong>Differences</strong> <strong>Guide</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!