×

Unified working storage management

  • US 5,109,336 A
  • Filed: 04/28/1989
  • Issued: 04/28/1992
  • Est. Priority Date: 04/28/1989
  • Status: Expired due to Fees
First Claim
Patent Images

1. A process for controlling memory in a data processing system of the type including one or more processing units and a memory, said data processing system executing a plurality of tasks with each task issuing one or more requests for memory of a specified size, wherein a portion of said memory is designated working storage, wherein the data processing system maintains a plurality of queues, each queue containing an ordered list of addresses of working storage blocks of a specified size, and wherein the data processing system maintains an ordered free storage list containing the addresses of all working storage blocks not in the plurality of queues and ordered by said addresses, the process comprising the steps of:

  • allocating a working storage block to one of said plurality of tasks in response to a request for memory of a specified size, said allocating step determining a working storage block address of a working storage block of at least said specified size;

    determining periodically a spill address for each of said plurality of queues as a function of the amount of storage addressed by said queue, said spill address representing a limiting address controlling placement of deallocated working storage blocks in one of said plurality of queues or in said free storage list;

    deallocating an allocated working storage block having an address and size when no longer required by said one of said plurality of tasks;

    testing each of said plurality of queues and selecting one of said plurality of queues having a size larger than the size of said deallocated working storage block;

    inserting the address of said deallocated working storage block in the selected one of said plurality of queues, when said working storage block is deallocated as long as the address of said working storage block is between the beginning of working storage and said spill address and said size of said working storage block is less than or equal to the largest size block specified for any queue; and

    inserting said address as an address entry in said free storage list otherwise.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×