A hierarchially arranged memory system is described for a data processing system having virtual addressing. A three-level working memory is provided, along with an auxiliary memory, in a data processing system containing a secondary buffer between the main memory and a rapid buffer memory. Whereas the main memory contains all actual storage areas, i.e. the memory pages of the inactive processes which were required for the processing period just passed, the actual storage area for the successor process, independent from the operating system, is set independently by its own microprocessor.
A disk operating system converts virtual storage space locations of one or more processes into real disk or core memory storage space locations of a computer system. Real and virtual storage space are divided into equal sized pages. Real storage pages are grouped into variable sized segments and a separate segment page table is provided for each real storage segment, each entry therein characterizing the nature and location of a page. A separate process map list is provided for each process, each entry therein mapping an area of contiguous virtual storage pages onto a segment page table. Before a process executes a program, the operating system uses the associated process map list, along with the segment page tables mapped by the list, to create a process page table which directly maps virtual storage pages of a process into real storage pages. The operating system then uses the process page table to translate virtual storage addresses into real storage addresses whenever an associated process attempts to access a virtual storage location.
A computer memory system for use with a user processor provides automatic memory operations independently of the user processor. The memory system includes a logical memory system which is accessed by the user processor through a binding register unit, enabling the user processor to allocate blocks and specify the length of the blocks. Data within the blocks can also be specified by the user by relative indexing with respect to a block specifier in the binding register unit. The user cannot access the memory directly, but must access the memory through the binding registers. The logical memory system is controlled by a separate memory management unit which manages the physical memory of the system and which manages the memory to have the logical memory system appearance to the user processor.
A computer system including a master entitlement processor for storing user information, such as user passwords and access permissions, and a user computer system for allowing a user to operate an application in accordance with the user information corresponding to the user. The user computer system preferably includes a plurality of server computers organized into an enterprise including a plurality of domains. Two-way communication between the master entitlement processor and the server computers facilitates accurate storage, reliable access and easy modification of the user information. Organization of the server computers into domains allows good fault tolerance and robust failover and failback operations through static and dynamic loadbalancing.
Permits one program in one address space to obtain access to data in another address space without invoking a supervisor. Each of a plurality of address spaces assigned an Address Space Number (ASN) has an associated set of address translation tables. Addressability to a second address space may be specified by a program if authorized in accordance with the entry of an authority table associated with the second address space, the entry being designated by an authorization index associated with the program.
A data storage apparatus has a plurality p of storage spaces for storing sets of data. Each of the spaces has: available (unused) space x.sub.1 for storage; a number x.sub.2 of data sets already stored; a number x.sub.3 of channels available for transferring data to the space; and a number x.sub.4 of times the space is scheduled to be used for reading out sets of data therefrom. An allocation factor Qp=f(ai, xi) is calculated for each space where ai are weighting factors ranking xi in order of importance. A data set is allocated to the space having the "best" (e.g. lowest) value of Qp at the time the data is to be allocated. Once allocation factors determined, then data may be allocated according to usage indices representing the ability of a space to store the data at the time of allocation.