第16讲 存储器管理之请求分页存储管理方式

合集下载

请求分页管理方式实现虚拟内存

请求分页管理方式实现虚拟内存
外存地址:用于指出该页在外存上的地址,通常是物理块号,供调入该页时参考。
缺页中断机构在请求分页系统中,每当所要访问的页面不在内存时,便产生一个缺页中断,请求操作系统将所缺的页调入内存。此时应将缺页的进程阻塞(调页完成唤醒),如果内存中有空闲块,则分配一个块,将要调入的页装入该块,并修改页表中相应页表项,若此时内存中没有空闲块,则要淘汰某页(若被淘汰页在内存期间被修改过,则要将其写回外存)。
请求分页中的地址变换过程
在进行地址变换时,先检索快表:
若找到要访问的页,便修改页表项中的访问位(写指令则还须重置修改位),然后利用页表项中给出的物理块号和页内地址形成物理地址。
若未找到该页的页表项,应到内存中去查找页表,再对比页表项中的状态位P,看该页是否已调入内存,未调入则产生缺页中断,请求从外存把该页调入内存。
为了实现请求分页,系统必须提供一定的硬件支持。除了需要一定容量的内存及外存的计算机系统,还需要有页表机制、缺页中断机构和地址变换机构。页表机制请求分页系统的页表机制不同于基本分页系统,请求分页系统在一个作业运行之前不要求全部一次性调入内存,因此在作业的运行过程中,必然会出现要访问的页面不在内存的情况,如何发现和处理这种情况是请求分页系统必须解决的两个基本问题。为此,在请求页表项中增加了四个字段.
请求分页系统建立在基本分页系统基础之上,为了支持虚拟存储器功能而增加了请求调页功能和页面置换功能。请求分页是目前最常用的一种实现虚拟存储器的方法。
在请求分页系统中,只要求将当前需要的一部分页面装入内存,便可以启动作业运行。在作业执行过程中,当所要访问的页面不在内存时,再通过调页功能将其调入,同时还可以通过置换功能将暂时不用的页面换出到外存上,以便腾出内存空间。
请求分页系统中的页表项

存储器管理 请求分段存储管理方式PPT学习教案

存储器管理   请求分段存储管理方式PPT学习教案
第6页/共16页
三.地址变换过程
第7页/共16页
四.段的共享
段式虚拟存储系统利用段的动态连接功能, 很容易实现段的共享,由于无法预知各作业在 什么情况下调用共用段且段号可在动态连接时 分配,因而一个共享段对不同的调用表可以具 有不同的段号。例如,公共子程序COS,在 作业1调用时具有号2,而在作业2调用时 可以是段号1。下图是一个共享[COS]段 的例子。
第13页/共16页
习题
3. 在某静态页式存储管理系统中,若对内存进行一次 存取需要1.5微秒,试问CPU获取一次内存操作数所 花费的存取时间式多少? 如果在该系统中加入快表的设置,假定快表的平均 命中率为80%,当页表项在快表中时,其查找时间 忽略为0,试问此时的存取时间是多少?若快表的 命中率达到90%,又是多少?
第4页/共16页
二.中断处理机构
1.越界中断处理
进程在执行过程中,有时需要扩大分段, 如数据段。由于要访问的地址超出原有的段长, 所以发越界中断。操作系统处理中断时,首先 判断该段的“扩充位”,如可扩充,则增加段 的长度;否则按出错处理。
第5页/共16页
2.缺段中断处理
检查内存中是否有足够的空闲空间: ①若有,则装入该段,修改有关数据结构,中断返 回 ②若没有,检查内存中空闲区的总和是否满足要求, 是则应采用紧缩技术,转① ;否则,淘汰一个或几 个实段,转①。
4. 什么是虚拟存储器?页式管理可以实现虚存吗?如 果可以,简述实现方法。
第14页/共16页
第15页/共16页
存储器管理 请求分段存储管理方式
会计学
1
第四章 存储器管理
4.9 请求分段存储管理 (虚拟段式存储管理)
第1页/共16页
一.基本原理

说明基本分页存储管理方式

说明基本分页存储管理方式

说明基本分页存储管理方式在计算机系统中,存储管理是一个重要的部分,其功能是对计算机系统中的数据进行合理的管理与分配。

分页存储管理方式是其中的一种常用方式。

