虚拟存储器的引入-2 实现思想 根据局部性原理,一个作业在运行之前,没有必要把全部作业装入内存,而 仅将那些当前要运行的那部分页面或段,先装入内存便可启动运行,其余 部分暂时留在磁盘上。程序在运行时,由请求调入或置换完成执行。这样 可使一个大用户程序在较小内存空间运行;也可使内存中有更多进程并发 执行。 请求调入: 程序在运行时如果它所要访问的页(段)已调入内存,便可继续执行下去; 但如果程序所要访问的页(段)尚未调入内存(称为缺页或缺段),此时 程序应利用OS所提供的请求调页(段)功能,将它们调入内存,以使进程 能继续执行下去。 置换: 如果此时内存已满,无法再装入新的页(段),则还须再利用页(段)的置 换功能,将内存中暂时不用的页(段)调出至磁盘上,腾出足够的内存空 间后,再将所要访问的页(段)调入内存,使程序继续执行下去。 从用户角度看,该系统所具有的内存容量,将比实际内存容量大得多,人们 把这样的存储器称为虚拟存储器
虚拟存储器的引入-2 实现思想: 根据局部性原理,一个作业在运行之前,没有必要把全部作业装入内存,而 仅将那些当前要运行的那部分页面或段,先装入内存便可启动运行,其余 部分暂时留在磁盘上。程序在运行时,由请求调入或置换完成执行。这样, 可使一个大用户程序在较小内存空间运行;也可使内存中有更多进程并发 执行。 请求调入: 程序在运行时如果它所要访问的页(段)已调入内存,便可继续执行下去; 但如果程序所要访问的页(段)尚未调入内存(称为缺页或缺段),此时 程序应利用OS所提供的请求调页(段)功能,将它们调入内存,以使进程 能继续执行下去。 置换: 如果此时内存已满,无法再装入新的页(段),则还须再利用页(段)的置 换功能,将内存中暂时不用的页(段)调出至磁盘上,腾出足够的内存空 间后,再将所要访问的页(段)调入内存,使程序继续执行下去。 从用户角度看,该系统所具有的内存容量,将比实际内存容量大得多,人们 把这样的存储器称为虚拟存储器
3虚拟存储器实现方式 1。请求分页系统: 它是在分页系统的基础上,增加了请求调页功能和页面置换 功能所形成的页式虚拟存储系统。它允许只装入若干页(而 非全部程序)的用户程序和数据,就可以启动运行,以后再 通过调页功能和页面置换功能,陆续把将要运行的页面调入 内存,同时把暂不运行的页面置换到外存上,置换时以页面 为单位 2。请求分段系统: 它是在分段系统的基础上,增加了请求调段和分段置换功能 所形成的段式虚拟存储系统。它允许只装入若干段(而非全 部段)的用户程序和数据,就可以启动运行,以后再通过调 段功能和置换功能将不运行的段调出,同时调入将要运行的 段,置换以段为单位。 3。请求段页式系统:它是在段页式系统的基础上,增加了请求 调页和页面置换功能所形成的段页式虚拟存储系统
3 虚拟存储器实现方式 1。请求分页系统: 它是在分页系统的基础上,增加了请求调页功能和页面置换 功能所形成的页式虚拟存储系统。它允许只装入若干页(而 非全部程序)的用户程序和数据,就可以启动运行,以后再 通过调页功能和页面置换功能,陆续把将要运行的页面调入 内存,同时把暂不运行的页面置换到外存上,置换时以页面 为单位。 2。请求分段系统: 它是在分段系统的基础上,增加了请求调段和分段置换功能 所形成的段式虚拟存储系统。它允许只装入若干段(而非全 部段)的用户程序和数据,就可以启动运行,以后再通过调 段功能和置换功能将不运行的段调出,同时调入将要运行的 段,置换以段为单位。 3。请求段页式系统:它是在段页式系统的基础上,增加了请求 调页和页面置换功能所形成的段页式虚拟存储系统
虚拟存储器 4虚拟存储器的特征 离散性:指在内存分配时采用离散的分配方式,它是虚拟存 储器的最基本的特征 多次性:指一个作业被分成多次调入内存运行,即在作业运 行时没有必要将其全部装入,只须将当前要运行的那部分程 序和数据装入内存即可。多次性是虚拟存储器最重要的特征。 对换性:指允许在作业的运行过程中在内存和外存的对换区 之间换进、换出。 虚拟性:指能够从逻辑上扩充内存容量,使用户所看到的内 存容量远大于实际内存容量
虚拟存储器 4 虚拟存储器的特征 • 离散性:指在内存分配时采用离散的分配方式,它是虚拟存 储器的最基本的特征。 • 多次性:指一个作业被分成多次调入内存运行,即在作业运 行时没有必要将其全部装入,只须将当前要运行的那部分程 序和数据装入内存即可。多次性是虚拟存储器最重要的特征。 • 对换性:指允许在作业的运行过程中在内存和外存的对换区 之间换进、换出。 • 虚拟性:指能够从逻辑上扩充内存容量,使用户所看到的内 存容量远大于实际内存容量
62请求分页存储管理方式 1、基本工作原理 请求分页技术当一个用户程序要调入内存时,不是将该程序 全部装入内存,而是只装入部分页到内存,就可启动程序运 行,在运行的过程中,如果发现要运行的程序或要访问数据 不在内存,则向系统发出缺页中断请求,系统在处理这个中 断时,将在外存相应的页调入内存,该程序继续运行 2请求分页中的硬件支持 1)请求分页的页表机制 它是在纯分页的页表机制上形成的,由于只将应用程序的 部分调入内存,还有一部分仍在磁盘上,故需在页表中再增 加若干项,供程序(数据)在换进、换出时参考。在请求分页 系统中的每个页表项如图所示。 页号物理块号状态位P访间字段A修改位M「外存地址
6.2 请求分页存储管理方式 1、基本工作原理 • 请求分页技术当一个用户程序要调入内存时,不是将该程序 全部装入内存,而是只装入部分页到内存,就可启动程序运 行,在运行的过程中,如果发现要运行的程序或要访问数据 不在内存,则向系统发出缺页中断请求,系统在处理这个中 断时,将在外存相应的页调入内存,该程序继续运行。 2 请求分页中的硬件支持 1)请求分页的页表机制 它是在纯分页的页表机制上形成的,由于只将应用程序的一 部分调入内存,还有一部分仍在磁盘上,故需在页表中再增 加若干项,供程序(数据)在换进、换出时参考。在请求分页 系统中的每个页表项如图所示。 页号 物理块号 状态位P 访问字段A 修改位M 外存地址
请求分页中的硬件支持-1 其中各字段说明如下: 状态位(存在位P):用于指示该页是否已调入内存,供程序 访问时参考。1—在内存;0不在内存。 访问字段A:用于记录本页在一段时间内被访问的次数,或 最近已有多长时间未被访问,提供给置换算法选择换出页面 时参考。页面访问频度。 修改位M:表示该页在调入内存后是否被修改过。由于内存中 的每一页都在外存上保留一份副本,因此,若未被修改,在 置换该页时就不需将该页写回到外存上,以减少系统的开销 和启动磁盘的次数;若已被修改,则必须将该页重写到外存 上,以保证外存中所保留的始终是最新副本 外存地址:用于指出该页在外存上的地址,通常是物理块号, 供调入该页时使用
请求分页中的硬件支持-1 其中各字段说明如下: • 状态位(存在位P):用于指示该页是否已调入内存,供程序 访问时参考。1—在内存;0—不在内存。 • 访问字段A:用于记录本页在一段时间内被访问的次数,或 最近已有多长时间未被访问,提供给置换算法选择换出页面 时参考。页面访问频度。 • 修改位M:表示该页在调入内存后是否被修改过。由于内存中 的每一页都在外存上保留一份副本,因此,若未被修改,在 置换该页时就不需将该页写回到外存上,以减少系统的开销 和启动磁盘的次数;若已被修改,则必须将该页重写到外存 上,以保证外存中所保留的始终是最新副本。 • 外存地址:用于指出该页在外存上的地址,通常是物理块号, 供调入该页时使用