全文预览

段页式存储管理

上传者:业精于勤 |  格式:doc  |  页数:23 |  大小:221KB

文档介绍
essР{Р?int pro_id ;//记录进程号Р?int IsInMem;//记录进程是否在内存Р?int Total;//记录某进程所需的总页数Р?int Snum; //记录该进程的段数Р?Segment Segments[10];Р};Р//进程数组的定义РProcess Processes[Pro_sum_size]; РSegment Segments[Seg_sum_size]; РPage Pages[Mem_Size]; Р2、使用一维数组存储驻留集Рint Res_Set [Res_Set_Size];Р3、函数介绍Р Init(); //最初的内存初始化Р Apply_Mem();//手工输入进程个数、段数以及段内地址的赋值函数Р Alloc_Mem(); //系统分配内存Р Check_Mem(); //查看内存Р Finish_Pro(); //手动结束进程,释放相应空间Р Print_Table();//段表和页表的打印Р Addr_Exchange(); //地址转换函数Р FIFO_Strategy(); //先进先出策略处理中断Р Menu();//一个功能菜单函数Р程序运行时的初值和运行结果Р1、输入:Р(1)创建进程:Р共三个段,其中1号段8个页,2号段8个页,3号段8个页。Р创建两个进程:РP1:2个段,1号段,调入内存,共5个页,1、2、4、5页调入驻留集,3号页不调入;2号段,不调入,两个页,分别为2号页和6号页。РP2:1个段,3号段,调入内存,共5个页,1、2、3、4、5,全部调入驻留集。Р (2)地址映射:РP2: 3 123РP1: 1 2050РP1: 2 256Р 2、运行结果Р输入进程号和相应的内存需求后,显示每个进程的段表和页表:Р(此时驻留集已满!)Р查看内存,结果如下:Р进行地址映射:Р结束进程,释放空间:

收藏

分享

举报
下载此文档