Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Dynamically Expandable Control Block Array in a Virtual Memory System

IP.com Disclosure Number: IPCOM000061358D
Original Publication Date: 1986-Jul-01
Included in the Prior Art Database: 2005-Mar-09
Document File: 1 page(s) / 13K

Publishing Venue

IBM

Related People

Lang, TG: AUTHOR [+3]

Abstract

A method is described which, in response to varying system load, changes the size of an array in virtual memory containing system control blocks. The dynamic nature of the Virtual Resource Memory (VRM) system causes the requirements for space for system control blocks to vary widely as the system is running. In addition, this memory used for the control blocks must be permanently dedicated, or pinned, so that it can be accessible to I/O devices and device driver software at all times. Also, a large enough pool of control blocks must be maintained so that there will always be one available when requested by an I/O device driver. The system, at times, may be forced to wait while the number of control blocks is increased.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 1 of 1

Dynamically Expandable Control Block Array in a Virtual Memory System

A method is described which, in response to varying system load, changes the size of an array in virtual memory containing system control blocks. The dynamic nature of the Virtual Resource Memory (VRM) system causes the requirements for space for system control blocks to vary widely as the system is running. In addition, this memory used for the control blocks must be permanently dedicated, or pinned, so that it can be accessible to I/O devices and device driver software at all times. Also, a large enough pool of control blocks must be maintained so that there will always be one available when requested by an I/O device driver. The system, at times, may be forced to wait while the number of control blocks is increased. In accordance with the new method, an area of virtual memory large enough to contain, for example, 64K (65,536) control blocks of 32-bytes each is permanently defined. When the system is IPLed (initial program loaded), only a minimum amount of real memory is dedicated to this virtual memory area (enough for 128 blocks). As these control blocks are consumed, or new components are added to the system which reserve a number of control blocks, the area is expanded in units of one virtual memory page. The addition of a new page to the area may require that disk I/O be performed to free up a real memory page. I/O device drivers cannot afford to wait for this operation to take place, so a threshold is kept track of by the VRM. When the number of free blocks drops below this threshold, a request is started to get the next page worth of control blocks. If the requestor of the block is a process, the process is forced to wait until the next page of control blocks is available. If the requestor of th...