Patent US2444806A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5363497A Expired / Lapsed US ⏱️ 0.0 years remaining

System for removing section of memory from first system and allocating to second system in a manner indiscernable to both operating systems

Assignee: International Business Machines Corp
•
Filing: 1993-09-30
•
Granted: 1994-11-08
•
Expires: 2013-09-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The functions of two virtual operating systems (e.g., S/370 VM, VSE or IX370 and S/88 OS) are merged into one physical system. Partner pairs of S/88 processors run the S/88 OS and handle the fault tolerant and single system image aspects of the system. One or more partner pairs of S/370 processors are coupled to corresponding S/88 processors directly and through the S/88 bus. Each S/370 processor is allocated from 1 to 16 megabytes of contiguous storage from the S/88 main storage. Each S/370 virtual operating system thinks its memory allocation starts at address 0, and it manages its memory through normal S/370 dynamic memory allocation and paging techniques, The S/370 is limit checked prevent the S/370 from accessing S/88 memory space. The S/88 Operating System is the master over all system hardware and I/O devices. The S/88 processors access the S/370 address space in direct response to a S/88 application program so that the S/88 may move I/O data into the S/370 I/O buffers and process the S/370 respective Operating Systems in a single system environment without significant rewriting of either operating system. Neither operating system is aware of the other operating system nor the other processor pairs.

Inventors

  • 👤 Ernest D. Baker
  • 👤 John M. Dinwiddie, Jr.
  • 👤 Lonnie E. Grice
  • 👤 John M. Loffredo
  • 👤 Kenneth R. Sanderson
  • 👤 Gustavo A. Suarez

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 03:05
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5005; G06F9/5011; G06F9/5016; G06F11/00; G06F11/07; G06F11/16; G06F11/1629; G06F11/1641; G06F11/1658; G06F11/1675; G06F11/1679; G06F15/00; G06F15/16; G06F15/161

Claims Analysis

