Browse Prior Art Database

Selector Manager for Extended DOS Shared Folders

IP.com Disclosure Number: IPCOM000122228D
Original Publication Date: 1991-Nov-01
Included in the Prior Art Database: 2005-Apr-04
Document File: 3 page(s) / 85K

Publishing Venue

IBM

Related People

Wold, JK: AUTHOR

Abstract

A method of handling the conversion of pointers between real and protect mode is disclosed. The method uses a finite number of selectors for multiple real addresses.

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

Selector Manager for Extended DOS Shared Folders

      A method of handling the conversion of pointers between
real and protect mode is disclosed.  The method uses a finite number
of selectors for multiple real addresses.

      The solution is a selector manager.  The Shared Folders
selector manager performs 4 functions:
         Initialize
         Allocate
         Deallocate
         Shutdown

      The initialize function sets up a table of selectors that can
be used to map all of the physical 1 megabyte of memory addressable
in Real mode.  The table (shown in Fig. 1) contains the information.

      Each of the thirty-one selectors is allocated with a real mode
address 32K greater than that of the previous selector.  This means
that any access of real mode data from protect mode with a length
less than or equal to 32K can automatically be satisfied by using an
existing selector from the table and properly setting the offset.
Thirty- one is a magic number in this case; sixteen selectors cover
each of the 64K segments between 0 and 1 megabyte, and the other
fifteen cover 32K on either side of the 64K segment boundaries (see
Fig. 2).

      In addition to the thirty-one selectors that map the physical 1
megabyte of real mode storage, 10 other selectors are allocated that
are able to be reused on a Least Recently Used (LRU) basis in the
event of an allocate that cannot be satisfied by the table (the start
point plus the length requested crosses a selector boundary).

      The table is allocated such that ALL the selectors are
available for reuse as necessary.  The initial state of the table is
such that once the ten LRU selectors are in use, any of the unused
selectors (including the thirty-one selectors that map all of real
storage) will be reused to satisfy an allocate request.

      The allocate function converts the specified Real mode address
to an absolute address and traverses the table...