欢迎来到天天文库
浏览记录
ID:50092557
大小:205.00 KB
页数:14页
时间:2020-03-04
《存储管理_实验3.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、江南大学物联网工程学院实验报告课程名称《操作系统》实验名称存储管理实验实验日期2015/5/17班级计算机1206姓名王成义学号1030412612仪器编号实验报告要求1.实验目的2.实验要求3.实验步骤4.程序清单5.运行情况5.实验体会1.实验目的1、通过编写和调试存储管理的模拟程序以加深对存储管理方案的理解。熟悉虚存管理的各种页面淘汰算法。2、通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解。2.实验要求1、设计一个固定式分区分配的存储管理方案,并模拟实现分区的分配和回收过程。2、设计一个可变式分区分配的存储管理方案。并
2、模拟实现分区的分配和回收过程。3.实验步骤1.产生一个需要访问的指令地址流;1.指令合适的页面尺寸(例如以1K或2K为1页);2.指定内存页表的最大长度,并对页表进行初始化;3.每访问一个地址时,首先要计算该地址所在的页的页号,然后查页表,判断该页是否在主存——如果该页已在主存,则打印页表情况;如果该页不在主存且页表未满,则调入一页并打印页表情况;如果该页不在主存且页表已满,则按FIFO页面淘汰算法淘汰一页后调入所需的页,打印页表情况;4.逐个地址访问,直到所有地址访问完毕。4.程序清单代码一:#include#inclu
3、de#include#include#defineNUM4#definealloMemory(type)(type*)malloc(sizeof(type))structpartiTab{intno;intsize;intfirstAddr;charstate;}parTab[NUM];typedefstructpartiTabPARTITAB;typedefstructjcb{/*定义作业控制块JCB,部分信息省略*/charname[10];//作业名intsize;//作业大小st
4、ructjcb*link;//链指针}JCB;typedefstruct{JCB*front,*rear;}jcbQue;jcbQue*jcbReadyQue;voidAllocateMemory(intsize);voidcreateTab();voidcheckTab();voidrecycleMemory(inti);voidAllocateMemory(intsize){inti;for(i=0;isize)parTab[i].
5、state='Y';elseprintf("没有空闲分区,无法分配内存!");}}voidcreateTab(){inti;for(i=1;i<=NUM;i++){//getPartiTab(PARTITAB);parTab[i-1].no=i;parTab[i-1].size=20;parTab[i-1].firstAddr=21;parTab[i-1].state='N';}}voidcheckTab(){inti;printf("分区号t大小t起址t状态");for(i=0;i6、",parTab[i].no);printf("%dt",parTab[i].size);printf("%dt",parTab[i].firstAddr);printf("%ct",parTab[i].state);printf("");}}voidrecycleMemory(inti){parTab[i-1].state='N';}intmain(intargc,char*argv[]){printf("tt*********************************************tt");7、printf("tttt实验三存储管理");printf("tt*********************************************tt");printf("ttttt计算机1206");printf("ttttt王成义");printf("ttttt1030412612");printf("ttttt完成时间:2015/5/17");printf("ttttWelcome");inti;printf8、("****固定式分区分配存储管理******");createTab();checkTab();printf("请按任意键继续:");getchar();printf(
6、",parTab[i].no);printf("%dt",parTab[i].size);printf("%dt",parTab[i].firstAddr);printf("%ct",parTab[i].state);printf("");}}voidrecycleMemory(inti){parTab[i-1].state='N';}intmain(intargc,char*argv[]){printf("tt*********************************************tt");
7、printf("tttt实验三存储管理");printf("tt*********************************************tt");printf("ttttt计算机1206");printf("ttttt王成义");printf("ttttt1030412612");printf("ttttt完成时间:2015/5/17");printf("ttttWelcome");inti;printf
8、("****固定式分区分配存储管理******");createTab();checkTab();printf("请按任意键继续:");getchar();printf(
此文档下载收益归作者所有