分页存储管理方式指的是将物理存储空间划分为大小相等的页框,将逻辑存储空间按照页的大小来划分,将逻辑地址空间中的每个页面映射到物理地址空间中的一个页框上。

这样就可以实现逻辑地址与物理地址的映射。

在分页存储管理方式中,每个进程都有自己的页表,用于记录该进程的逻辑地址空间与物理地址空间之间的映射关系。

当进程需要访问某个逻辑地址时,通过查找页表,找到对应的物理地址。

如果该页不在内存中,则需要从磁盘中读取该页,并将其放置到空闲的页框中。

分页存储管理方式的优点在于可以充分利用内存空间,提高内存利用率。

同时,由于每个进程有自己的页表,各个进程之间的地址空间是独立的,可以有效地防止进程间的地址冲突。

此外,由于采用了分页的方式,可以实现对内存中的数据进行快速查找和访问。

然而,分页存储管理方式也存在一些缺点。

首先,由于需要维护每个进程的页表,对于系统的管理与维护带来了一定的复杂度。

其次,由于每个页都需要记录页表信息,因此会占用一定的空间。

此外,由于每次访问都需要进行地址映射,会带来一定的时间开销。

为了克服分页存储管理方式的缺点,还可以采用其他的存储管理方式,如分段存储管理方式、虚拟存储管理方式等。

分段存储管理方式将逻辑地址空间划分为若干个段,每个段可以有不同的长度,不同的段可以放置在不同的物理地址空间中。

虚拟存储管理方式则将整个逻辑地址空间划分为若干个页面,每个页面可以在内存中或者磁盘中进行存储,当进程需要访问某个页面时,会先判断该页面是否在内存中,如果在则直接访问,否则从磁盘中调入并放置在内存中。

分页存储管理方式是一种常用的存储管理方式,可以充分利用内存空间,提高内存利用率。

但是,由于需要维护每个进程的页表,会带来一定的管理与维护复杂度。

因此,在实际应用中,需要根据具体情况选择合适的存储管理方式。

请求分页存储管理方式

请求分页存储管理方式
2021年1月27日星期三
③所存取的数据的页面不在内存,发生缺页中断,此时存取数 据的时间是:
查询页表的时间(页面不在内存)+缺页中断的时间+查询页表 的时间(页面在内存)+存取内存数据的时间=8μs +20μs +8μs +8μs =44μs
(2)当对某一数据进行4次连续读取时: ①第1次可能的时间为:1μs +8μs =9μs;8μs +8μs
(1)求对某一数据进行一次存取可能需要的时间。 (2)现对同一页面上的数据进行4次连续读取,求每次读取数据可 能需要的时间。 解: (1)当系统对数据进行存取时,有3种可能性。
①所存取的数据的页面在内存,其页表项已经存储到快表,此时 存取数据的时间是:
查询快表的时间+存取内存数据的时间=1μs +8μs =9μs ②所存取的数据的页面在内存,但是其页表项没有存储到快表, 没有命中快表,此时存取数据的时间是: 查询页表的时间+存取内存数据的时间=8μs +8μs =16μs
=16μs;8μs +20μs +8μs +8μs =44μs。 ②第2次时,对应页面的页表项已经交换到快表中。因为存取是
连续的,不存在页面被淘汰的可能性,所以第2次、第3次、第4次的 存取时间是一样的,消耗的时间为1μs +8μs =9μs。
2021年1月27日星期三
1.2 内存分配策略和分配算法
(1)要运行的作业可以不必全部装入内存就能运行。 (2)节省内存空间,增加并发执行的作业个数,提高系统的利用率。 (3)增加了程序运行的时间,加大了系统的硬件开销。
2一般中断不同。 缺页中断是一种特殊的中断与一般的中断的区别:

请求分页存储管理(虚拟存储)

请求分页存储管理(虚拟存储)

任务四、请求分页存储管理(虚拟存储)一、实验目的通过请求分页存储管理的设计,让学生了解虚拟存储器的概念和实现方法。

进行运行时不需要将所有的页面都调入内存,只需将部分调入内存,即可运行,在运行的过程中若要访问的页面不在内存时,则需求有请求调入的功能将其调入。

假如此时若内存没有空白物理块,则通过页面置换的功能将一个老的不用的页面淘汰出来,其中淘汰的算法有多种。

