- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统课程设计-虚拟页式存储管理系统的实现
课 程 设 计
课程设计名称: 计算机操作系统
专 业 班 级 :计算机科学与技术
学 生 姓 名 :
学 号 :
指 导 教 师 :
课程设计时间:
操作系统 专业课程设计任务书
课程设计题目 虚拟页式存储管理系统的实现 学院 专业 计算机科学与技术 年级 指导教师 成 绩 所需环境 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位表示
您可能关注的文档
- 带保护的开关电源设计.doc
- 带存贮及通讯功能的数字温度计.doc
- 带有存储功能的简易数字示波器设计.doc
- 带式运输机两级闭式齿轮传动装置设计.doc
- 带钢板形控制技术研究.doc
- 常德力元新材料有限责任公司的绩效考核方法分析.doc
- 常德F组团加固施工组织设计.doc
- 帽盖拉深模具设计.doc
- 平挡圈型滚轮滚针轴承(KRV22PPX-T)设计与加工工艺.doc
- 平推式自卸汽车设计(液压系统).doc
- 吉林省高职高专院校单独招生考试冲刺模拟卷1.docx
- 吉林省高职高专院校单独招生考试冲刺模拟卷2.docx
- 江西省吉安市吉州区2024-2025学年八年级上学期入学考试语文试题.docx
- 九年级语文上学期期中模拟试卷1.docx
- 江西省赣州市大余县江西省部分学校联考2023-—2024学年高二上学期11月期中信息技术试题(含答案解析).docx
- 吉林省高职高专院校单独招生考试冲刺模拟卷8.docx
- 江苏省扬州市高邮市2024-2025学年高三上学期10月月考英语试题.docx
- 吉林省高职高专院校单独招生考试冲刺模拟卷2(含答案解析).docx
- 广东省三校2024-2025学年高二上学期第一次质量检测政治试题(含答案解析).docx
- 吉林省高职高专院校单独招生考试冲刺模拟卷4(解析版).docx
最近下载
- 学会职能和作用探析.doc
- 医学英语综合教程.ppt
- 4《小学科学教育拔尖创新人才培养的模式探索与实践》.pdf
- 教育部人文社科项目结项.docx VIP
- Siemens 西门子工业 SIMATIC S7-1200 S7-1200 固件更新 V4.5 SIMATIC S7-1200 S7-1200 固件更新 V4.5 使用手册.pdf
- 教科版2024科学一年级上册 第二单元 我们自己 1.我们的身体课件.pptx
- 2025中考复习数学考点突破课件:第二章 方程(组)与不等式(组) 考点5 一次方程(组).pptx
- 电网技术改造工程预算定额2020版(共6册).xls
- 小鼠裸鼠肿瘤动物模型课件.pptx
- 高层建筑火灾风险评估细则.doc
文档评论(0)