交换操作的实现方法和装置的制造方法_2

文档序号:8905054阅读:来源:国知局
根据当前SWAP分区的第二数据的访问频度判断是否启动SWAP换入操作。
[0059] 结合第二方面的第四种可能的实施方式,在第二方面的第五种可能的实施方式 中,所述判断分配模块,具体用于若判断当前SWAP分区中的第二数据的访问频度大于第四 阔值,则确定启动SWAP换入操作。
[0060] 结合第二方面的第五种可能的实施方式,在第二方面的第六种可能的实施方式 中,所述判断分配模块,还包括:
[0061] 分配单元,用于为所述第二数据分配第二空闲物理内存页面;
[0062] 第二迁移单元,用于将所述第二数据迁移至所述第二空闲物理内存页面;
[0063] 更新单元,用于更新SWAP分区映射表。
[0064] 结合第二方面,在第二方面的第走种可能的实施方式中,所述判断分配模块还用 于若判断所述当前空闲物理内存空间状态和当前未分配的SWAP分区状态均小于第六阔 值,则通知操作系统执行缺页异常处理。
[0065] 结合第二方面至第二方面的第走种可能的实施方式中的任一项,在第二方面的第 八种可能的实施方式中,所述接收模块,还用于接收处理器发送的第二请求;其中,所述第 二请求携带第二虚拟地址;所述判断分配模块,还用于判断所述第二虚拟地址是否合法; 若不合法,则所述判断分配模块上报所述第二虚拟地址错误给操作系统;若合法,则所述判 断分配模块根据页表判断是否为所述第二虚拟地址对应的第H数据分配了存储空间,获得 判断结果;并根据所述判断结果执行第一操作。
[0066] 结合第二方面的第八种可能的实施方式,在第二方面的第九种可能的实施方式 中,所述装置还包括:发送模块和访问模块;若所述判断结果为所述判断分配模块为所述 第H数据分配了所述存储空间,则所述判断分配模块,具体用于根据所述页表判断所述第 H数据是否存放于SWAP分区中;
[0067] 若是,则所述判断分配模块根据SWAP分区映射表确定所述第H数据存储在所述 SWAP分区中的位置和长度信息;则所述访问模块,具体用于根据所述第H数据存储在所述 SWAP分区中的位置访问所述第H数据;所述发送模块,具体用于将所述第H数据发送给所 述处理器;
[0068] 若否,则所述判断分配模块确定所述第H数据存储在物理内存空间中,并根据所 述页表确定所述第H数据在所述物理内存空间中对应的物理地址;则所述访问模块,用于 根据所述物理地址访问所述第H数据;所述发送模块,用于将所述第H数据发送给所述处 理器。
[0069] 结合第二方面的第八种可能的实施方式,在第二方面的第十种可能的实施方式 中,若所述判断结果为所述判断分配模块没有为所述第H数据分配所述存储空间,则所述 判断分配模块,具体用于执行缺页中断处理,为所述第H数据分配所述存储空间。
[0070] 本发明实施例提供的交换操作的实现方法和装置,通过内存控制器接收处理器发 送的携带第一虚拟地址的第一请求,来请求内存控制器为该第一虚拟地址对应的第一数据 分配第一空闲物理内存页面;内存控制器根据当前空闲物理内存空间状态和第一请求的优 先级判断是否为该第一数据分配第一空闲物理内存页面;并且,当内存控制器为第一数据 分配了所述第一空闲物理内存页面之后,内存控制器根据剩余的空闲物理内存空间状态判 断是否启动SWAP换出操作。本发明实施例提供的方法,通过内存控制器来管理计算机系统 的物理内存资源,并通过内存控制器详细分析数据的访问频度w及访问模式,并根据该些 信息确定是否执行SWAP操作,从而降低了操作系统的开销,提高了计算机系统的性能。
【附图说明】
[0071]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可W 根据该些附图获得其他的附图。
[0072] 图1为本发明提供的交换操作的实现方法实施例一的流程示意图;
[0073] 图2为本发明提供的交换操作的实现方法实施例二的流程示意图;
[0074] 图3为本发明提供的交换操作的实现方法实施例H的流程示意图;
[0075] 图4为本发明提供的交换操作的实现装置实施例一的结构示意图;
[0076]图5为本发明提供的交换操作的实现装置实施例二的结构示意图;
[0077] 图6为本发明提供的交换操作的实现装置实施例H的结构示意图;
[0078] 图7为本发明提供的交换操作的实现装置实施例四的结构示意图。
【具体实施方式】
[0079] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0080] 本发明实施例适用于内存控制器代替操作系统来管理物理内存空间的场景,即物 理内存页面的分配和释放均是由内存控制器来控制。
[0081] 图1为本发明提供的交换操作的实现方法实施例一的流程示意图,该方法的执行 主体为内存控制器,该内存控制器可W是单独的实体设备,也可W集成在计算机系统中。如 图1所示,该方法包括:
[0082]S101;内存控制器接收处理器发送的第一请求;其中,该第一请求包括第一虚拟 地址,用于请求内存控制器为所述第一虚拟地址对应的第一数据分配第一空闲物理内存页 面。
[0083] 具体的,内存控制器接收处理器发送的第一请求,该第一请求可W包括第一虚拟 地址,还可W包括该第一请求的进程号(processidentity,W下简称Pid)。该第一虚拟地 址与第一数据对应,实际上该第一请求是为了向内存控制器请求为第一数据分配大小合适 的第一空闲物理内存页面。需要说明的是,存储数据的空间可W是物理内存空间,也可W是 SWAP分区,物理内存空间的性能优于SWAP分区的性能。本发明实施例是从第一数据未来可 能被频繁访问的角度出发,因而该第一请求首先请求的是空闲的物理内存空间。
[0084]S102;内存控制器根据当前空闲物理内存空间状态和上述第一请求的优先级判断 是否为上述第一数据分配第一空闲物理内存页面。
[0085] 可选的,内存控制器可W通过判断当前空闲物理内存空间是否足W存储第一数据 来确定是否为第一数据分配第一空闲物理内存页面;或者,还可W是通过第一请求的优先 级的高低来判断是否为第一数据分配第一空闲物理内存页面;或者,还可w是通过当前空 闲物理内存空间和该第一请求的优先级结合来判断是否为第一数据分配第一空闲物理内 存页面,本发明实施例对此并不做限制。
[0086] S103;若内存控制器为上述第一数据分配了第一空闲物理内存页面,则内存控制 器根据剩余的空闲物理内存空间状态判断是否启动SWAP换出操作。
[0087] 具体的,若内存控制器确定为第一数据分配空闲物理内存页面,将该个空闲物理 内存页面标记为第一空闲物理内存页面,因为空闲物理内存空间中包括一个或多个空闲 物理内存页面,该里只是为了区分分配了的空闲物理内存页面和未分配的空闲物理内存页 面。当内存控制器为第一数据分配了第一空闲物理内存页面之后,内存控制器根据剩余的 空闲物理内存空间状态判断是否启动SWAP换出操作。需要说明的是,该里的剩余的空闲物 理内存空间状态可W为上述除去第一空闲物理内存页面后的空闲物理内存空间状态。
[0088] 本发明实施例提供的交换操作的实现方法,通过内存控制器接收处理器发送的携 带第一虚拟地址的第一请求,来请求内存控制器为该第一虚拟地址对应的第一数据分配第 一空闲物理内存页面;内存控制器根据当前空闲物理内存空间状态和第一请求的优先级判 断是否为该第一数据分配第一空闲物理内存页面;并且,当内存控制器为第一数据分配了 所述第一空闲物理内存页面之后,内存控制器根据剩余的空闲物理内存空间状态判断是否 启动SWAP换出操作。本发明实施例提供的方法,通过内存控制器来管理计算机系统的物理 内存资源,并通过内存控制器详细分析数据的访问频度W及访问模式,并根据该些信息确 定是否执行SWAP操作,从而降低了操作系统的开销,提高了计算机系统的性能。
[0089] 图2为本发明提供的交换操作的实现方法实施例二的流程示意图。在上述实施例 的基础上,作为本发明实施例一种可能的实施方式,本实施例涉及的是内存控制器为上述 第一数据分配第一空闲物理内存页面的具体过程,即是上述S102的具体描述。如图2所示, 上述S102包括:
[0090] S201 ;内存控制器判断当前空闲物理内存空间是否大于第一阔值;若是,则执行 S202 ;若否,则执行S203。
[0091] S202 ;内存控制器为第一数据分配第一空闲物理内存页面。
[0092] 具体的,当处理器请求内存控制器为第一数据分配第一空闲物理内存页面时,内 存控制器判断当前的空闲物理内存空间是否足W分配给第一虚拟地址对应的第一数据。可 选的,当前空闲物理内存空间状态可W包括空闲物理内存页面的状态,还可W包括其他已 经分配了的物理内存页面的访问频度。如果空闲物理内存页面较多,且数量大于第一
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1