二、实验内容模拟仿真请求分页调度算法,其中淘汰的算法可选下列其一1、先进先出算法2、最近最久算法3、CLOCK算法三、实验代码#include<iostream>#include<vector>using namespace std;int n;typedef struct Queue{int time;int data;struct Queue *next;}Queue,*QueuePtr;typedef struct {QueuePtr front;QueuePtr rear;}LinkQueue;//fifo=======================================void InitQueue(LinkQueue &Q);void FiFoEnQueueRear(LinkQueue &Q,int e,vector<int> &v);void FiFoDeQueueFront(LinkQueue &Q);inline void PrintQueue(LinkQueue &Q);void FiFoFiFoDoQueueEarly(LinkQueue &Q,int a,vector<int> &v);void FiFoDoQueue(LinkQueue &Q,int a,vector<int> &v);inline int PanDuan(LinkQueue &Q,int a);inline int YeMianCount(LinkQueue &Q);void fifo();//lru=============================================void InitQueue(LinkQueue &Q);void EnQueueMid(LinkQueue &Q,int e,QueuePtr p,vector<int> &v);void EnQueueTheFist(LinkQueue &Q,int e);void PrintQueue(LinkQueue &Q);//void ZhiZhenInit(int n);void DoQueueEarly(LinkQueue &Q,int e,vector<int> &v);void EnQueueRear(LinkQueue &Q,int e,QueuePtr p,vector<int> &v);//void DeQueueFront(LinkQueue &Q);QueuePtr ZhiZhen(LinkQueue &Q,int e);void EnQueue(LinkQueue &Q,int e,vector<int> &v);//void DeQueue(LinkQueue &Q,QueuePtr p);int PanDuan(LinkQueue &Q,int a);int YeMianCount(LinkQueue &Q);void lru();QueuePtr OptimalZhiZhen(LinkQueue &Q,int e);//求出需要置换的页面的上一个页面的位置void EnQueue(LinkQueue &Q,int e,vector<int> &v,int i,vector<int> &vc);inline int YeMianCount(LinkQueue &Q);//使用内敛函数,提高性能inline int Destance(vector<int> &v,int i);inline void SubbDestance(LinkQueue &Q);//=================================================int main(){int k;for(;;){cout<<"请选择!"<<endl;cout<<"1——FiFo算法"<<endl;cout<<"2——LRU算法"<<endl;cout<<"0——退出"<<endl;cin>>k;if(k==0)break;else{switch(k){case 1:fifo();break;case 2:lru();break;default:cout<<" 请从以上的选择中选择一个选项!!"<<endl;}}}}//fifo========================================void InitQueue(LinkQueue &Q){Q.front=Q.rear=(QueuePtr)malloc(sizeof(Queue));if(!Q.front)cout<<"initqueue worng!"<<endl;Q.front->next=NULL;//return OK;}void FiFoEnQueueRear(LinkQueue &Q,int e,vector<int> &v){ QueuePtr p;p=(QueuePtr)malloc(sizeof(Queue));if(!p)cout<<"cannot malloc EnQueue of the p"<<endl;p->data=e;p->next=NULL;Q.rear->next=p;Q.rear=p;v.push_back(e);//cout<<p->data;//return OK;}void FiFoDeQueueFront(LinkQueue &Q){QueuePtr p;if(Q.front==Q.rear)cout<<"the Queue is empty,cannot delete !!"<<endl;p=Q.front->next;Q.front->next=p->next;free(p);if(Q.rear==p)Q.rear=Q.front;//return OK}void PrintQueue(LinkQueue &Q){QueuePtr p;if(Q.front==Q.rear)cout<<"the Queue is empty,cannot print!"<<endl;p=Q.front;for(p=Q.front;p->next!=NULL;p=p->next){cout<<p->next->data<<" ";}cout<<endl;//retrun OK;}void FiFoFiFoDoQueueEarly(LinkQueue &Q,int a,vector<int> &v){ QueuePtr p;int count=0;//设置标志位,记录重复的个数。

(操作系统课件)--请求分页

(操作系统课件)--请求分页

