摘要:
In a virtual memory data processing system, the use of a pageable External Page Table data structure for recording current status and disk address information for each virtual page in the system and a non-pageable or pinned table of tables, provides improved system performance when a large number of virtual pages are to be operated on in the same manner. As disclosed, each page of External Page Table entries can record a predetermined number of entries (512), depending on the byte capacity of each virtual page (2,048) and the size of each entry (4 bytes). One page of 512 entries corresponds to 1 megabyte of virtual storage (512 × 2,048) and also appears as one entry in a pinned External Page Table. The pinned External Page Table is referred to as the "XPT of the XPT," and has the same format as the pageable XPT. A 256 megabyte segment of virtual memory is representable in the XPT of the XPT by 256, 4 byte entries, or one-half of a page. Where all virtual pages represented by a page of XPT entries are to be processed in the same way (i.e., created, destroyed), one operation on one entry in the XPT of the XPT is made, rather than 512 operations on the 512 entries of the XPT.
摘要:
In a virtual memory priority interrupt data processing system, system events are logically serialised, because each event causes a different predetermined interrupt servicing routine to be executed, which processes virtual pages in a manner that requires data structures that record the current status of virtual pages to be updated to reflect the change of state resulting from processing. The system events to be serialised include the interrupt that is generated as a result of a page fault, the interrupt that is generated as a result of a paging I/O completion operation that resolves a page fault by paging in a virtual page from the secondary storage device, and lastly, interrupts that are generated in response to a supervisory call to a paging service, such as create or destroy segment. These latter supervisory calls cause the status of one or more pages to be changed and, therefore, the data structure which records such changes must also be updated. The page fault interrupt handling process is only interruptable by another page fault interrupt, or an I/O. An I/O interrupt merely suspends the page fault handler. At the completion of the routine that services the I/O device interrupt, the page fault handler continues from the point of interruption. A second page fault interrupt, however, is serviced and the first page fault is restarted at the beginning of its critical section after the second page fault has been serviced. I/O page fault completion interrupts are placed in a queue. The page faulting process is executed in a mode which delays processing this queue, so these interrupts are serialised after the page fault handling interrupts. The supervisory calls to paging services routines also are executed in a mode that delays processing of enqueued I/O page fault completion interrupts. These interrupts are, therefore serialised last, relative to the other system events. The paging service routines do, however, honour page fault interrupts which are, therefore, serialised ahead of the supervisory calls to paging services. When the page fault handler completes, the interrupted paging service will be re-started at the beginning of its critical section. All three system events are, therefore, logically serialised to preserve the integrity of all data structures that record current status of virtual pages and page frames in the system.
摘要:
In a virtual memory priority interrupt data processing system, system events are logically serialised, because each event causes a different predetermined interrupt servicing routine to be executed, which processes virtual pages in a manner that requires data structures that record the current status of virtual pages to be updated to reflect the change of state resulting from processing. The system events to be serialised include the interrupt that is generated as a result of a page fault, the interrupt that is generated as a result of a paging I/O completion operation that resolves a page fault by paging in a virtual page from the secondary storage device, and lastly, interrupts that are generated in response to a supervisory call to a paging service, such as create or destroy segment. These latter supervisory calls cause the status of one or more pages to be changed and, therefore, the data structure which records such changes must also be updated. The page fault interrupt handling process is only interruptable by another page fault interrupt, or an I/O. An I/O interrupt merely suspends the page fault handler. At the completion of the routine that services the I/O device interrupt, the page fault handler continues from the point of interruption. A second page fault interrupt, however, is serviced and the first page fault is restarted at the beginning of its critical section after the second page fault has been serviced. I/O page fault completion interrupts are placed in a queue. The page faulting process is executed in a mode which delays processing this queue, so these interrupts are serialised after the page fault handling interrupts. The supervisory calls to paging services routines also are executed in a mode that delays processing of enqueued I/O page fault completion interrupts. These interrupts are, therefore serialised last, relative to the other system events. The paging service routines do, however, honour page fault interrupts which are, therefore, serialised ahead of the supervisory calls to paging services. When the page fault handler completes, the interrupted paging service will be re-started at the beginning of its critical section. All three system events are, therefore, logically serialised to preserve the integrity of all data structures that record current status of virtual pages and page frames in the system.
摘要:
In a virtual memory data processing system, the use of a pageable External Page Table data structure for recording current status and disk address information for each virtual page in the system and a non-pageable or pinned table of tables, provides improved system performance when a large number of virtual pages are to be operated on in the same manner. As disclosed, each page of External Page Table entries can record a predetermined number of entries (512), depending on the byte capacity of each virtual page (2,048) and the size of each entry (4 bytes). One page of 512 entries corresponds to 1 megabyte of virtual storage (512 × 2,048) and also appears as one entry in a pinned External Page Table. The pinned External Page Table is referred to as the "XPT of the XPT," and has the same format as the pageable XPT. A 256 megabyte segment of virtual memory is representable in the XPT of the XPT by 256, 4 byte entries, or one-half of a page. Where all virtual pages represented by a page of XPT entries are to be processed in the same way (i.e., created, destroyed), one operation on one entry in the XPT of the XPT is made, rather than 512 operations on the 512 entries of the XPT.