Browse Prior Art Database

Homomorphic Memory Mapping in OS/2 to AIX Application Migration

IP.com Disclosure Number: IPCOM000114050D
Original Publication Date: 1994-Nov-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 2 page(s) / 51K

Publishing Venue

IBM

Related People

Feldman, G: AUTHOR [+4]

Abstract

In order to provide seamless porting of OS/2* function into the AIX*/UNIX** environment, a algorithm is required to map OS/2 system calls into corresponding AIX calls. To eliminate any major modification to the original OS/2 code, a homomorphic memory mapping scheme is used. This memory mapping scheme provides transparent interfaces between OS/2 Control Program services and equivalent AIX services.

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

Homomorphic Memory Mapping in OS/2 to AIX Application Migration

      In order to provide seamless porting of OS/2* function into the
AIX*/UNIX** environment, a algorithm is required to map OS/2 system
calls into corresponding AIX calls.  To eliminate any major
modification to the original OS/2 code, a homomorphic memory mapping
scheme is used.  This memory mapping scheme provides transparent
interfaces between OS/2 Control Program services and equivalent AIX
services.

      The homomorphic memory mapping function maps OS/2 segments onto
AIX segments in a single AIX shared memory mapped file.  Each OS/2
segment is mapped on a 64K AIX boundary so that the high order 16
bits of the 32 bit AIX address can be returned as an OS/2 16 bit
selector.  A full 64 KB segment is allocated for each OS/2 segment,
regardless of the requested size.

      The base address for AIX memory mapped files is 0x3000000.
There are 0xFFF  64KB OS/2 segments in one AIX segment and there is a
one-to-one correspondence between memory pages and disk blocks.  The
memory mapped files are sparse which means they will not be allocated
until data is stored in the corresponding memory page.  This allows
AIX to better manage storage by not using it until the space is
really needed.  For example, an "ls -l" of the memory mapped file may
suggest the file is large.  A "du -s" gives its actual size in disk
blocks which will be smaller if the memory has not yet been used.

      AIX memory...