文档库

最新最全的文档下载
当前位置:文档库 > 操作系统实验六

操作系统实验六

集美大学计算机工程学院实验报告

课程名称:操作系统班级:网络0911实验成绩:

指导教师:姓名:

实验项目名称:处理机调度-实时调度学号:2009811004上机实践日期:

实验项目编号:实验六组号:上机实践时间:学

一、目的(本次实验所涉及并要求掌握的知识点)

深入了解处理及调度算法,了解硬实时概念,掌握周期性实时任务调度算法EDF 和RMS的可调度条件,并能在可调度情况下给出具体调度结果

二、实验内容与设计思想(设计思路、主要数据结构、主要代码结构、主要代码段分析、电路图)

实验内容:

实时任务用task数据结构描述,涉及四个函数:select_proc()用于实现调度算法,被选中任务执行proc(),在没有可执行任务时执行idle(),主函数main()初始化相关数据,创建实时任务并对任务进行调度。为模拟调度算法,给每个线程设置一个等待锁,暂不运行的任务等待在相应的锁变量上。主线程按照调度算法唤醒一个子线程,被选中线程执行一个时间单位,然后将控制权交给主线程以判断是否需要重新调度。

三、实验使用环境(本次实验所使用的平台和相关软件)

Linux虚拟机vi编辑器

四、实验步骤和调试过程(实验步骤、测试数据设计、测试结果分析)

******************************实验代码************************************* #include"math.h"

#include"sched.h"

#include"pthread.h"

#include"stdlib.h"

#include"semaphore.h"

#include"stdio.h"

typedef struct{ //实时任务描述

char task_id;

int call_num; //任务发生次数

int ci; //任务处理时间

int ti; //任务发生周期

int ci_left;

int ti_left;

int flag; //任务是否活跃,0否,2是

int arg; //参数

pthread_t th; //任务对应线程

免费下载Word文档免费下载: 操作系统实验六

(共8页)