Dynamic allocation of a common buffer for use by a set of software routines
AssigneeMicrosoft Corporation
InventorsAndrew P. R. Crick, Seetharaman Harikrishnan, Harish K. Naidu, William G. Parry
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsAndrew P. R. Crick, Seetharaman Harikrishnan, Harish K. Naidu, William G. Parry
Estimating the term…
A computer method and system for allocating memory for a plurality of software routines. Before execution of the software routines, a collective buffer is allocated. Each software routine is assigned an offset within the collective buffer. Each software routine may then use the portion of the collective buffer starting at its offset as its dynamically allocated work space. To allocate the collective buffer, a collective buffer size is first determined which is sufficient to satisfy the total dynamic memory requirements of the software routines. In determining the collective buffer size, the size of a software routine buffer required by each software routine is accumulated into the collective buffer size. As each software routine buffer size requirement is accumulated, the interim total is stored as the offset for the next software routine. When the last software routine buffer size requirement is accumulated, the total indicates the collective buffer size. A collective buffer of the collective buffer size is then allocated. When the software routines are executed, each software routine uses a portion of the collective buffer referenced by its assigned offset. When all the software routines complete execution, the collective buffer may then be deallocated. In a preferred embodiment, the memory is allocated to a software system having a layered architecture including an application program and a device driver comprising a plurality of component device drivers.
A method in a computer system of allocating memory for a plurality of related software routines that are part of a program, each software routine having memory requirements, the method comprising the steps of:
A method in a computer system of allocating memory for component device drivers, each component device driver having memory requirements, the method comprising the steps of:
A method in a computer system of allocating memory needed to process an I/O request from an application program, the method comprising the steps of:
A computer-readable medium holding computer-executable instructions for performing a method in a computer system of allocating memory for a plurality of related soft-ware routines that are part of a program, each software routine having memory requirements, the method comprising the steps of:
A computer-readable medium holding computer-executable instructions for performing a method in a computer system of allocating memory for component device drivers, each component device driver having memory requirements, the method comprising the steps of:
A computer-readable medium holding computer-executable instructions for performing a method in a computer system of allocating memory needed to process an I/O request from an application program, the method comprising the steps of:
Dependencies are inferred from the claim text.