操作系统实验报告三存储器管理实验.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
课程名: 操作系统 地点: "姓名: "班级: "学号: "成绩 " "项目: 存储器管理实验 " "目的要求 " "一. 理解内存页面调度的机理 " "二. 掌握几种理论页面置换算法的实现方法 " "三. 了解 HASH 表数据结构的使用 " "四. 通过实验比较各种调度算法的优劣 " "一.Page.h 文件 " "#ifndef _PAGE_H " "#define _PAGE_H " "class cpage { " "public: " "int m_nPageNumber, " "m_nPageFaceNumber, " " " "m_nCounter, " "m_nTime; " "}; " "#endif " "二.Memory.h文件 " "#ifndef _MEMORY_H " "#define _MEMORY_H " "class CMemory{ " "public: " "CMemory(); " "void initialize(const int nTotal_pf); " "void FIFO(const int nTotal_pf); " "void LRU(const int nTotal_pf); " "void NUR(const int nTotal_pf); " "void OPT(const int nTotal_pf); " "private: " "vector<CPage> _vDiscPages; " "vector<CPageControl> _vMemoryPages; " "CPageControl *_pFreepf_head,*_pBusypf_head,*_pBusypf_tail; " "vector<int> _vMain,_vPage,_vOffset; " "int _nDiseffect; " "}; " "CMemory::CMemory():_vDiscPages(TOTAL_VP), " "_vMemoryPages(TOTAL_VP), " "_vMain(TOTAL_INSTRUCTION), " "_vPage(TOTAL_INSTRUCTION), " "_vOffset(TOTAL_INSTRUCTION) { " "int S,i,nRand; " "srand(getpid()*10); " "nRand=rand()%32767; " "S=(float)319*nRand/32767+1; " "for(i=0;i<TOTAL_INSTRUCTION;i+=4) { " "_vMain[i]=S; " "_vMain[i+1]=_vMain[i]+1; " "nRand=rand()%32767; " "_vMain[i+2]=(float)_vMain[i]*nRand/32767; " "_vMain[i+3]=_vMain[i+2]+1; " "nRand=rand()%32767; " "S=(float)nRand *(318-_vMain[i+2])/32767+_vMain[i+2]+2; " "} " "for(i=0;i<TOTAL_INSTRUCTION;i++) { " "_vPage[i]=_vMain[i]/10; " "_vOffset[i]=_vMain[i]%10; " "_vPage[i]%=32; " "} " "} " " " "void CMemory::initialize(const int nTotal_pf) { " "int ix; " "_nDiseffect=0; " "for(ix=0;ix<_vDiscPages.size();ix++) { " "_vDiscPages[ix].m_nPageNumber=ix; " "_vDiscPages[ix].m_nPageFaceNumber=INVALID; " "_vDiscPages[ix].m_nCounter=0; " "_vDiscPages[ix].m_nTime=-1; " "} " "for(ix=1;ix<nTotal_pf;ix++) { " "_vMemoryPages[ix-1].m_pNext=&_vMemoryPages[ix]; " "_vMemoryPages[ix-1].m_nPageFaceNumber=ix-1; " "} " "_vMemoryPages[nTotal_pf-1].m_pNext=NULL; " "_vMemoryPages[nTotal_pf-1].m_nPageFaceNumber=nTotal_pf-1; " "_pFreepf_head=&_vMemoryPag
- 粉丝: 167
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- #P0015. 全排列 超级简单
- pta题库答案c语言之排序4统计工龄.zip
- pta题库答案c语言之树结构7堆中的路径.zip
- pta题库答案c语言之树结构3TreeTraversalsAgain.zip
- pta题库答案c语言之树结构2ListLeaves.zip
- pta题库答案c语言之树结构1树的同构.zip
- 基于C++实现民航飞行与地图简易管理系统可执行程序+说明+详细注释.zip
- pta题库答案c语言之复杂度1最大子列和问题.zip
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt