Open System Services Porting Guide (G06.29+, H06.06+, J06.03+)

Using the tdm_spawn Set of Functions for Load Leveling..........................................................97
Using PROCESS_SPAWN_..................................................................................................98
Which Call to Use for Process Creation.................................................................................98
The SIGCHLD Signal and the Creation of Zombie Processes.........................................................99
Performing File Operations.....................................................................................................100
Opening an OSS File ......................................................................................................100
Extra Steps for Creating Files........................................................................................101
Performance Considerations for Files..............................................................................101
Directory Operations........................................................................................................101
Caching Considerations....................................................................................................101
OSS Name Server Caching .........................................................................................102
Data Block Caching ...................................................................................................102
File Caching for Regular Disk Files.....................................................................................102
Single Processors Versus Multiple Processors for Files.......................................................102
Using Symbolic Links........................................................................................................103
Porting Servers and Demons...................................................................................................103
Careful Programming With Static Servers............................................................................105
Static Servers and Load Balancing.....................................................................................105
Guardian LISTNER Versus UNIX and OSS inetd...................................................................105
Starting a Guardian Server Process....................................................................................106
Starting an OSS Server Process.........................................................................................106
7 Porting UNIX Applications to the OSS Environment.....................................107
General Porting Guidelines....................................................................................................107
Scope of Portability..........................................................................................................108
Levels of Portability...........................................................................................................108
Portability Through Compiler Compatibility ....................................................................108
Portability Through Data-File Compatibility .....................................................................108
Portability Through Operating Environment Compatibility .................................................108
Porting Analysis...............................................................................................................108
Design Trade-Offs............................................................................................................109
Equivalent Features...........................................................................................................109
Standard Functions...........................................................................................................109
Equivalent Functions.........................................................................................................109
Single-Processor Versus Multiprocessor Systems....................................................................110
HP Extensions..................................................................................................................110
Programming for Portability...............................................................................................110
Using Functional Equivalents..................................................................................................111
Differences Between OSS and UNIX Environments....................................................................112
File Characteristics...........................................................................................................112
Process Characteristics......................................................................................................112
Security Model ...............................................................................................................113
Process-Identity Attributes ............................................................................................113
File Attributes and Access.............................................................................................114
Security Interoperability ...............................................................................................115
OSS C Programming Considerations.......................................................................................115
General Programming Practices.........................................................................................116
Function Prototypes..........................................................................................................117
Defined Symbols and Header Files.....................................................................................117
Feature Test Macros.....................................................................................................118
Predefined Preprocessor Symbols..................................................................................119
C Compiler Pragmas .......................................................................................................119
C Compiler Translation Limits.............................................................................................119
C Data Types..................................................................................................................120
OSS C Run-Time Library....................................................................................................120
Contents 7