一、 实验目的。
1.综合掌握前面所学基础知识。
2.掌握嵌入式系统软件设计流程。
3.掌握lru算法设计。
二、实验内容。
1.**bootloader、内核和文件系统。
2.编写lru调度算法。
3.编译并在arm实验板上运行。
三、源程序清单或实验步骤。
#include<>
#define m 4
#define n 17
typedef struct page
int num; /记录页面号*/
int time; /记录调入内存时间*/page; /页面逻辑结构,结构为方便算法实现设计*/page b[m内存单元数*/
int c[m][n]; 暂保存内存当前的状态:缓冲区*/int queue[100]; 记录调入队列*/int k调入队列计数变量*/
*初始化内存单元、缓冲区*/
void init(page *b,int c[m][n])int i,j;
for(i=0;i
for(i=0;i for(j=0;jc[i][j]=-1;
*取得在内存中停留最久的页面,默认状态下为最早调入的页面*/int getmax(page *b)
int i;
int max=-1;
int tag=0;
for(i=0;i
return tag;}
*判断页面是否已在内存中*/
int equation(int fold,page *b)int i;
for(i=0;i
return -1;
*lru核心部分*/
void lru(int fold,page *b)int i;
int val;
val=equation(fold,b);
if (val>=0)
else*主程序*/
int main()
int a[n]=;
int i,j;
start:
k=-1;init(b, c);
for(i=0;i
/*结果输出*/
printf("页块顺序为");
for(i=0;i
printf("调入队列为:")
for(i=0;i printf("%3d",queue[i]);
printf("缺页次数为:%6d缺页率:%16.6f",k+1,(float)(k+1)/n);
printf("are you continuing!\ty?")if(getchar()=y')
goto start;
return 0;
四、实验结果。
嵌入式系可以申请多个页并不断调度页,在页调度过程中根据最长最久未使用的调度算法对页进行调度。
五、实验截图。
六、实验小结与注意事项。
1. 掌握嵌入式系统研发的流程。
2. 掌握lru算法。
3. 掌握嵌入式系统架构方法。
4. lru算法核心思想。
5. linux页的申请。
6. 页的调度过程。
7. 本次实验室综合实验我们在实验中遇到了很多问题,如lur算法的构建、如何与开发板进行通信等等。好在实验在老师的帮助下圆满的完成了,在实验中对lru算法有了更深层次的了解。
学会了如何去对进程的创建与访问,收获了很多知识感到非常开心。
嵌入式系统实验报告
嵌入式系统实验报告内容。第一章 arm2410cl嵌入式系统基础实验。实验一arm2410cl嵌入式教学实验系统。实验报告要求 简述嵌入式linux开发的流程。实验二。嵌入式linux开发环境的配置。实验报告要求 1 简述嵌入式linux开发环境配置的具体步骤。2 简述网络文件系统 nfs 第二章 ...
嵌入式系统实验报告
本科实验报告。1.实验原理 本实验使用xmanager enterprise软件来连接老师配置好的linux服务器,以完成实验中使用linux完成编译和 运行一个嵌入式系统。实验中使用u boot作为系统的bootloader,使一个嵌入式linux系统完成编译并模拟在另一台机器上 并执行操作。u ...
嵌入式系统实验报告
姓名 班级 学号 实验一 流水灯。实验要求 编写一个程序,是开发板上的的3个led灯按流水灯方式闪烁。实验工具 超级终端开发板,电脑。实验程序如下 汇编指令实验 定义端口e寄存器预定义。rgpbcon equ 0x56000010 rgpbdat equ 0x56000014 rgpbup equ ...