Total Claims: 21
Claim 1
Independent Claim 373 words
A method of removing a section of main storage from a first data processing system, including a first processing element, said main storage and I/O apparatus operated under a first operating system, for use by a second processing element having means coupling the second processing element to said main storage and operating under control of a second operating system, said method of removing being in a manner indiscernible to both operating systems, comprising the steps of: dividing storage into a plurality of fixed-size blocks of contiguous storage under control of a storage manager of the first operating system; creating in the first system under control of the storage manager a storage map with entries corresponding to each block; tying together in a freelist in the first system under control of the storage manager the entries corresponding to blocks not presently assigned for use in a process by inserting in each entry a pointer to the next adjacent entry in the list; ordering the freelist under control of the storage manager to tie together, in sequential address order, entries for a large contiguous area of storage; accessing a predesignated location in main storage which holds a software pointer of the first operating system which points to the beginning of the freelist under control of a predetermined application program running in supervisory mode on the first processing element; altering the freelist pointers under control of a predetermined application program running in supervisor mode on the first processing element to remove from the freelist a group of entries defining a contiguous area of storage of predetermined size thereby removing said contiguous area of storage from control by the storage manager of the first operating system; operating the first processing element in isolation from the first operating system under the control of a predetermined application program executing on the first processing element for placing address data corresponding to the said defined area of storage into registers associated with said coupling means to permit accessing only of the defined area of storage by said second processing element during program execution under control of the second operating system, said second operating system being unaware of the use of the register address data for accessing said defined area of storage.
Claim 2
Independent Claim 373 words
A method of removing a section of main storage from a first data processing system, including a first processing element, said main storage and I/O apparatus operated under a first operating system, for use by a second processing element having means coupling the second processing element to said main storage and operating under control of a second operating system, said method of removing being in a manner indiscernible to both operating systems, comprising the steps of: dividing storage into a plurality of fixed-size blocks of contiguous storage under control of a storage manager of the first operating system; creating in the first system under control of the storage manager a storage map with entries corresponding to each block; tying together in a freelist in the first system under control of the storage manager the entries corresponding to blocks not presently assigned for use in a process by inserting in each entry a pointer to the next adjacent entry in the list; ordering the freelist under control of the storage manager to tie together, in sequential address order, entries for a large contiguous area of storage; accessing a predesignated location in main storage which holds a software pointer of the first operating system which points to the beginning of the freelist under control of a predetermined application program running in supervisory mode on the first processing element; altering the freelist pointers under control of a predetermined application program running in supervisor mode on the first processing element to remove from the freelist a group of entries defining a contiguous area of storage of predetermined size thereby removing said contiguous area of storage from control by the storage manager of the first operating system; operating the first processing element in isolation from the first operating system under the control of a predetermined application program executing on the first processing element for placing address data corresponding to the said defined area of storage into registers associated with said coupling means to permit accessing only of the defined area of storage by said second processing element during program execution under control of the second operating system, said second operating system being unaware of the use of the register address data for accessing said defined area of storage.
Claim 3
Dependent Claim 17 words
The method of claim 1 wherein at least the first operating system is a virtual operating system.
Claim 4
Dependent Claim 13 words
The method of claim 1 wherein both operating systems are virtual operating systems.
Claim 5
Dependent Claim 41 words
The method of claim 1 further comprising the step of: assigning blocks of storage, of the removed contiguous area of storage, to tasks processed by the second operating system under control of a second storage manager of the second operating system.
Claim 6
Independent Claim 262 words
A method of removing a section of main storage from a first data processing system, including a first processing element, said main storage and I/O apparatus operated under a first operating system, for use by a second processing element having means coupling the second processing element of said main storage and operating under control of a second operating system, said method of removing being in manner indiscernible to both operating systems comprising the steps of: creating a list of entries, in sequential address order, corresponding to unused blocks of storage, used by the first operating system for allocating storage blocks to processes, accessing a predesignated location in main storage which holds a software pointer of the first operating system which points to the beginning of said list of entries under control of a predetermined application program running in supervisory mode on the first processing element, altering said list under control of an application program running in supervisor mode on the first processing element to remove from the list a group of entries corresponding to a contiguous area of storage of predetermined size, thereby rendering said contiguous area unavailable to the storage manager of first operating system, storing address data corresponding to said contiguous area in registers associated with said coupling means in a manner indiscernible to both operating system to permit accessing of the contiguous area by said second processing element during program execution under control of the second operating system, said second operating system being unaware of the use of the register address data for accessing said defined area of storage.
Claim 7
Independent Claim 262 words
A method of removing a section of main storage from a first data processing system, including a first processing element, said main storage and I/O apparatus operated under a first operating system, for use by a second processing element having means coupling the second processing element of said main storage and operating under control of a second operating system, said method of removing being in manner indiscernible to both operating systems comprising the steps of: creating a list of entries, in sequential address order, corresponding to unused blocks of storage, used by the first operating system for allocating storage blocks to processes, accessing a predesignated location in main storage which holds a software pointer of the first operating system which points to the beginning of said list of entries under control of a predetermined application program running in supervisory mode on the first processing element, altering said list under control of an application program running in supervisor mode on the first processing element to remove from the list a group of entries corresponding to a contiguous area of storage of predetermined size, thereby rendering said contiguous area unavailable to the storage manager of first operating system, storing address data corresponding to said contiguous area in registers associated with said coupling means in a manner indiscernible to both operating system to permit accessing of the contiguous area by said second processing element during program execution under control of the second operating system, said second operating system being unaware of the use of the register address data for accessing said defined area of storage.
Claim 8
Dependent Claim 13 words
The method of claim 5 wherein both operating systems are virtual operating systems.
Claim 9
Dependent Claim 28 words
The method of claim 6 wherein the list of entries are tied together by inserting in each entry a pointer to the next adjacent entry in the list.
Claim 10
Dependent Claim 24 words
The method of claim 7 wherein the entries are arranged in order to define in sequential address order blocks comprising contiguous areas of storage.
Claim 11
Dependent Claim 35 words
The method of claim 8 wherein certain of the pointers in the list are selectively altered to remove from the list said group of entries corresponding to said contiguous area of storage of predetermined size.
Claim 12
Dependent Claim 28 words
The method of claim 5 wherein the list of entries are tied together by inserting in each entry pointers to the preceding and succeeding entries in the list.
Claim 13
Dependent Claim 25 words
The method of claim 5 wherein said storing step is performed under the control of a predetermined application program executed on the first processing element.
Claim 14
Dependent Claim 46 words
The method of claim 5 wherein said storing step is performed under the control of a predetermined application program executed on the first processing element, said first processing element being operated in isolation from the first operating system during said execution of the predetermined application program.
Claim 15
Dependent Claim 28 words
The method of claim 12 wherein said creating step is performed in the first data processing system under control of a storage manager of the first operating system.
Claim 16
Dependent Claim 41 words
The method of claim 5 further comprising the step of: assigning blocks of storage, of the removed contiguous area of storage, to tasks processed by the second operating system under control of a second storage manager of the second operating system.
Claim 17
Dependent Claim 17 words
The method of claim 5 wherein at least the first operating system is a virtual operating system.
Claim 18
Independent Claim 408 words
A method of removing a section of main storage from a first data processing system, having a first processing element and associated hardware, which includes said main storage and I/O apparatus operated under a first operating system, for use by a second processing element having means coupling the second processing element to said main storage and operating under control of a second operating system, said method of removing being in a manner indiscernible to both operating systems, comprising the steps of: dividing storage into a plurality of fixed-size blocks of contiguous storage under control of a storage manager of the first operating system; creating in the first system under control of the storage manager a storage map with entries corresponding to each block; tying together in a freelist in the first system under control of the storage manager the entries corresponding to blocks not presently assigned for use in a process by inserting in each entry a pointer to the next adjacent entry in the list; ordering the freelist under control of the storage manager to tie together, in sequential address order, entries for a large contiguous area of storage; placing the first data processing system in supervisory mode for running a first predetermined application program; accessing a predesignated location in main storage which holds a software pointer of the first operating system which points to the beginning of the freelist under control of a said first predetermined application program running in supervisory mode on the first processing element; altering the freelist pointers under control of said first predetermined application program running in supervisory mode on the first processing element to remove from the freelist a group of entries defining a contiguous area of storage of predetermined size thereby removing said contiguous area of storage from control by the storage manager of the first operating system; returning the first data processing system to user mode; and operating the first processing element in isolation from the first operating system under the control of a second predetermined application program executing on the first processing element for placing address data corresponding to the said defined area of storage into registers associated with said coupling means to permit accessing only of the defined area of storage by said second processing element during program execution under control of the second operating system, said second operating system being unaware of the use of the register address data for accessing said defined area of storage.
Claim 19
Independent Claim 408 words
A method of removing a section of main storage from a first data processing system, having a first processing element and associated hardware, which includes said main storage and I/O apparatus operated under a first operating system, for use by a second processing element having means coupling the second processing element to said main storage and operating under control of a second operating system, said method of removing being in a manner indiscernible to both operating systems, comprising the steps of: dividing storage into a plurality of fixed-size blocks of contiguous storage under control of a storage manager of the first operating system; creating in the first system under control of the storage manager a storage map with entries corresponding to each block; tying together in a freelist in the first system under control of the storage manager the entries corresponding to blocks not presently assigned for use in a process by inserting in each entry a pointer to the next adjacent entry in the list; ordering the freelist under control of the storage manager to tie together, in sequential address order, entries for a large contiguous area of storage; placing the first data processing system in supervisory mode for running a first predetermined application program; accessing a predesignated location in main storage which holds a software pointer of the first operating system which points to the beginning of the freelist under control of a said first predetermined application program running in supervisory mode on the first processing element; altering the freelist pointers under control of said first predetermined application program running in supervisory mode on the first processing element to remove from the freelist a group of entries defining a contiguous area of storage of predetermined size thereby removing said contiguous area of storage from control by the storage manager of the first operating system; returning the first data processing system to user mode; and operating the first processing element in isolation from the first operating system under the control of a second predetermined application program executing on the first processing element for placing address data corresponding to the said defined area of storage into registers associated with said coupling means to permit accessing only of the defined area of storage by said second processing element during program execution under control of the second operating system, said second operating system being unaware of the use of the register address data for accessing said defined area of storage.
Claim 20
Dependent Claim 109 words
The method of claim 16 wherein the step of operating the first processing element in isolation from the first operating system comprises the steps of: executing in said first processing element a selected data transfer instruction of the second predetermined application program; applying a predetermined virtual address on the address bus of the first processing element during the execution of said instruction; decoding said address; and responsive to said decoding, blocking a processing element address strobe signal from the associated hardware and applying it to said registers, thereby uncoupling the first processing element from its associated hardware and coupling the first processing element to the registers for data transfer.
Claim 21
Dependent Claim 41 words
The method of claim 16 further comprising the step of: assigning blocks of storage, of the removed contiguous area of storage, to tasks processed by the second operating system under control of a second storage manager of the second operating system.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-11-07 1998-05-09 1998-11-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-11-07 2002-05-09 2002-11-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-11-07 2006-05-09 2006-11-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag