content_image/1011640.jpg
The logical flow of Java code that is running on a z14 server that has a zIIP available is shown in Figure 3-13. When JVM starts the execution of a Java program, it passes control to the z/OS dispatcher that verifies the availability of a zIIP. 

<img src='content_image/1011640.jpg'>

The availability is treated in the following manner: 

GLYPH<SM590000> If a zIIP is available (not busy), the dispatcher suspends the JVM task on the CP and assigns the Java task to the zIIP. When the task returns control to the JVM, it passes control back to the dispatcher. The dispatcher then reassigns the JVM code execution to aCP. 

GLYPH<SM590000> If no zIIP is available (all busy), the z/OS dispatcher allows the Java task to run on a standard CP. This process depends on the option that is used in the OPT statement in the IEAOPTxx member of SYS1.PARMLIB. 

A zIIP runs only IBM authorized code. This IBM authorized code includes the z/OS JVM in association with parts of system code, such as the z/OS dispatcher and supervisor services. A zIIP cannot process I/O or clock comparator interruptions, and it does not support operator controls, such as IPL. 

Java application code can run on a CP or a zIIP. The installation can manage the use of CPs so that Java application code runs only on CPs, only on zIIPs, or on both. 

