A method for translating, in a software paging system, an input key
describing a virtual page to the address of the page in main memory,
comprises creating, in main memory, a translation buffer which has a
plurality of records. Each record has a plurality of cells, each cell
having a key field for storing a key or a portion of a key which
identifies a page in memory, and each cell having an address field for
storing the address of the identified page. If the input key matches a
stored key, the address associated with the identified page is retrieved.
Otherwise, a paging manager is invoked to establish an address for the
input key, and the input key and established address are saved. The least
recently used order of memory pages addressed in the dereferenced record
is indicated by updating a least recently used cell indicator associated
with the dereferenced record. Alternatively, a table having a plurality of
entries is created, wherein each entry references a respective hash chain
of translation records in a main memory translation buffer. Each
translation record has a key field for storing a key identifying a page,
and an associated address field for storing the address of the identified
page in memory. The records of the hash chain are searched until a
translation record is found which has a key value matching the input key.
Un método para traducir, en un sistema que pagina del software, una llave de la entrada que describe una página virtual a la dirección de la página en memoria central, abarca crear, en memoria central, un almacenador intermediario de la traducción que tenga una pluralidad de expedientes. Cada expediente tiene una pluralidad de células, cada célula que tiene un campo dominante para almacenar una llave o una porción de una llave que identifique una página en memoria, y cada célula que tiene un campo de dirección para almacenar la dirección de la página identificada. Si la llave de la entrada empareja una llave almacenada, la dirección asociada a la página identificada se recupera. Si no, invocan un encargado que pagina para establecer una dirección para la llave de la entrada, y se ahorran la llave de la entrada y la dirección establecida. La pedido lo más menos posible recientemente usada de las páginas de la memoria tratadas en el expediente dereferenced es indicada poniendo al día un indicador lo más menos posible recientemente usado de la célula asociado al expediente dereferenced. Alternativomente, una tabla que tiene una pluralidad de entradas se crea, en donde cada entrada se refiere a una cadena respectiva del picadillo de los expedientes de la traducción a un almacenador intermediario de la traducción de la memoria central. Cada expediente de la traducción tiene un campo dominante para almacenar una llave que identifica una página, y un campo de dirección asociado para almacenar la dirección de la página identificada en memoria. Los expedientes de la cadena del picadillo se buscan hasta que se encuentra un expediente de la traducción que tiene un valor dominante el emparejar de la llave de la entrada.