信息安全课程设计27267new.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息安全课程设计27267new.doc

信息安全课程设计 课程名称:网络信息安全 设计题目:置换密码课程设计 专业:计算机科学与技术 班级:1班 学生姓名:张亮 学号 指导老师:吕林涛 方法:在[0,199]指令地址间存放的实验目的 加深对存储管理功能的理解; 了解存储管理如何合理分配空间; 掌握请求页式存储管理的页面置换算法。 通过随机数产实验内容 生200条的指令序列,指令的访问地址范围为8K。 是0~8K-1之间的随机数,表示该指令要访问的地址。 得到200个地址后将其转换成[页号,页内地址]的格式输出,设置页面大小为1K。例如:地址2055- [2,7],即2055=2x1024+7。 将指令序列变换成页地址流,即页面走向。设置物理块M。 计算并输出以下页面置换算法的命中率(1- 缺页率): (1)先进先出置换算法(FIFO) (2)最近最久未使用置换算法(LRU) (3)最佳置换算法(OPT)。 随机数产生方法 利用srand()设好随机数种子,如:srand(10*getpid()),产生不同的随机数序列;如果未设随机数种子,rand()在调用时会自动设随机数种子为1,每次产生的随机数序列相同。 再利用rand()产生随机数,如:产生介于0到10 间的随机数值x=rand() mod 11; 4,代码(这里贴的代码缩进不好,可读性差,需要的话来直接点击下载page.c吧~) #includestdio.h #includestdlib.h #includetime.h #defineBLOCK_MAX_SIZE 20//最大物理块大小 enum{FIFO=1,LRU,OPT}; structnode_page{ intaddress;//指令地址 intpage_num;//页面号 intnext_order;//下一次访问的次序 }*page; //物理块定义 typedefstruct BlockNode{ intpage_index;//page数组的下标 structBlockNode * next; }BlockNode; struct{ intlength;//当前物理块长度 intmiss_flag;//缺页标志,若为1,则缺页 intmiss_count;//缺页次数 BlockNode*front; BlockNode*rear; }Block; //本程序中全局变量名均由两个单词组成,且开头字母大写 intBlockSize = 5;//物理块大小 intPageCount = 200;//页面总数 intPageSize = 1024;//页面大小 intAddrRange = 8*1024;//访问地址范围 intget_num(int down,int up)//得到一个down~up之间的整数 { intnum; charstr[111]; while(1){ fgets(str,111*sizeof(int),stdin); num=atoi(str);//把字符串中的数字转换为整数 if(num=down num=up) break; printf(输入范围有误,请重新输入:); }//while returnnum; } voidinit_block()//构造一个空的物理块队列 { Block.rear=Block.front=(BlockNode*)malloc(sizeof(BlockNode)); if(!Block.front){ printf(内存分配失败!\n); exit(0); } Block.length=0; Block.miss_count=0; Block.rear-next=NULL; } voidenqueue(int page_index)//入队 { BlockNode*node=(BlockNode*)malloc(sizeof(BlockNode)); if(!node){ printf(内存分配失败!\n); exit(0); } node-page_index=page_index; node-next=NULL; Block.length++; Block.rear-next=node; Block.rear=node; } voiddequeue()//出队 { BlockNode*node; node=Block.front-next; Block.front-next=node-next; if(node== Block.rear) Block.rear=Block.front; free(node); Block.length--; } voidclear_block()//清空物理块 { while(Bloc

文档评论(0)

dreamzhangning + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档