Browse Prior Art Database

Message Services Sub-system Shared Library Implementation

IP.com Disclosure Number: IPCOM000109111D
Original Publication Date: 1992-Jul-01
Included in the Prior Art Database: 2005-Mar-23
Document File: 1 page(s) / 56K

Publishing Venue

IBM

Related People

Tucker Jr, TO: AUTHOR

Abstract

Disclosed is an approach for the storage of program message catalogs as XCOFF shared object files. This approach reduces the overall system memory used for the storage of message catalogs, and improves the performance of message string retrieval.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 69% of the total text.

Message Services Sub-system Shared Library Implementation

      Disclosed is an approach for the storage of program message
catalogs as XCOFF shared object files.  This approach reduces the
overall system memory used for the storage of message catalogs, and
improves the performance of message string retrieval.

      Message catalogs are databases containing text message strings
which are accessed via the message services interface.  This
interface consists of the catopen(), catclose(), and catgets() C
library functions.  Traditional implementations have used standard
text files containing both the text, and a 2 dimensional index
structure as a header.

      This approach suffers from two principal flaws.  First the
index occupies memory in every application's address space which uses
the catalog.  Programs such as the ksh, therefore, all have sizeable
areas of memory which contain an identical copy of the message
catalog index.  Secondly, since the index contains offsets into the
file which holds the message text, a seek operation is required to
retrieve every message.

      A more efficient approach is to translate message source into C
code.  This code is then compiled and linked as a readonly shared
object.  The catopen() function performs a load() system call of the
message catalog which results in the code being loaded into the
read-only segment used to store shared library program text.  The
catgets() function retrieves messages as simple 2...