虚拟页式存储管理(时钟置换策略模拟)

虚拟页式存储管理(时钟置换策略模拟)

ID:38812036

大小:92.95 KB

页数:17页

时间:2019-06-19

虚拟页式存储管理(时钟置换策略模拟)_第1页
虚拟页式存储管理(时钟置换策略模拟)_第2页
虚拟页式存储管理(时钟置换策略模拟)_第3页
虚拟页式存储管理(时钟置换策略模拟)_第4页
虚拟页式存储管理(时钟置换策略模拟)_第5页
资源描述:

《虚拟页式存储管理(时钟置换策略模拟)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《操作系统》综合实训项目设计文档一、基本信息项目名称:页式虚拟存储管理系统(时钟置换策略)完成人姓名:学号:完成日期:二、实验内容与目的(1)加深理解页式虚拟存储管理的概念和原理。(2)掌握页式存储管理中存储分配(和回收)方法;(3)深入了解页式虚拟存储管理中地址重定位(即地址映射)方法。(4)深入理解段页式虚拟存储管理中缺页中断处理方法三、主要设计思路和流程图用结构体定义了页框有数据域、状态位、在此页框存放的页的页号,用结构体定义主存(全局变量),包含32个页框,最后用结构体定义页表项,页表用页表项的数组(全局变量)来表示。设置全局变量k用来定位clock策略的指针

2、。用随机数将内存和页表进行初始化,使得内存中有部分页框被占用,部分没有被占用,内存分布情况占用OCCUPY表示,未被占用NULL表示。函数reserch查询页表中页号所对应的页框号。函数find用来查询页表中页号所对应的表项transfrom函数用来生成一定范围的逻辑地址并转换为所对应的物理地址。dispatch函数用来给进程中加载所需要用到的页。并用clock策略替换已满驻留集中的页。最后,用release函数释放进程所占用的空间并将页表和内存改变为初始化的状态。一、主要数据结构及其说明typedefstructpage//内存中的页框{intID;//页框中存放的

3、页的编号intdata[pageMax];//页中的数据charstate;//页框的状态}page;typedefstructmemory//主存定义{pageNo[32];//主存中有32个页}memory;typedefstructinfo//页表项{intp;//页表项修改位intID;//在内存中页的页号intzhenhao;//内存中的页号所在的页框号}info;二、程序运行时的初值和运行结果2一、源程序并附上注释【可是另一个源程序文件,在此应说明该文件名】#include#include#include

4、>#include#definepageMax2048typedefstructpage//内存中的页框{intID;//页框中存放的页的编号intdata[pageMax];//页中的数据charstate;//页框的状态}page;typedefstructmemory//主存定义{pageNo[32];//主存中有32个页}memory;typedefstructinfo//页表项{intp;//页表项修改位intID;//在内存中页的页号intzhenhao;//内存中的页号所在的页框号}info;infopagetable[8];//8项的页

5、表全局变量memoryzhaoke;//声明主存全局变量intk=0;//clock算法所用到的指针全局变量intiniti()//初始化内存和页表{srand((int)time(NULL));intamount=rand()%24,i;for(i=0;i<32;i++){pagetable[i].p=0;pagetable[i].ID=-1;pagetable[i].zhenhao=-1;}for(i=0;i<32;i++){zhaoke.No[i].state='N';}for(i=0;i

6、te='Y';}}intprint()//打印内存分配情况{inti;printf("**********1加载进程****2撤销进程****3转换逻辑地址*****4退出********");printf("内存页分配情况:");for(i=0;i<32;i++){if(i%4==0){printf("");printf("

7、");}if(zhaoke.No[i].state=='N')printf("tNULLt

8、");if(zhaoke.No[i].state=='Y')printf("OCCUPYt

9、");}printf("");}int

10、reserch(intyehao)//根据页号查询页表反回所对应的页框号,若没有则返回-1{inti;for(i=0;i<8;i++){if(yehao==pagetable[i].ID)returnpagetable[i].zhenhao;}return-1;}inttransform()//生成逻辑地址并转换为对应的物理地址{system("CLS");chars1[7],s2[12];intyehao,pianyiliang,block,j=0,buffer;if(pagetable[j].ID==-1){system("CLS");print

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。