Browse Prior Art Database

Virtual Work Spaces

IP.com Disclosure Number: IPCOM000060464D
Original Publication Date: 1986-Apr-01
Included in the Prior Art Database: 2005-Mar-08
Document File: 3 page(s) / 48K

Publishing Venue

IBM

Related People

Childs, AD: AUTHOR [+5]

Abstract

Many programs need a facility for extending their addressability beyond those restrictions imposed by the hardware on which they run. Virtual memory requires special hardware features not always provided. The ideas discussed herein extend the addressability of programs in a limited hardware base. Also, virtual work spaces facilitate the writing of reentrant programs. A reentrant program must be refreshable from its library at every point where storage may be taken away from it. Providing a means to separate variable data from executable code greatly eases the programmer's job of writing reentrant code. Further, the functions facilitate sharing data between programs running within the same process or programs running in asynchronous, concurrent processes. Virtual work spaces (VWS) are logical contiguous entities.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 3

Virtual Work Spaces

Many programs need a facility for extending their addressability beyond those restrictions imposed by the hardware on which they run. Virtual memory requires special hardware features not always provided. The ideas discussed herein extend the addressability of programs in a limited hardware base. Also, virtual work spaces facilitate the writing of reentrant programs. A reentrant program must be refreshable from its library at every point where storage may be taken away from it. Providing a means to separate variable data from executable code greatly eases the programmer's job of writing reentrant code. Further, the functions facilitate sharing data between programs running within the same process or programs running in asynchronous, concurrent processes. Virtual work spaces (VWS) are logical contiguous entities. A contiguous area is associated with each VWS. A work space may be accessed only while the page being referenced is in main storage. Only one copy of a VWS will be in storage at any instant in time. It may be partly or wholly in main storage and is required to be in storage only while a task that is ready to run or is running has it mapped in its 64K region. A program may map all or part of a VWS into its logical region. The VWS may be mapped to any address in the program's region. Programs define and control the contents of their work spaces. They may use them as buffers, tables, parameter lists, executable code, etc. Programs share data or code by mapping the same virtual address (an address relative to the beginning of the VWS) of the same VWS into their region. Since only one copy of the VWS is in storage, a change to the VWS in one program's logical region affects the same VWS in all logical regions which are mapped to it. To facilitate synchronization and address assignment to data area, partitioning primitives which return and accept logical or virtual addresses are provided by the system nucleus. Creation of a VWS involves invocation of the Create primitive and specification of the size and attributes of the VWS. The Create primitive provides two functions, creating a work space and checking for its existence. If the work space already exists, the program may optionally create a new one. Thus a program may choose a private work space or a shar...