- 8
- 0
- 约1.27万字
- 约 17页
- 2017-03-09 发布于贵州
- 举报
linux操作统实验三CB
电子信息学院
实验报告书
课程名:《Linux操作系统实验 》 题 目: 实验试验 实验类别 【验证】 班 级: BX0907 学 号: 姓 名: 实验内容或题目
1 模拟初始内存页面分配(数组、结构体均可) 2 实现Buddy heap算法 3 通过键盘输入随机产生申请和释放操作
请求:r8代表申请8个页面。
释放:f4代表释放4个页面。
注意:heap的分割和合并操作。 4 每个申请或释放操作,都在屏幕上显示操作前与操作后的内存分配的对比图。 5 实验假设申请和释放的页数都是2的整次幂。
② 1 建立工作集页面模型。 2 利用随机函数动态生成进程访问页面的序列号。 3 实现FIFO页面淘汰算法。 4 实现页故障率反馈模型。
实验目的与要求
1 用C语言是实现模拟Linux系统中连续内存分配用到的伙伴对算法。 2 通过链表的形式输出在内存申请和释放过程中内存状态的对比图。实验步骤与源程序
uddy heap算法模拟
源程序; #include
#include typedef struct block //定义一个内存块的结构体 int size; //块的大小 int start; //块的起始位置
int loc; //是否占用 struct block *next; //指向下一个块的指针
struct block *prior; //指向前一个块的指针
block;
int maxsize 512; //可分配的内存空间总量
block *note; //初始化的结点
block *id[10]; //链表头的数组
//打印内存状态函数
void printmem int i;
for i 9; i 0;i-- printf %d - ,i ;
block * temp struct block * malloc sizeof struct block ;
temp id[i]- next;
while temp! NULL printf %d %s %d - ,temp- size,temp- loc 1?占用:空闲,temp- start ; //输出内存块的大小、状态、起始位置 temp temp- next; printf \n ; //初始化
void init int i;
for i 0;i 9;i++ id[i] struct block * malloc sizeof struct block ; id[i]- prior id[i];id[i]- next NULL; note struct block * malloc sizeof struct block ;
note- size maxsize;
note- start 0;
note- loc 0;
note- next NULL;
id[9] struct block * malloc sizeof struct block ;
id[9]- next note;
id[9]- prior id[9];
note- prior id[9];
printmem ; int power int x,int y //计算x的y次幂
int k 0,tmp 1;
for ;k y;k++ tmp tmp*x; return tmp; int root int x,int y //计算y的开x次方
int result y,count 0;
while result! 1 result result/x;
count++; return count; //对内存块进行拆分
int split int tempId block * pend struct block * malloc sizeof struct block ; //被拆分结点
block * cend struct block * malloc sizeof struct block ; //挂载点
block * newf struct block * malloc sizeof struct block ; //拆分后的第二个结点
block * newu struct block * malloc sizeof struct block ; //拆分后的第一个结点
pend id[tempId]- next;
int flag 0,isFirst 0;
while pend! NULL if pend- loc 0 //可拆分 //卸载被拆分结点 if isFirst 0 i
您可能关注的文档
- JAVA常见字串函数.doc
- java报表ECEL解决方案.doc
- JAVA教程 三讲 Java语言中的面向对象特性.doc
- Java时间函大全.doc
- java猜一个机数.docx
- Java程序的本结构.doc
- Java程序设基础教程-杨佩理(源程序&PDF课件).doc
- java程序设实验五类的设计(二).doc
- Java第一次业-回文素数.doc
- java第二课识介绍.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)