 |
|
For z/OS Version 1 Release 2, Language Environment provides the following:
- Enhanced ASCII Functionality
Enhanced ASCII functionality makes it easier to
port internationalized applications
developed on, or for, ASCII platforms to z/OS platforms by
providing conversion from EBCDIC to ASCII and from ASCII to EBCDIC.
To complement this support, a file tagging mechanism is introduced,
which allows programmers to tag text files with an identifier
indicating the encoding used to write the data. These tags can be used
to translate from one encoding to another.
This allows the use of EBCDIC programs against ASCII data files.
This section explains under what conditions you can use
Enhanced ASCII. For limitations of Enhanced ASCII, see
z/OS C/C++ Programming Guide.
- Limitations of Enhanced ASCII
- A subset of C headers and functions is provided in ASCII.
For more information, see
z/OS C/C++ Run-Time Library Reference.
- The only way to get to the ASCII version of functions and the
external variables environ and tzname is
to use the appropriate IBM header files.
-
ASCII environment variables may read, but not update, environment variables using the
environ external variable Updates to the environment variables using environ in
an ASCII application causes unpredictable results and may result in an abend.
Language Environment maintains two equivalent arrays of environment variables when running an ASCII
application, one with EBCDIC encodings and the other with ASCII encodings. All ASCII compile units that use the
environ external variable must include so that environ can be mapped to
access the ASCII-encoded environment strings. If <stdlib.h> is not included, environ will refer to
the EBCDIC representation of the environment variable strings.
Enhanced ASCII provides limited EBCDIC/ASCII conversion.
The character set or alphabet that is associated with any
locale consists of the following:
- A common, XPG4-defined subset of characters such as POSIX portable
characters
-
A unique, locale-specific subset of characters such as NLS characters
The conversion only applies to the portable subset of characters that
are associated with a locale. Only the EBCDIC IBM-1047 encoding of
portable characters is supported.
You might encounter unexpected results in the following situations:
-
If Enhanced ASCII applications run in locales that contain
non-Latin Alphabet Number 1
NLS characters, C-RTL functions might copy some of the locale's
non-Latin 1
NLS characters into buffers that the application is writing to stdout or
other HFS files. The non-Latin Alphabet Number 1 NLS characters would then cause
problems during automatic conversion.
-
Language Environment applications must select
non-English message files.
If the NATLANG run-time option is not UEN or ENU,
conversion does not take place.
The messages are presented to the file system write routine in EBCDIC, before any
automatic conversion takes place. If the automatic conversion is to EBCDIC,
there will be a problem because EBCDIC cannot be converted to EBCDIC.
CICS dynamic storage tuning
When Language Environment is running with CICS, support for automatic storage
tuning is provided to improve performance of applications running under CICS.
Automatic storage tuning is controlled with
the CICS system initialization parameter AUTODST. Automatic storage tuning
reduces GETMAIN and FREEMAIN activity associated with
acquiring Language Environment stack or heap increments.
Server thread task management
As the complexity in managing many environments increases, this
function provides automated management of server tasks running in
the server space. The putwork() and getwork() functions are enabled
for Workload Manager to dynamically vary the number of server threads
active to process work requests.
Heap storage diagnostics support
A new report is provided in CEEDUMP that shows show traceback information
for storage that was allocated but not freed.
Documentation improvements for traces
z/OS Language Environment
Debugging Guide contains trace documentation improvements.
Use CICS dump services
The CICS transaction dump now includes CEEDUMP data.
Improvement in storage use
Language Environment has been changed to favor 31-bit applications.
This increases performance by eliminating the dependency for
below-the-line storage in a 24-bit application.
Machine state control block
All fields in the Language Environment machine state control block
CEEMCH are externalized.
Reusable enclaves for CICS scalable Java Virtual Machine (JVM)
Java programs can initialize once and then allow subsequent Java
programs to begin running. A Language Environment enclave (CICS thread)
remains active as needed.
TCP/IP resolver enhancement
DNS and BIND transform conversions are provided
for Communications Server.
CICS trace of an application domain
A new CICS trace allows users to monitor and determine the
activity of a CICS transaction. This gives users the
ability to trace key events in Language Environment while running CICS
transactions.
pread() and pwrite() transform
The new pread() and pwrite() functions
perform the same actions as read() and write(), except that they read
or write
from a given position in a file without changing the file pointer.
This reduces system overhead and improves performance.
Removal of SOM Support from Language Environment
SOMobjects ADE and SOMobjects RTL have been removed from z/OS.
What's New in C/C++ for z/OS Version 1 Release 2
This run-time library is shipped with Language Environment. For z/OS
Version 1 Release 2, the C/C++ run-time library includes the following enhancements:
- ISO/IEC 14882:1998 Programming Language - C++
The new C++ compiler adheres to the latest ISO 1998 C++ standard, including a compiler
implementation
of the ISO Standard C++ library and the ANSI Standard Templated Library (STL).
This supports IBM's continuing
adherence to openness and offers customers the increased
portability of applications to and from other platforms that support the
ISO 1998 C++ standard.
- BiDi functionality and Arabic locale
Support is added for a BiDi routine to allow proper handling of Arabic
and Hebrew data in applications. The interfaces handle the conversion
of BiDi data from logical to visual and vice versa.
- Internet Protocol (IP) address conversion
IBM intends to provide an integrated Internet Protocol Version 6
(IPV6) implementation that will enable application access using the
new TCP/IP standard. Support is added in the C/C++ run-time library
for IPV6 functions inet_pton() and inet_ntop() and global variables.
- POSIX threads extensions
This support provides the _r functions that indicate thread-safe
functions in UNIX 98 standards. Large applications in multi-threaded
environments need verification that functions are thread safe.
- Eurocurrency support
Latin 9 support is provided for customers doing business in many
different countries requiring National Language Support or Unicode
support to operate efficiently on the z/OS platform.
- Goal mode support
A Language Environment transform is provided in support of z/OS
UNIX System Services goal mode support for Workload Manager.
- Enhancement to the uname utility
This enhancement allows for continued support of the name OS/390
within the uname() field.
- Chinese code conversion standard
GB 18030 is a new code standard that provides encodings for approximately 30,000
Chinese characters. The iconv function now supports GB18030 conversions.
Customers can cause this support to allow creation and processing
of text documents containing these characters.
- Upgrade of IBM Open Class Library
The IBM Open Class Library (OCL) is a library of C++ classes. z/OS Version 1 Release 2
includes a new level of IOC, which is consistent with that shipped in VisualAge C++ for AIX
Version 5.0. This is intended to ease porting from AIX, but is not intended for use in new
development. Support will be withdrawn in a future release. New application development
involving C++ classes should make use of the C++ Standard Library rather than the IBM Open
Class Library.