CN101008922A - Segmentation and paging data storage space management method facing heterogeneous polynuclear system - Google Patents
Segmentation and paging data storage space management method facing heterogeneous polynuclear system Download PDFInfo
- Publication number
- CN101008922A CN101008922A CNA2007100669311A CN200710066931A CN101008922A CN 101008922 A CN101008922 A CN 101008922A CN A2007100669311 A CNA2007100669311 A CN A2007100669311A CN 200710066931 A CN200710066931 A CN 200710066931A CN 101008922 A CN101008922 A CN 101008922A
- Authority
- CN
- China
- Prior art keywords
- page
- segment
- access
- storage space
- main memory
- 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.)
- Pending
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种面向异构多核体系的段页式存储空间管理方法。这种方法采用先分段,然后在段内分页来实现了面向异构多核体系的段页式存储空间管理,按照程序的逻辑意义来分段,然后在每一段内再分为大小相等的页,这样既保留了段的逻辑意义,又能够以页作为存储调度的最小单位,避免了存储空间碎片的产生,节约了存储空间的资源。加上访问页面数据缺页处理方法使得应用程序可以在足够大的虚拟空间上运行,不但可以保证每一段拥有完整逻辑意义,又能够尽量减少内存碎片的产生。本方法可以在异构多核体系上使用。
The invention discloses a segment page storage space management method for a heterogeneous multi-core system. This method implements segmented page storage space management for heterogeneous multi-core systems by first segmenting and then paging within the segment. Segments are segmented according to the logical meaning of the program, and then divided into equal-sized pages within each segment. , so that not only the logical meaning of the segment is preserved, but also the page can be used as the smallest unit of storage scheduling, which avoids the generation of storage space fragmentation and saves storage space resources. In addition, the access page data page fault handling method enables the application program to run on a sufficiently large virtual space, which not only ensures that each segment has a complete logical meaning, but also minimizes the generation of memory fragmentation. This method can be used on heterogeneous multi-core systems.
Description
技术领域technical field
本发明涉及计算机操作系统领域,尤其涉及一种面向异构多核体系的段页式存储空间管理方法。The invention relates to the field of computer operating systems, in particular to a segment page storage space management method for a heterogeneous multi-core system.
背景技术Background technique
存储空间管理是操作系统的重要组成部分,它负责管理计算机系统的存储器。存储器可分成主存储器(简称主存)和辅助存储器(简称辅存)两类。Storage space management is an important part of the operating system, which is responsible for managing the memory of the computer system. Memory can be divided into two categories: main memory (referred to as main memory) and auxiliary memory (referred to as auxiliary memory).
主存储器的存储空间一般分中两部分:一部分是系统区,存放操作系统以及一些标准子程序,例行程序等;另一部分是用户区,存放用户的程序和数据等。存储管理主要是对主存储器中的用户区域进行管理。The storage space of the main memory is generally divided into two parts: one part is the system area, which stores the operating system and some standard subroutines, routine programs, etc.; the other part is the user area, which stores user programs and data. Storage management is mainly to manage the user area in the main memory.
计算机系统采用多道程序设计技术后,往往要在主存储器中同时存放多个作业的程序,而这些程序在主存储器中的位置是不能预先知道的,所以用户在编写程序时不能使用绝对地址。现代计算机的指令中地址部分所指示的地址通常是地址,逻辑地址可从0开始编号。用户按逻辑地址编写程序。当要把程序装入计算机时,首先,操作系统要为其分配一个合适的主存空间。由于逻辑地址经常与分配到的主存空间的绝对地址不一致,而处理器执行指令是按绝对地址进行的,所以必须把逻辑地址转换成绝对地址才能得到信息的真实存放处。把逻辑地址转换成绝对地址的工作称地址转换。After the computer system adopts multi-programming technology, it often needs to store programs of multiple jobs in the main memory at the same time, and the positions of these programs in the main memory cannot be known in advance, so users cannot use absolute addresses when writing programs. The address indicated by the address part in the instructions of a modern computer is usually an address, and logical addresses can be numbered starting from 0. Users write programs in terms of logical addresses. When loading a program into a computer, first, the operating system must allocate a suitable main memory space for it. Since the logical address is often inconsistent with the absolute address of the allocated main memory space, and the processor executes instructions according to the absolute address, it is necessary to convert the logical address into an absolute address to obtain the real storage place of the information. The work of converting a logical address into an absolute address is called address translation.
多个作业共享主存储器时,必须对主存储器中的程序和数据进行保护,并进行合理有效地调动,以达到充分发挥主存储器的效率。When multiple jobs share the main memory, the programs and data in the main memory must be protected and allocated reasonably and effectively in order to fully utilize the efficiency of the main memory.
为方便用户编制程序,使用户编写程序时不受主存储器实际容量的限制,可以采用一定的技术“扩充”主存储器容量,可使用得到比实际容量大的主存空间。In order to make it easier for the user to program, so that the user is not limited by the actual capacity of the main memory when writing the program, a certain technology can be used to "expand" the main memory capacity, and a main memory space larger than the actual capacity can be used.
总之,存储管理的目的是要尽可能地方便用户和提高主存储器的效率。具体地说,存储管理有下面四个功能。In summary, the goal of storage management is to make it as user-friendly and as efficient as possible for main storage. Specifically, storage management has the following four functions.
1)主存储器空间的分配和去配1) Allocation and allocation of main memory space
要把作业装入主存时,必须按照规定的方式向操作系统提出申请,由存储管理进行具体分配。存储管理设置一张表格记录存储空间的分配情况,根据申请乾的要求按一定的策略分析存储空间的使用情况找出足够的空闲区域分配情况不能满足申请要求时,则让申请者处于等待主存资源的状态,直到有足够的主存空间时再分配给他。When a job is to be loaded into the main memory, an application must be made to the operating system in a prescribed manner, and the storage management will carry out specific allocation. Storage management Set up a table to record the allocation of storage space, analyze the usage of storage space according to certain strategies according to the requirements of the application, and find out enough free space. The state of the resource, until there is enough main memory space to allocate to him.
当主存储器中某个作业撤离或主动归还主存资源时,存储管理要收回它所占用的全部或部分存储空间,使它们成为空闲区域(也叫自由区),这时也要修改表格的有关项。收回存储区域的工作也称“去配”。When a job in the main memory evacuates or actively returns the main memory resources, the storage management needs to reclaim all or part of the storage space it occupies, making them free areas (also called free areas), and at this time, the relevant items in the table should also be modified . The work of reclaiming the storage area is also called "deallocation".
2)主存储器空间的共享2) Sharing of main memory space
主存储器空间的共享为了提高主存空间的利率效率,所谓主存储器空间共享有两方面的含义:Sharing of main memory space In order to improve the interest rate efficiency of main memory space, the so-called sharing of main memory space has two meanings:
●共享主存储器资源。采用多道程序设计技术使若干个程序同时进入主存储器,各自占用一定数量的存储空间,共同使用一个主存储器。• Shared main memory resources. Using multi-programming technology, several programs enter the main memory at the same time, each occupying a certain amount of storage space, and sharing a main memory.
●共享主存储器的某些区域。若干个作业有共同的程序段或数据时,可将这些共同的程序段或数据存放在某个存储区域内,各作业执行时都可访问它们。• Some areas of main memory are shared. When several jobs have common program segments or data, these common program segments or data can be stored in a certain storage area, and each job can access them when executing.
3)存储保护3) Storage Protection
主存储器中不仅有系统程序,而且还有若干道用户作业的程序。为了避免主存中的若干道程序相互干扰,必须对主存中的程序和数据进行保护。通常由硬件提供保护功能,软件配合实现。当要访问主存某一单元时,由硬件检查是否允许访问,若允许则执行,否则产生中断,由操作系统进行相应的处理。There are not only system programs but also programs for several user jobs in the main memory. In order to prevent several programs in the main memory from interfering with each other, the programs and data in the main memory must be protected. Usually, the protection function is provided by the hardware and realized by the cooperation of the software. When a certain unit of the main memory is to be accessed, the hardware checks whether the access is allowed, and if it is allowed, it is executed, otherwise an interrupt is generated, and the operating system performs corresponding processing.
最基本的保护措施是规定各道程序只能访问属于它的那些区域或存取公共区域中的信息,不过对公共的访问应该加以限制,一般说,一个程序执行时可能有下列三种情况:The most basic protection measure is to stipulate that each program can only access those areas that belong to it or access the information in the public area, but the public access should be restricted. Generally speaking, there may be the following three situations when a program is executed:
●对属于自己主存区域中的今年既可读又可写;●It is both readable and writable for the current year in its own main storage area;
●对公共区域中允许共享的信息或获得可使用的别的用户的信息,可读而不准修改;●The information that is allowed to be shared in the public area or the information of other users that can be used is readable and not allowed to be modified;
●对未获得授权使用的信息,既不可读又不可写。●Unauthorized use of information is neither readable nor writable.
4)主存储器空间的扩充4) Expansion of main memory space
在计算机硬件的支撑下,软硬件协作,可把磁盘等辅助存储器作为主存储器的扩充部分来使用。当一个大型的程序要装入主存时,可先把其中的一部分装入主存储器,其余部分存放在磁盘上,如果程序执行中需用不在主存中的信息时,由操作系统采用覆盖技术将其调入主存,这样,用户编制程序时还需考虑实际主存空间的容量,就他能使用一个足够的主存储器一样。这种主存空间的扩充大大地方便了用户,使他们在编制程序量可免去考虑繁杂的覆盖问题。With the support of computer hardware and the cooperation of software and hardware, auxiliary storage such as disks can be used as an extended part of the main storage. When a large-scale program needs to be loaded into the main memory, a part of it can be loaded into the main memory first, and the rest can be stored on the disk. If the program needs to use information that is not in the main memory, the operating system will use the overwriting technique. Transfer it into the main memory, so that the user also needs to consider the capacity of the actual main memory space when programming, just as he can use a sufficient main memory. The expansion of this main memory space greatly facilitates the users, so that they can be exempted from considering complicated coverage issues when compiling programs.
随着计算机技术的迅猛发展,在嵌入式领域涌现出越来越多的自定义的计算机体系结构,这也就是促使了对此类计算机体系结构的操作系统的存储器空间管理的特定需求。With the rapid development of computer technology, more and more self-defined computer architectures emerge in the embedded field, which prompts specific requirements for memory space management of operating systems of such computer architectures.
传统的存储空间管理方法采用连续空间的分配管理方法,这种实现方式具有实现方式简单,管理方式明确等优点。但是这种管理方法在使用过程中容易出现内存空间碎片等问题,尤其对于嵌入式系统,内存等存储设备空间有限,所以如何有效的使用这些有限的空间就显得很重要。The traditional storage space management method adopts a continuous space allocation management method, which has the advantages of simple implementation and clear management. However, this management method is prone to problems such as memory space fragmentation during use, especially for embedded systems, memory and other storage devices have limited space, so how to effectively use these limited spaces is very important.
发明内容Contents of the invention
本发明的目的在于提供一种面向异构多核体系的段页式存储空间管理方法。The object of the present invention is to provide a method for managing segmented page storage space facing heterogeneous multi-core systems.
本发明解决其技术问题采用的技术方案如下:The technical scheme that the present invention solves its technical problem adopts is as follows:
1)分段方法1) Segmentation method
I、异构多核体系的操作系统为用户作业中需要放入主存的每一段分配一块连续的存储空间,并且建立局部描述符表和全局描述符表;I. The operating system of the heterogeneous multi-core system allocates a continuous storage space for each segment that needs to be placed in the main memory in the user operation, and establishes a local descriptor table and a global descriptor table;
II、一个段描述符由8个字节构成,包括段基址、长度和自定义信息;II. A segment descriptor consists of 8 bytes, including segment base address, length and custom information;
2)段内分页方法2) Pagination method within a segment
I、将段内存储空间分成大小相等的页,并建立页表来实现页面的访问;I. Divide the storage space in the segment into pages of equal size, and establish a page table to realize page access;
II、将页表的一部分放入一个的高速存储器,形成快表,程序访问数据时,会先访问快表,只有当访问快表没有命中时,才会访问主存,这样可以提高存取速度;II. Put part of the page table into a high-speed memory to form a fast table. When the program accesses data, it will first access the fast table. Only when the access to the fast table does not hit, it will access the main memory, which can improve the access speed ;
3)存储空间的访问方法3) Access method of storage space
I、逻辑地址包括选择符和偏移;I. Logical address includes selector and offset;
II、通过逻辑地址中的选择符在描述符表中查找相应的描述符,描述符包含段基址、长度和自定义信息,其中基址与逻辑地址中的偏移一起形成线性地址;II. Find the corresponding descriptor in the descriptor table through the selector in the logical address. The descriptor contains the segment base address, length and custom information, where the base address and the offset in the logical address together form a linear address;
III、线性地址包括页目录号、页表号以及页内偏移;III. Linear address includes page directory number, page table number and page offset;
IV、首先使用线性地址中的页目录号在页目录中查找页表,然后在页表中通过页表号来查找页,最后通过页内偏移来得到物理地址,实现真正的页面数据访问;IV. First use the page directory number in the linear address to search the page table in the page directory, then search the page through the page table number in the page table, and finally obtain the physical address through the offset in the page to realize real page data access;
当访问页面数据访问发生缺页时的处理方法如下:When a page fault occurs in the access page data access, the processing method is as follows:
I、当主存中页面访问缺失时发生缺页中断,需要将页面换出,并通过页面调度调入新的页面;I. When a page fault interrupt occurs when the page access in the main memory is missing, the page needs to be swapped out and a new page is transferred through paging;
II、页面调度采用时钟页面调度方法,通过循环检测访问位来查找最近最少访问的页面进行换出。II. Paging adopts the clock paging method, and finds the least recently accessed page by cyclically detecting the access bits to be swapped out.
本发明与背景技术相比,具有的有益的效果是:Compared with the background technology, the present invention has the beneficial effects that:
在实现页面调度方面,采用时钟页面调度方法,通过循环检测访问位来查找最近最少访问的页面进行换出。这样能够获得较高的性能和较低的缺页率。这个通用的方法能够比较简单的处理了存储空间分配的问题。In terms of paging implementation, the clock paging method is adopted, and the access bit is cyclically detected to find the least recently accessed page for swapping out. This enables higher performance and lower page fault rates. This general method can deal with the problem of storage space allocation relatively simply.
同时在采用的段页式存储结构中,先按照程序的逻辑意义来分段,然后在每一段内再分为大小相等的页,这样既保留了段的逻辑意义,又能够以页作为存储调度的最小单位,避免了存储空间碎片的产生。节约了存储空间的资源。At the same time, in the segmented page storage structure adopted, segments are first divided according to the logical meaning of the program, and then each segment is divided into pages of equal size, which not only retains the logical meaning of the segment, but also uses pages as storage scheduling The smallest unit, avoiding the generation of storage space fragmentation. Saves storage space resources.
附图说明Description of drawings
图1是主存中段页式寻址方式示意图。Figure 1 is a schematic diagram of the page addressing mode of the middle segment of the main memory.
图2是段选择符的结构。Figure 2 is the structure of the segment selector.
图3是时钟调度构造的循环队列。Figure 3 is a circular queue constructed by clock scheduling.
图4是时钟调度的实现流程。Figure 4 is the implementation process of clock scheduling.
具体实施方式Detailed ways
1)分段方法1) Segmentation method
I、操作系统为用户作业中需要放入主存的每一段代码、数据等分配一块连续的存储空间,称为段。根据段的不同用途可分为:数据段、堆栈段、代码段、扩展数据段等等。并且建立局部描述符表LDT和全局描述符表GDT。局部描述符LDT表描述局部于每个程序的段,包括代码、数据、堆栈等;全局描述符表GDT描述系统段,包括操作系统自己。I. The operating system allocates a continuous storage space for each piece of code, data, etc. that needs to be placed in the main memory in the user's job, called a segment. According to the different purposes of the segment, it can be divided into: data segment, stack segment, code segment, extended data segment and so on. And establish local descriptor table LDT and global descriptor table GDT. The local descriptor LDT table describes the segments local to each program, including code, data, stack, etc.; the global descriptor table GDT describes the system segments, including the operating system itself.
II、一个段描述符由8个字节构成,包括段基址、长度和其他信息,如图1所示。其中:II. A segment descriptor consists of 8 bytes, including segment base address, length and other information, as shown in Figure 1. in:
●基地址共32位,分三处合并,生成内存段的首址,加上32位偏移形成内存地址。●The base address has a total of 32 bits, which are combined in three places to generate the first address of the memory segment, and the 32-bit offset is added to form the memory address.
●长度位共20位,限定段描述符寻址的内存段的长度,计量单位可以是字节或页。●The length bits are 20 bits in total, which limit the length of the memory segment addressed by the segment descriptor, and the measurement unit can be byte or page.
●G位用于描述颗粒大小,即段长度的计量单位。G=0表示长度以字节为单位;G=1表示长度以页为单位。• The G bit is used to describe the grain size, which is the unit of measure for segment length. G=0 means that the length is in bytes; G=1 means that the length is in pages.
●D位:当D=1时,为32位段;当D=0时,为16位段。● D bit: when D=1, it is a 32-bit segment; when D=0, it is a 16-bit segment.
●P位表示内存段是否在物理主存中,若P=1,表示段在内存中,若P=0,表示段不在内存中。● The P bit indicates whether the memory segment is in the physical main memory, if P=1, it means the segment is in the memory, if P=0, it means the segment is not in the memory.
●DPL位表示特权级,用于保护。0为内核级;1为系统调用级,2为共享库级,3为用户程序级。● The DPL bit represents the privilege level and is used for protection. 0 is the kernel level; 1 is the system call level, 2 is the shared library level, and 3 is the user program level.
●S位为段位,当S=1时,表示当前段为应用程序;当S=0时,表示描述●The S bit is the segment, when S=1, it means the current segment is an application program; when S=0, it means the description
符将引用内存段外的系统信息。specifier will refer to system information outside the memory segment.
●类型字段表示内存段类型,如可执行代码段、只读数据段、调用门等等。●The type field indicates the type of memory segment, such as executable code segment, read-only data segment, call gate, and so on.
●A位为访问位,表示是否访问过内存段。●A bit is the access bit, indicating whether the memory segment has been accessed.
2)段内分页方法2) Pagination method within a segment
I、操作系统将段内存储空间分成大小相等的页。并建立页表,页表中存储有页号、驻留标志、块号、辅存地址、调出标志。作用如下:驻留标志用于指出对应页是否已经装入主存,若驻留标志位为0,表明该页没有装入主存,此时可以根据辅存地址知道该页在辅助存储器中的地址。调出标志可以包括修改位、引用位、禁止缓存位和访问位,用来跟踪页的使用。当一个页被修改后,硬件自动设置修改位,一旦修改位被设置,当该页被调出主存时必须重新被写回辅存。引用位则在该页被引用时设置,无论是都或写,它的值被用来帮助操作系统进行页面淘汰。禁止缓存位可以禁止该页被缓存,这一特性对于那些正在与外设进行数据交换的页面时非常重要的。访问位则限定了该页允许什么样的访问,读、写和执行。I. The operating system divides the storage space in the segment into pages of equal size. And establish a page table, which stores page number, resident flag, block number, auxiliary storage address, and call-out flag in the page table. The function is as follows: the resident flag is used to indicate whether the corresponding page has been loaded into the main memory. If the resident flag is 0, it indicates that the page has not been loaded into the main memory. At this time, the address of the page in the auxiliary memory can be known according to the auxiliary memory address. address. Call-out flags can include modified bits, referenced bits, cache-disabled bits, and accessed bits to track page usage. When a page is modified, the hardware automatically sets the modification bit. Once the modification bit is set, the page must be written back to auxiliary storage when it is called out of main memory. The reference bit is set when the page is referenced, whether by write or write, and its value is used to help the operating system with page eviction. The disable cache bit can prevent the page from being cached, which is very important for pages that are exchanging data with peripherals. The access bits define what kind of access the page is allowed to read, write and execute.
II、将页表的一部分放入一个专用的高速存储器,形成快表。这个存储器的访问速度比主存的访问速度要快很多。程序访问数据时,首先访问快表,如果命中则直接读取,如果缺失,再去访问主存。页表中放的都是常用的数据页面,以保证较高的命中率,这样可以提高存取速度。例如,访问主存的时间为200毫微秒,访问快表的时间为40毫微秒,快表的命中率可达90%,于是按逻辑地址进行存取的平均时间为:II. Put part of the page table into a dedicated high-speed memory to form a fast table. The access speed of this memory is much faster than the access speed of main memory. When a program accesses data, it first accesses the fast table, if it is hit, it reads it directly, and if it is missing, it accesses the main memory. The commonly used data pages are placed in the page table to ensure a high hit rate, which can improve the access speed. For example, the time to access the main memory is 200 nanoseconds, the time to access the fast table is 40 nanoseconds, and the hit rate of the fast table can reach 90%, so the average time for accessing by logical address is:
(200+40)×90%+(200+200)×10%=256毫微秒(200+40)×90%+(200+200)×10%=256 nanoseconds
比两次访问主存的时间200毫微秒×2=400毫微秒下降了36%36% less than 200 ns x 2 = 400 ns for two accesses to main memory
3)存储访问方法3) Storage access method
如图2所示:as shown in picture 2:
I、逻辑地址包括选择符和偏移,选择符16位,其中最高的13位为索引,最低的第0位和第1位为保护位,另外第2位用来决定是全局描述符表GDT还是局部描述符表LDT。偏移为32位。I. The logical address includes selector and offset. The selector is 16 bits, the highest 13 bits are the index, the lowest bit 0 and the first bit are protection bits, and the second bit is used to determine the global descriptor table GDT Or Local Descriptor Table LDT. The offset is 32 bits.
II、首先通过第2位判断是全局描述符表还是局部描述符表,然后将选择符的最低的3位清0,与描述符表的起始地址相加得到一个直接指向段描述符的指针,通过这个指针来查找出段描述符。II. First judge whether it is a global descriptor table or a local descriptor table through the second bit, then clear the lowest 3 bits of the selector to 0, and add it to the start address of the descriptor table to obtain a pointer directly to the segment descriptor , use this pointer to find out the segment descriptor.
首先通过将偏移与段长度作比较,来检查地址的有效性。如果无效,则产生异常,如果有效,就将其中的基址取出并与逻辑地址中的偏移相加形成线性地址。The address is first checked for validity by comparing the offset to the segment length. If it is invalid, an exception will be generated. If it is valid, the base address will be taken out and added to the offset in the logical address to form a linear address.
III、32位的线性地址包括10位目录号、10位页表号以及12位的页内偏移。III. A 32-bit linear address includes a 10-bit directory number, a 10-bit page table number, and a 12-bit in-page offset.
IV、首先从页目录基址寄存器中得到页目录的基地址,再使用线性地址中的目录号在页目录中查找页表,得到页表的基地址,然后在页表中通过页表号来查找页,得到页的基地址,最后通过页的基地址加上页内偏移来得到物理地址,实现真正的数据访问;IV. First obtain the base address of the page directory from the page directory base address register, then use the directory number in the linear address to search the page table in the page directory to obtain the base address of the page table, and then use the page table number in the page table to Find the page, get the base address of the page, and finally get the physical address through the base address of the page plus the offset in the page to realize real data access;
4)缺页的处理方法4) How to deal with missing pages
I、在虚拟存储中,只有一部分页面被调入主存,其他页面放在辅存中。当主存中页面访问缺失时发生缺页中断,需要将页面从辅存调入,如果此时主存已经没有剩余的空间,就必须通过页面调度算法,将不用的页面调出到辅存,然后再调入新的页面;I. In virtual storage, only a part of the pages are transferred into the main memory, and other pages are placed in the auxiliary memory. When a page fault interrupt occurs when the page access in the main memory is missing, the page needs to be transferred from the auxiliary memory. Then transfer to a new page;
II、页面调度采用时钟页面调度方法。首先在每个页面上设置一个访问标志位,在页面被调入主存时,该位被设置为0,如果被访问过之后,该位被置为1。所有在主存中的页面构成一个循环队列,有一个指针指向某一个页面,如图3所示。当有页面需要被换出时,首先检查指针指向的页面,如果标志位为0,则将其换出,并把新页插入这个位置,然后指针前移一个位置;否则如果标志位为1,则将其清0,指针前移一个位置,继续重复上述过程直到找到一个访问位为0的页面将其换出。这样可以将近似的最近最少访问的页面换出,流程见图4。II. The paging method adopts the clock paging method. First, an access flag is set on each page. When the page is transferred into main memory, this bit is set to 0, and if it has been accessed, this bit is set to 1. All the pages in the main memory form a circular queue, and a pointer points to a certain page, as shown in Figure 3. When a page needs to be swapped out, first check the page pointed by the pointer, if the flag bit is 0, swap it out, insert a new page into this position, and then move the pointer forward by one position; otherwise, if the flag bit is 1, Then clear it to 0, move the pointer forward by one position, and continue to repeat the above process until a page whose access bit is 0 is found and swapped out. In this way, the approximate least recently accessed page can be swapped out, as shown in Figure 4 for the process.
Claims (2)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNA2007100669311A CN101008922A (en) | 2007-01-26 | 2007-01-26 | Segmentation and paging data storage space management method facing heterogeneous polynuclear system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNA2007100669311A CN101008922A (en) | 2007-01-26 | 2007-01-26 | Segmentation and paging data storage space management method facing heterogeneous polynuclear system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN101008922A true CN101008922A (en) | 2007-08-01 |
Family
ID=38697362
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNA2007100669311A Pending CN101008922A (en) | 2007-01-26 | 2007-01-26 | Segmentation and paging data storage space management method facing heterogeneous polynuclear system |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN101008922A (en) |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2009067950A1 (en) * | 2007-11-29 | 2009-06-04 | Huawei Technologies Co., Ltd. | Management method and device of shared memory in multi-core system |
| CN101950274A (en) * | 2010-07-14 | 2011-01-19 | 北京北大众志微系统科技有限责任公司 | Data access device based on supervisor mode maintenance and problem mode share as well as method thereof |
| CN102446136A (en) * | 2010-10-14 | 2012-05-09 | 无锡江南计算技术研究所 | Self-adaptive large page allocation method and device |
| CN102521162A (en) * | 2011-11-30 | 2012-06-27 | 华为技术有限公司 | Method and device for cache data processing |
| CN102662713A (en) * | 2012-04-12 | 2012-09-12 | 腾讯科技(深圳)有限公司 | Method, device and terminal for increasing running speed of application programs |
| CN103067519A (en) * | 2013-01-04 | 2013-04-24 | 深圳市广道高新技术有限公司 | Method and device of data distribution storage under heterogeneous platform |
| CN103440208A (en) * | 2013-08-12 | 2013-12-11 | 华为技术有限公司 | Data storage method and device |
| CN104809002A (en) * | 2015-05-26 | 2015-07-29 | 中国科学院自动化研究所 | Execution method for multi-layer application program of heterogeneous multi-core processor and processor |
| CN104991869A (en) * | 2015-07-31 | 2015-10-21 | 成都腾悦科技有限公司 | Microprocessor storage management method |
| CN105487900A (en) * | 2015-12-01 | 2016-04-13 | 用友网络科技股份有限公司 | Self-learning interface data loading system and method |
-
2007
- 2007-01-26 CN CNA2007100669311A patent/CN101008922A/en active Pending
Cited By (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2009067950A1 (en) * | 2007-11-29 | 2009-06-04 | Huawei Technologies Co., Ltd. | Management method and device of shared memory in multi-core system |
| CN101950274A (en) * | 2010-07-14 | 2011-01-19 | 北京北大众志微系统科技有限责任公司 | Data access device based on supervisor mode maintenance and problem mode share as well as method thereof |
| CN101950274B (en) * | 2010-07-14 | 2012-06-20 | 北京北大众志微系统科技有限责任公司 | Data access device based on supervisor mode maintenance and problem mode share as well as method thereof |
| CN102446136B (en) * | 2010-10-14 | 2014-09-03 | 无锡江南计算技术研究所 | Self-adaptive large-page allocation method and device |
| CN102446136A (en) * | 2010-10-14 | 2012-05-09 | 无锡江南计算技术研究所 | Self-adaptive large page allocation method and device |
| CN102521162A (en) * | 2011-11-30 | 2012-06-27 | 华为技术有限公司 | Method and device for cache data processing |
| CN102521162B (en) * | 2011-11-30 | 2014-12-31 | 华为技术有限公司 | Method and device for cache data processing |
| WO2013079014A1 (en) * | 2011-11-30 | 2013-06-06 | 华为技术有限公司 | Cached data processing method and device |
| CN102662713A (en) * | 2012-04-12 | 2012-09-12 | 腾讯科技(深圳)有限公司 | Method, device and terminal for increasing running speed of application programs |
| US9256421B2 (en) | 2012-04-12 | 2016-02-09 | Tencent Technology (Shenzhen) Company Limited | Method, device and terminal for improving running speed of application |
| CN102662713B (en) * | 2012-04-12 | 2014-04-16 | 腾讯科技(深圳)有限公司 | Method, device and terminal for increasing running speed of application programs |
| CN103067519B (en) * | 2013-01-04 | 2016-08-24 | 深圳市广道高新技术有限公司 | The method and device of distributed data storage under a kind of heterogeneous platform |
| CN103067519A (en) * | 2013-01-04 | 2013-04-24 | 深圳市广道高新技术有限公司 | Method and device of data distribution storage under heterogeneous platform |
| WO2015021755A1 (en) * | 2013-08-12 | 2015-02-19 | 华为技术有限公司 | Data storage method and apparatus |
| CN103440208B (en) * | 2013-08-12 | 2016-02-03 | 华为技术有限公司 | A kind of method that data store and device |
| CN103440208A (en) * | 2013-08-12 | 2013-12-11 | 华为技术有限公司 | Data storage method and device |
| CN104809002A (en) * | 2015-05-26 | 2015-07-29 | 中国科学院自动化研究所 | Execution method for multi-layer application program of heterogeneous multi-core processor and processor |
| CN104809002B (en) * | 2015-05-26 | 2018-05-11 | 北京思朗科技有限责任公司 | The execution method and processor of heterogeneous multi-nucleus processor Multi-tiers Application |
| CN104991869A (en) * | 2015-07-31 | 2015-10-21 | 成都腾悦科技有限公司 | Microprocessor storage management method |
| WO2017020600A1 (en) * | 2015-07-31 | 2017-02-09 | 成都腾悦科技有限公司 | Microprocessor storage management method |
| CN104991869B (en) * | 2015-07-31 | 2017-11-10 | 成都腾悦科技有限公司 | A kind of microprocessor memory management method |
| CN105487900A (en) * | 2015-12-01 | 2016-04-13 | 用友网络科技股份有限公司 | Self-learning interface data loading system and method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20210374069A1 (en) | Method, system, and apparatus for page sizing extension | |
| US9430402B2 (en) | System and method for providing stealth memory | |
| US8938601B2 (en) | Hybrid memory system having a volatile memory with cache and method of managing the same | |
| US9064330B2 (en) | Shared virtual memory between a host and discrete graphics device in a computing system | |
| CN101008922A (en) | Segmentation and paging data storage space management method facing heterogeneous polynuclear system | |
| CN101292228B (en) | Lock indicator for conversion lookaside buffer | |
| US8321638B2 (en) | Cooperative mechanism for efficient application memory allocation | |
| US7353361B2 (en) | Page replacement policy for systems having multiple page sizes | |
| CN110196757B (en) | TLB filling method and device of virtual machine and storage medium | |
| US20020108025A1 (en) | Memory management unit for java environment computers | |
| US20090204764A1 (en) | Cache Pooling for Computing Systems | |
| JP2012532381A (en) | Extended page size with agglomerated small pages | |
| US7552308B2 (en) | Method and apparatus for temporary mapping of executable program segments | |
| US9552295B2 (en) | Performance and energy efficiency while using large pages | |
| CN101243398B (en) | Shared conversion lookaside buffer method | |
| CN101013404A (en) | Heterogeneous multi-core system-oriented management method of paging memory space | |
| CN101008923A (en) | Segmentation and paging data storage space management method facing heterogeneous polynuclear system | |
| US6918023B2 (en) | Method, system, and computer program product for invalidating pretranslations for dynamic memory removal | |
| US12105634B2 (en) | Translation lookaside buffer entry allocation system and method | |
| KR100354274B1 (en) | Method for sharing page directory in main computer | |
| Lee et al. | Alleviating I/O Interference in Virtualized Systems With VM-Aware Persistency Control | |
| Grimm | Virtual Memory |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
| WD01 | Invention patent application deemed withdrawn after publication |
