ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:297.50KB ,
资源ID:19003507      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19003507.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基本分页存储管理的模拟实现2Word文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基本分页存储管理的模拟实现2Word文档格式.docx

1、typedef struct LNode int f; /进程号 char name8; /进程名 int size; /进程大小 int n; /进程页数 int ye100; /页表,下标表示页号,内容表示进程各页所在物理块 struct LNode *next;LNode,*LinkList;二、各个功能模块三、主要功能模块流程图四、系统测试主界面:(显示程序的各个功能块)1、选择1,运行界面如下:(选择1,输入进程名,显示内存物理块分配情况)2、选择2,运行界面如下:(显示2回收进程,若进程名输入错误,则显示进程不存在,)3、选择3,运行界面如下:(显示进程r的内存使用情况,0表示未用

2、)五、结论在这次课程设计中,我清楚的认识理论到到实践的重要性,经过实际的动手操作不仅提高了我的动手能力还提高了我把理论转化成实践的能力。实验中对页表的定义如下(采用数组形式,数组下标表示页号,数组单元存放与数组下标(页号)相应的页面号):如ye 100 六、源程序及系统文件使用说明#include stdio.hstdlib.hstring.hconio.h#include /#include /#define y 0;char A100; /内存物理块,0:未使用, int max = 99; /记录内存的物理块数,值为A100最大下标int count = 100; /记录内存未使用物理块

3、数 char name; /进程名int ye100; /*进程各页所在物理块,页表实验中对页表的定义如下(采用数组形式,数组下标表示页号,数组单元存放与数组下标(页号)相应的页面号): */内存初始化void CreatA() int i = 0; for(i = 0;i name != ch) p = p-next; else printf(n*进程名 %c 已存在,请重新输入:*,ch); ch = getche(); p = L;/p重新指向头结点 n*输入进程 %c 的页数: scanf(%d,&i); while(i count)n*内存物理块不足,新建进程 %c 失败*nn ge

4、tch(); else new_node = (LinkList)malloc(sizeof(LNode); new_node-name = ch;n = i;next = NULL; count -= i; m = 0; for(i = 0; i if(Ai = 0 & m n) Ai = new_node-name ; new_node-yem = i; m+; if(L = NULL) L = new_node; else p = L; /查找最后一个节点 while(p-next != NULL) p = p- p-next = new_node; /回收进程,释放内存void Fre

5、eNode(LinkList & LinkList p,q;*请输入要删除的进程名称:/查找进程 ch ;用p记录 q = p;name = ch) break; q = p; if(p = NULL)n*进程 %c 不存在*n for(int i = 0; p-n; i+) Ap-yei = 0; count += p-name = q-name)/要删除的是头结点 L = p- q-next = p-/输出内存物理块分配情况void Printf(LinkList L)n*内存物理块分配情况:*n LinkList p = L;n*各进程信息:*进程名称t进程页数t所用物理块*n %ctt

6、%dtt,p-name,p-n);%d,yei);n p = p-/显示内存块使用情况,不分进程void showit()n*n| 内存物理块分配情况 |n if(Ai!=0) %ct,Ai); elseprintf(%dt if(i%10 = 9)void main() CreatA();n* 基本分页存储管理的模拟实现*n LinkList L = NULL; don*菜单*n printf( 1 添加进程n 2 回收进程n 3 内存使用情况n 4 退出程序n*n请输入你的选择(select): switch(i) case 1: NewNode(L);/建立新的进程 Printf(L);/输出内存物理块分配情况和各进程概况 break; case 2: FreeNode(L); /删除某进程 Printf(L); /输出内存物理块分配情况和各进程概况 case 3: showit();/显示当前内存的使用情况 case 4:exit(4); while(i != 0);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1