- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基本分页存储管理
实验目的
连续内存分配方式会形成许多“碎片”,虽然可以通过“紧凑”方法将许多碎片拼接成可用的大块空间,但须为之付出很大开销。如果允许将一个进程直接分散地装入到许多不相邻接的分区中,则无需再进行“紧凑”。基于这一思想而产生了离散分配方式。如果离散分配的基本单位是页,则称为分页存储管理方式;如果离散分配的基本单位是段,则称为分段存储管理方式。
在分页存储管理方式中,如果不具备页面兑换功能,则称为基本的分页存储管理方式,或称为纯分页存储管理方式,它不具备支持虚拟存储器的功能,它要求把每个作业全部装入内存后方能运行。
本实验通过程序模拟操作系统的基本分页存储管理方式,进一步理解这一内存分配方式的原理和特点,加深对理论知识的掌握。
实验要求
1、用C语言或Java语言编写程序模拟操作系统对内存的基本分页存储管理方式
2、程序要能正确对“内存”进行“分配”和“回收”,能接受用户的输入,显示内存的分配情况,并有一定的容错能力。
3、每个人独立按时完成实验内容。
实验内容
本实验假定内存空间已经按块划分,目标程序无需关心内存块大小等底层细节,只需按算法对内存块进行分配即可。程序应该实现以下功能:
1、内存初始化。假定内存块共有N个,初始化后的内存空间应该有一部分已经被使用,这可以用随机数或程序内部的其他算法完成。
2、程序应该能接受用户输入的进程信息,并为之分配内存,返回分配结果(成功或失败),注意,此处应该考虑到不合法的输入并进行相应处理。
3、程序能回收用户指定的进程所占用的内存空间,因此,程序可能需要为每个进程分配一个唯一的进程号并给出详细的提示信息。
4、能直观合理地显示内存分配情况。
5、程序界面友好,便于操作和查看运行结果。
#include stdio.h
#include windows.h
#define N 100 // 共有100个内存块
int process[N][N+1]; // 存放每个进程的页表
int block[N]; // 内存块状态标志数组,0:空闲,1:使用
int blockCount; // 记录当前内存剩余空间
int processCount; // 记录当前进程数
bool flag = true;
void init();
void output();
bool createProcess();
bool endProcess();
void init()
{
int i, j;
// 初始化内存状态标志数组
for (i=0; iN; i++)
block[i] = 0;
for (i=0; i20; i++)
block[rand()%(N-1)] = 1;
blockCount = 0;
for (i=0; iN; i++)
if (block[i] == 0)
blockCount++;
// 初始化存放进程的数组
for (i=0; iN; i++){
process[i][0] = 0;
for (j=1; jN; j++)
process[i][j] = -1;
}
processCount = 0;
printf(初始化结果如下:);
output();
flag = false;
}
void output()
{
printf(\n内存总量:%d 块, 已用空间:%d 块, 剩余空间:%d 块, 进程总数:%d 个\n, N, N-blockCount, blockCount, processCount);
if (flag blockCount N)
{
printf(已使用的内存块(%d):\n, N-blockCount);
for (int k=0,count=0; kN; k++)
{
if (block[k] == 1)
printf(%2d , k, ++count);
if (count == 15)
{
putchar(\n);
count = 0;
}
}
putchar(\n);
}
// 输出各进程占用内存详细情况
if (processCount 0)
{
printf(内存详细使用情况如下:\n);
for (int i=0; iN; i++)
{
if (process[i][0] 0)
{
printf(进程号:%d \n占用内存块(%2d):, i, process[i][0]);
for (int j=1,count=0; j
您可能关注的文档
- 崔庆创—地环学院资源勘查.doc
- 度国家社会科学基金项目课题指南(0000).doc
- m以上主体钢筋技术交底.doc
- VC局域网的聊天室系统.doc
- 级英语专业限选课教学计划.doc
- 法律人个月一次性通过CPA门的苦与乐来源.doc
- 北京市东城区高届一模语文.doc
- 届“移动校讯通杯”全国教师论文大赛指南.doc
- 落料凸模零件课设模板.doc
- 防止人员误操作管理办法(大唐集团制〔〕号).doc
- 2023年11月宁夏回族自治区税务系统遴选面试真题附详解.docx
- 新解读《GB_T 35377-2017森林生态系统长期定位观测指标体系》必威体育精装版解读.docx
- 2023年11月宁夏回族自治区直遴选面试真题附解析.docx
- 2023年11月宁夏回族自治区税务系统遴选面试真题带答案详解.docx
- 2023年11月宁夏回族自治区直遴选面试真题附详解.docx
- 2024年福建省闽侯县文化馆公开招聘试题带答案详解.docx
- 2023年11月宁夏回族自治区直遴选面试真题带详解.docx
- 2023年11月宁夏回族自治区直遴选面试真题带详细解析.docx
- 新解读《GB_T 35379 - 2017木门分类和通用技术要求》必威体育精装版解读.docx
- 2023年11月宁夏回族自治区直遴选面试真题带题目详解.docx
最近下载
- 塑造职业形象(共83张课件).pptx VIP
- 幼儿园小班科学游戏《认识三角形》PPT课件.pptx VIP
- 干热灭菌--去热源 USP、CP、EP关于干热去热原的温度时间要求.pdf VIP
- 人教版八年级上册英语 Unit 1 Happy Holiday Section B 1a-1d 练习题(含答案).doc VIP
- 110kV及以上送变电工程启动及竣工验收规程.docx VIP
- 2012年《园艺植物学》课程教学大纲.doc VIP
- 安联安享金生终身年金保险分红型产品培训.pptx
- 安联安享丰年年金保险分红型.pptx VIP
- 2025年必威体育精装版征信报告可编辑模版1.pdf
- 2025年全球储能市场区域分布与竞争格局报告.docx VIP
文档评论(0)