CA2083634A1 - Method and apparatus for mapping page table trees into virtual address space for address translation - Google Patents
Method and apparatus for mapping page table trees into virtual address space for address translationInfo
- Publication number
- CA2083634A1 CA2083634A1 CA2083634A CA2083634A CA2083634A1 CA 2083634 A1 CA2083634 A1 CA 2083634A1 CA 2083634 A CA2083634 A CA 2083634A CA 2083634 A CA2083634 A CA 2083634A CA 2083634 A1 CA2083634 A1 CA 2083634A1
- Authority
- CA
- Canada
- Prior art keywords
- page table
- address space
- virtual address
- virtual memory
- virtual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Techniques used in a virtual memory system for mapping the page table for a process onto the process's virtual address space. The mappings make it possible for the virtual memory manager to compute addresses for the page table in the same fashion, regardless of the page table configuration required by the hardware. The techniques include linear mapping of a process's page table entries onto a portion of its virtual address space and self-recursive mapping of page trees onto the virtual address space. The techniques make porting an operating system to various kinds of hardware easier, reduce the size of the portion of virtual memory which must be reserved for the page table, and speed up references to the page table by the virtual memory manager. Further refinements permit creation of nodes of the mapped page table on demand and access of a second process's page table from a first process's page table.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US81485491A | 1991-12-30 | 1991-12-30 | |
US814,854 | 1991-12-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2083634A1 true CA2083634A1 (en) | 1993-07-01 |
CA2083634C CA2083634C (en) | 1999-01-19 |
Family
ID=25216171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002083634A Expired - Lifetime CA2083634C (en) | 1991-12-30 | 1992-11-24 | Method and apparatus for mapping page table trees into virtual address space for address translation |
Country Status (2)
Country | Link |
---|---|
US (1) | US5652854A (en) |
CA (1) | CA2083634C (en) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1084005C (en) * | 1994-06-27 | 2002-05-01 | 国际商业机器公司 | Method and apparatus for dynamically controlling address space allocation |
US6081623A (en) * | 1995-10-11 | 2000-06-27 | Citrix Systems, Inc. | Method for lossless bandwidth compression of a series of glyphs |
US6016535A (en) * | 1995-10-11 | 2000-01-18 | Citrix Systems, Inc. | Method for dynamically and efficiently caching objects by subdividing cache memory blocks into equally-sized sub-blocks |
US6061773A (en) * | 1996-05-03 | 2000-05-09 | Digital Equipment Corporation | Virtual memory system with page table space separating a private space and a shared space in a virtual memory |
US5873127A (en) * | 1996-05-03 | 1999-02-16 | Digital Equipment Corporation | Universal PTE backlinks for page table accesses |
US6057857A (en) | 1996-06-12 | 2000-05-02 | Citrix Systems, Inc. | Method for the lossless compression of lines in a distributed computer system |
US6065104A (en) * | 1997-07-23 | 2000-05-16 | S3 Incorporated | Method of embedding page address translation entries within a sequentially accessed digital audio data stream |
US6055617A (en) * | 1997-08-29 | 2000-04-25 | Sequent Computer Systems, Inc. | Virtual address window for accessing physical memory in a computer system |
US6014667A (en) * | 1997-10-01 | 2000-01-11 | Novell, Inc. | System and method for caching identification and location information in a computer network |
US6085296A (en) * | 1997-11-12 | 2000-07-04 | Digital Equipment Corporation | Sharing memory pages and page tables among computer processes |
US6804766B1 (en) * | 1997-11-12 | 2004-10-12 | Hewlett-Packard Development Company, L.P. | Method for managing pages of a designated memory object according to selected memory management policies |
US6604184B2 (en) | 1999-06-30 | 2003-08-05 | Intel Corporation | Virtual memory mapping using region-based page tables |
US6594780B1 (en) * | 1999-10-19 | 2003-07-15 | Inasoft, Inc. | Operating system and data protection |
US7337360B2 (en) * | 1999-10-19 | 2008-02-26 | Idocrase Investments Llc | Stored memory recovery system |
US6233668B1 (en) | 1999-10-27 | 2001-05-15 | Compaq Computer Corporation | Concurrent page tables |
US6424976B1 (en) | 2000-03-23 | 2002-07-23 | Novell, Inc. | Method of implementing a forward compatibility network directory syntax |
US20020029285A1 (en) | 2000-05-26 | 2002-03-07 | Henry Collins | Adapting graphical data, processing activity to changing network conditions |
JP4233492B2 (en) * | 2004-06-02 | 2009-03-04 | 富士通マイクロエレクトロニクス株式会社 | Address translation device |
GB0415850D0 (en) * | 2004-07-15 | 2004-08-18 | Imagination Tech Ltd | Memory management system |
US8843727B2 (en) * | 2004-09-30 | 2014-09-23 | Intel Corporation | Performance enhancement of address translation using translation tables covering large address spaces |
US8171169B2 (en) * | 2005-03-14 | 2012-05-01 | Citrix Systems, Inc. | Method and apparatus for updating a graphical display in a distributed processing environment |
US8423673B2 (en) | 2005-03-14 | 2013-04-16 | Citrix Systems, Inc. | Method and apparatus for updating a graphical display in a distributed processing environment using compression |
JP2008276326A (en) * | 2007-04-25 | 2008-11-13 | Hitachi Ltd | Storage control unit, and virtual memory control method for storage control unit |
US8918619B2 (en) * | 2009-10-04 | 2014-12-23 | Infinidat Ltd. | Virtualized storage system and method of operating thereof |
JP5794677B2 (en) * | 2011-06-14 | 2015-10-14 | キヤノン株式会社 | Information processing apparatus, information processing apparatus control method, and computer program |
US9798674B2 (en) | 2014-12-12 | 2017-10-24 | Cisco Technology, Inc. | N-ary tree for mapping a virtual memory space |
US10043005B2 (en) | 2016-03-31 | 2018-08-07 | Bitdefender IPR Management Ltd. | Systems and methods for application control in virtualized environments |
CN113886288A (en) * | 2021-09-29 | 2022-01-04 | 南方科技大学 | Resource access control method, system, equipment and storage medium based on ARM architecture |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2230258A5 (en) * | 1973-05-16 | 1974-12-13 | Honeywell Bull Soc Ind | |
US4758946A (en) * | 1986-04-09 | 1988-07-19 | Elxsi | Page mapping system |
US5095420A (en) * | 1988-11-21 | 1992-03-10 | International Business Machines | Method and system for performing virtual address range mapping in a virtual storage data processing system |
US5247632A (en) * | 1989-01-23 | 1993-09-21 | Eastman Kodak Company | Virtual memory management arrangement for addressing multi-dimensional arrays in a digital data processing system |
-
1992
- 1992-11-24 CA CA002083634A patent/CA2083634C/en not_active Expired - Lifetime
-
1995
- 1995-06-06 US US08/469,376 patent/US5652854A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CA2083634C (en) | 1999-01-19 |
US5652854A (en) | 1997-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2083634A1 (en) | Method and apparatus for mapping page table trees into virtual address space for address translation | |
CA2005463A1 (en) | Address translation mechanism for multiple-sized pages | |
AU4180589A (en) | Dynamic address mapping for conflict-free vector access | |
EP0370178A3 (en) | Method and system for mapping data in a virtual storage data processing system | |
CA2149462A1 (en) | Telecommunications feature server | |
CA2148180A1 (en) | Method for Allocating High Memory in a Personal Computer | |
CA2091084A1 (en) | Combined terminal adapter for smd5 and frame relay high speed data services | |
CA2022656A1 (en) | Translation look-aside buffer for a computer memory system | |
CA2315199A1 (en) | Storage router and method for providing virtual local storage | |
AU7595596A (en) | Virtual memory system with local and global virtual address translation | |
WO1998030969A3 (en) | Dma device with local page table | |
CA2138630A1 (en) | Distributed file system | |
TW359776B (en) | Data processor and data processing system | |
CA2021272A1 (en) | Associative map with least recently used (lru) replacement | |
IE870309L (en) | Cache and virtual memory organisation | |
AU508064B2 (en) | Key controlled address relocation translation system | |
EP0387871A3 (en) | Extended memory address control system | |
GB2368429A (en) | Virtual memory mapping using region-based page tables | |
BR9907844A (en) | Device and method of interlacing and deinterlacing for communication system | |
AU4379389A (en) | High speed bus with virtual memory data transfer capability | |
DE68924414D1 (en) | Translation of virtual addresses. | |
AU5984690A (en) | A virtual storage address space access control system | |
AU610048B2 (en) | Voice storage/retrieval system with memory address generator successively initialized with start-point addresses | |
EP0071836A3 (en) | Data processing apparatus including storage with address mapping by block | |
EP0919927A3 (en) | Dynamic memory allocation technique for maintaining an even distribution of cache page addresses within an address space |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKEX | Expiry |