linux 页式虚拟存储 存储管理,操作系统课程设计-虚拟页式存储管理统的实现.doc...

操作系统课程设计-虚拟页式存储管理统的实现

课 程 设 计课程设计名称: 计算机操作系统 专 业 班 级 :计算机科学与技术 学 生 姓 名 : 学 号 : 指 导 教 师 : 课程设计时间: 操作系统 专业课程设计任务书课程设计题目虚拟页式存储管理系统的实现学院专业计算机科学与技术年级指导教师成 绩所需环境Linux环境Bochs虚拟实验室设计要求1掌握Linux环境下常用编译工具如gcc/g++/nasm及开源虚拟机bochs的下载、安装、使用2掌握x86架构下分页式存储管理系统的基本原理,设计一个请求分页式虚拟存储系统。3掌握Linux系统下程序的编写及运行。学生应完成的工作按照实验三要求,构建Bochs虚拟实验室2.回顾虚拟页式存储系统:作业分页,内存分块,只有当进程要使用其虚拟内存时,其对应的数据才装入物理内存。3.请认真阅读readme.txt文件,弄清楚各个文件的作用…审查意见指导教师签字:教研室主任签字: 年 月 日 说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页目录一、设计目的为了掌握Linux环境下常用编译工具如gcc/g++/nasm及开源虚拟机bochs的下载、安装、使用,掌握x86架构下分页式存储管理系统的基本原理,设计一个请求分页式虚拟存储系统。掌握Linux系统下程序的编写及运行等方面展开实验。二、设计要求 2.1要求熟练掌握sudo apt-get install的用法。 2.2要求能够掌握分页存储管理系统的基本原理。 2.3要求学会在Linux系统下编写程序、执行程序。 三、设计内容3.1运行环境3.1.1虚拟机系统下3.1.2使用Ubuntu下提供的apt-get软件包安装工具 安装vim、 g++ 、nasm 、bochs等3.2 2. 详细设计1)回顾虚拟页式存储系统:作业分页,内存分块,只有当进程要使请认真阅读readme.txt文件,弄清楚各个文件的作用2)用其虚拟内存时,其对应的数据才装入物理内存。3)完成frame_pool.H 、frame_pool.C 、page_table.C三个文件,其中page_table.H已经提供,我们需要添加page_table.C,自己设计并实现这些函数。4)在frame_pool.H定义所需要的数据结构,在frame_pool.C完成这些函数。添加代码如下所示:class FramePool {private: unsigned long base_frame_no; unsigned long nframes;unsigned long info_frame_no; unsigned char* free_frames;public:static const unsigned char USED -1;static const unsigned char UNUSED -0; static const unsigned int FRAME_SIZE -4096; public:FramePool(unsigned long _base_frame_no,unsigned long _nframes,unsigned long _info_frame_no); 5)建立Frame_pool.C文件系统中使用位示图bitmap标识页面是否使用,start_frame表示第一个页面的起始地址(如系统内存池从2M开始),pool_size表示在用户池中页框的总数(如系统内存池的页框从2M~4M,因此共有(4M-2M)/4KB=512个页框)。初始化用户池中位示图的内容Frame_pool::frame_pool()初始化bitmap记录系统中所有物理块是否可用,如果可用设置为0,否则为1。Frame_pool::get_frame()通过该方法去查询bitmap,查找可用物理块号。FramePool::mark_inaccessible( )方法将bitmap中对应位置置1。FramePool::release_frame()方法将bitmap中对应位置置0。设计一个私有函数set_frame_flag ,来设置某一个字节的某个bit为0或则为1。6)打开page_table.H页表如下图所示:其中,页面大小为4K,即可用12位表示页内地址,各个位含义如上图页表所示,其余20位表示页号,即1M。7)创建一个文件:page_table.CPageTable::init_paging()给

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值