例 1 设页面走向为P=4, 3, 2, 1, 4, 3, 5, 4, 3, 2, 1, 5,主存容量 M=3,置换算法采用FIFO,求访问过程中发生缺页中断的 次数和缺页率?假设开始时,主存未装入任何块 。 表1 FIFO性能分析例(M=3)
缺页中断次数F=9 缺页率f=9/12=75%
例 2 设M=4,其余同例 1。则缺页中断次数和缺页率? 表2 FIFO性能分析例(M=4)
页面置换算法/淘汰算法
• • • • 先进先出算法(FIFO) 先进先出算法
– 淘汰驻留主存时间最长的页面
最近最久未用置换算法(LRU) 最近最久未用置换算法
– 淘汰在最近一段时间最久未用的页面
最近最不常用算法 最近未使用算法
1. 先进先出算法(FIFO算法)
• 这种算法的基本思想是:总是先淘汰那些驻留 在内存时间最长的页面,即先进入内存的页面先被 置换掉。 •理由是:最先进入内存的页面不再被访问的可能 性最大。

a)
一个作业不全部装入,该作业能否开始运行, 并运行一段时间?
作业在运行期间的各个阶段, 作业在运行期间的各个阶段,多数作业只使用全部地址 空间的一部分。例如用户编制的出错处理子程序, 空间的一部分。例如用户编制的出错处理子程序,在作 业正常运行情况下不会执行这些程序, 业正常运行情况下不会执行这些程序,没有必要把它们 调入内存。即程序中往往会有一些彼此互斥 彼此互斥的部分不是 调入内存。即程序中往往会有一些彼此互斥的部分不是 每次运行时都能执行到。 每次运行时都能执行到。 程序的局部性。 程序的局部性。顺序执行的指令和线性结构的数据(如数 组)。它们通常被限定在某一连续区域。一旦某一位置被 访问后,那么它附近的位置很快也会被访问。 因此,没有必要把一个作业一次性全部装入内存再开始 运行。而是可以把程序当前执行所涉及的信息放入内存 中,其余部分可根据需要临时调入,由操作系统和硬件 相配合来完成主存和辅存之间信息的动态调度。

华东理工815操作系统第16讲

华东理工815操作系统第16讲

段的共享
共享代段页式存储管理---基本原理
段页式存储管理是分段和分页原理的结合,即先将用户程序 分成若干个段(段式),并为每一个段赋一个段名,再把每个 段分成若干个页(页式)。其地址结构由段号、段内页号、及 页内位移三部分所组成。
主程序段 数据段 0 4k
第1层页号 第2层页号 第n层页号 页内偏移地址
p1
p2

pn
d
四、页的共享与保护
共享代码(数据)的实现方法

由各进程共享的一段代码(数据),要求 各进程相应的页存入内存相同物理块中。
四、页的共享与保护
带来的问题
若共享数据与不共享数据划在同一块中,则:

有些不共享的数据也被共享,不易保密 计算共享数据的页内位移较困难
因为段内地址120>段长90,所以该
逻辑地址 2 120 段为非法段。
分页和分段的主要区别
页式存储管理 段式存储管理 更好满足用户需要 段(逻辑单位) 不定(由用户程序定) 段 二维 更好地实现数据共享与保护 段长可动态增长 便于动态链接
目的
信息单位 大小 内存分配单位 作业地址空间 优点
实现非连续分配, 解决碎片问题 页(物理单位) 固定(由系统定) 页 一维 有效解决了碎片问题 有效提高内存的利用率
虚拟存储器的概念(1)
基于局部性原理,程序在运行之前,没有必要 全部装入内存,仅须将当前要运行的页(段) 装入内存即可。 运行时,如访问的页(段)在内存中,则继续 执行,如访问的页(段)未在内存中(缺页或 缺段),则利用OS的请求调页(段)功能,将 该页(段)调入内存。 如内存已满,则利用OS的页(段)置换功能, 按某种置换算法将内存中的某页(段)调至外 存,从而调入需访问的页。

简述分页存储管理基本方法

简述分页存储管理基本方法

简述分页存储管理基本方法分页存储管理是存储器管理的一项重要技术,它被广泛应用于不同种类的计算机存储器中。

项技术主要是解决计算机存储资源的使用效率与利用问题。

本文将简述分页存储管理基本方法。

分页存储管理是一种页式存储器管理方法,其主要思想是将一个程序中的指令和数据以页的形式存放到内存储器中,然后由操作系统的内存管理子系统对存储器资源进行有效的管理。

该方法的主要特点有:(1)页面存储。

分页存储管理方法是将一个程序分割成若干个页面,每个页面有固定大小,把一个程序放在内存中时,可以把它拆分为小的页,存入内存,然后由操作系统来控制和管理。

(2)有效利用存储空间。

分页存储管理方法使得内存空间利用率得到了极大的提升,主要体现在几个方面:首先,每一页可以有效的利用存储空间,因为每一页都可以容纳若干条指令,这也就意味着一个程序可以放得更多,减少了存储空间的浪费。

其次,在内存中使用更多的内存可以更有效的使用存储空间,因为每一页中储存的都是有用的数据,不需要每次都往内存中加载数据,从而节省了存储时间。

(3)提高使用效率。

分页存储管理方法可以有效的提高存储空间的使用效率,采用这种方式存储的程序,其可执行性比较高,可以大大降低存储时间,从而提高程序的执行效率。

除此以外,分页存储管理还可以实现存储自由和动态扩充功能,可以更好的满足程序的存储需求,同时也可以减少存储空间的浪费。

总之,分页存储管理方法是一种有效的存储器管理方法,它可以有效的提高存储资源的使用率,提高存储空间利用率,提高存储使用效率,减少存储空间的浪费,并且可以实现存储自由和动态扩充功能,满足程序的存储需求。

分页存储管理的具体实施方法要根据不同的操作系统,硬件结构特点和实际要求而定。

一般来说,其实现步骤包括:对所有程序进行页面加载装入内存,对装入内存的页面进行排序,若有空闲页面则把数据页存储在不同的物理存储器上,并且动态地准备存储页面,释放已经存储过的页面,以及恢复程序运行等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第十六讲存储器管理之请求分页存储管理方式
1 基本概述
请求分页管理是建立在基本分页基础上的,为了能支持虚拟存储器而增加了请求调页功能和页面置换功能。

基本原理:地址空间的划分同页式;装入页时,可装入作业的一部分(运行所需)页即可运行。

2 请求分页的硬件支持
为实现请求分页,需要一定的硬件支持,包括:页表机制、缺页中断机构、地址变换机构。

2.1 页表机制
作用:将用户地址空间的逻辑地址转换为内存空间的物理地址。

因为请求分页的特殊性,即程序的一部分调入内存,一部分仍在外存,因此页表结构有所不同。

如图:
说明:
(1)状态位P:指示该页是否已调入内存。

(2)访问字段A:记录本页在一段时间内被访问的次数或最近未被访问的时间。

(3)修改位M:表示该页在调入内存后是否被修改过。

若修改过,则换出时需重写至外存。

(4)外存地址:指出该页在外存上的地址。

2.2 缺页中断机构
在请求分页系统中,每当所要访问的页面不在内存时,便产生缺页中断,请求OS将所缺的页调入内存。

缺页中断与一般中断的区别:
(1)在指令执行期间产生和处理中断信号
(2)一条指令在执行期间,可能产生多次缺页中断
2.3 地址变换机构
请求分页系统的地址变换机构。

是在分页系统地址变换机构的基础上,又增加了一些功能。

例:某虚拟存储器的用户空间共有32个页面,每页1KB,主存16KB。

假定某时刻系统为用户的第0、1、2、3页分别分配的物理块号为5、10、4、7,试将虚拟地址0A5C和093C 变换为物理地址。

解:虚拟地址为:页号(2^5=32)5位页内位移(1K =2^10=1024)10位物理地址为物理块号(2^4=16)4位因为页内是10 位,块内位移(1K =2^10=1024)10位
虚拟地址OA5C对应的二进制为:
00010 1001011100
即虚拟地址OA5C的页号为2,页内位移为1001011100,由题意知对应的物理地址为:0100 1001011100即125C
同理求093C。


3 内存分配策略和分配算法
在请求分页系统中,为进程分配内存时,将涉及以下三个问题:
最小物理块数的确定;物理块的分配策略;物理块的分配算法。

3.1最小物理块数的确定
概念:最小物理块数:是指能保证进程正常运行所需的最小物理块数。

确定方法:与计算机的硬件结构有关,取决于指令的格式、功能和寻址方式。

3.2物理块的分配策略
内存分配策略:固定和可变分配策略
置换策略:全局置换和局部置换
三种合适的策略如下:
(1)固定分配局部置换(Fixecd Allocation,Local replacement):为每个进程分配固定数目n的物理块,在整个运行中都不改变。

如出现缺页,则从中置换一页。

(2)可变分配全局置换(VariableAllocatio,Global Repalcement):分配固定数目的物理块,
但OS 自留一空闲块队列,若发现缺页,则从空闲块队列中分配一空闲块与该进程,并调入缺面于其中。

当空闲块队列用完时,OS 才从内存中任选择一页置换。

(3)可变分配局部置换(VariableAllocatio,Local Repalcement):分配一定数目的物理块,若发现缺页,则从该进程的页面中置换一页,根据该进程缺页率高低,则可增加或减少物理块。

也就是若某进程频繁的发生缺页中断,则系统再为该进程分配物理块,知道缺页率减少到一定程度。

3.3 物理块的分配算法
在采用固定分配策略时,将系统中可供分配的所有物理块分配给各个进程,可采用以下几种算法:看课本p131,
(1)平均分配算法:将系统中所有可供分配的物理块,平均分配给每个进程。

缺点:未考虑各进程本身的大小。

(2)按比例分配算法:这是根据进程的大小按比例分配物理块的算法。

如果系统中共有n 个进程,每个进程的页面数为Si ,则系统中各进程页面数的总和为:
又假定系统中可用的物理块总数为m ,则每个进程所能分到的物理块数为bi ,将有:
b 应该取整,它必须大于最小物理块数。

(3)考虑优先权的分配算法:将系统提供的物理块一部分根据进程大小先按比例分配给各个进程,另一部分再根据各进程的优先权适当增加物理块数。

4 调页策略
什么时候将一个页面由外存调入内存?从何处将页面调入内存?这就是调页策略所要解决的问题。

4.1 何时调入页面?
预调页策略:将那些预计在不久便被访问的页预先调入内存。

这种调入策略提高了调页的效率,减少了I/O 次数。

但由于这是一种基于局部性原理的预测,若预调入的页面在以后很少被访问,则造成浪费,故这种方式常用于程序的首次调入。

请求调页策略:当进程运行中访问的页出现缺页时,则发出缺页中断,提出请求调页,由OS 将所需页调入内存。

这种策略实现简单,应用于目前的虚拟存储器中,但易产生较多的缺页中断,且每次调一页,系统开销较大,容易产生抖动现象。

注意:首次:预调页;运行时:请求调页。

4.2 从何处调入页面?
在请求分页系统中,通常将外存分成了文件区和对换区,文件区按离散分配方式存放文件,对换区按连续分配方式存放对换页。

系统有足够的对换区空间情况:运行前可将与进程相关的文件从文件区复制至对换区,以后缺页时,全部从对换区调页。

只从对换区调页。

系统没有足够的对换区空间情况:
页面不会被修改:凡是不会被修改的文件,每次都直接从文件区调页,换出时不必换出。

正因为没有被修改,因此不用换出,因为文件区存放的页面没改变。

只从文件区调页。


==n i i S S 1
m S
S b i i ⨯=
页面可能被修改:若对可能会修改的文件第一次调页直接从文件区,换出时换至对换区,以后从对换区调页。

第一次从文件区调入以后从对换区。

从文件区/对换区调页
UNIX方式:凡未运行过的页面均从文件区调页,运行过的页面和换出的页面均从对换区调页。

5页面调入过程了解
过程如下:每当程序所要访问的页面未在内存时,便向CPU发出一缺页中断,中断处理程序首先保留CPU环境,分析中断原因后,转入缺页中断处理程序。

该程序通过查找页表,得到该页在外存上的物理块后,如果此时内存能容纳新页,则启动磁盘I/O将所缺之页调入内存,然后修改页表。

如果内存已满,则需按照某种置换算法从内存中选出一页准备换出;如果该页未被修改过,可不必写回磁盘;但如果此页已被修改,则必须将它写回磁盘,然后把所缺的页调入内存,并修改页表中的相应表项,置其存在位为“1”,并将此页表项写入快表。

在缺页调入内存后,利用修改后的页表,形成所要访问的物理地址,再去访问内存数据。

其实就是下面四步:缺页中断;保留CPU环境;缺页中断处理;访问内存数据
流程如下:。

相关文档
最新文档