您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 北邮大三交换原理实验一时间表调度
《现代交换原理》实验报告实验名称时间表的调度实验班级学号姓名实验1时间表的调度实验一、实验目的驱动交换网络实验用来考查学生对时间表调度原理的掌握情况。二、实验内容和实验步骤1、实验原理及设计在程控数字交换的体系结构中,周期级程序(例如摘挂机检测程序、脉冲识别程序、位间隔识别程序)是由时间表调度实现的。所谓时间表调度,是指每经过交换系统的最短有效时间(这通常是指各周期性程序周期的最大公约数),都会检查调度表的调度要求,如果某个程序在这时需要执行,则调度程序开始执行它。在我们设计的时间表调度实验中,这个调度表的调度是静态的。所谓静态,是指我们的调度表是在系统初始化的时候就建立起来的,在系统运行的情况下不再改动。实验要求的就是这个调度表的初始化。这个调度表如下:时间(10ms)\任务0:摘挂机检测任务1:脉冲检测任务2:位间隔检测任务00/10/10/110/10/10/1..............180/10/10/1190/10/10/1我们这个交换系统提供了三个周期性调度程度(摘挂机检测程序、脉冲识别程序和位间隔识别程序),它们的调用周期分别为200ms、10ms和100ms,所以我们系统的最小调度时间为10ms。如图所示,每隔10ms,我们就会检查这个表的一行,如果该行上某一列为1,我们就执列所对应的任务,如果为0,就什么都不做。每当执行到这个表的最后一行,调度任务会返回第一行循环执行。而你所要做的就是按照你的理解来填写这个调度表。2、实验步骤:了解实验原理及其设计;了解实验平台的使用及数据结构;编写C程序实现时间调度表的初始化;在实验平台上运行程序;三、源代码1、实验主要数据结构:函数功能:完成调度表的初始化;函数原型:initSchTable(intScheduleTable[SchTabLen][SchTabWdh]);其中SchTalLen和SchTabWdh为在bconstant.h中的宏定义:#defineSchTabLen20//代表这个调度表为20行(相邻行之间的时间间隔为为10ms);#defineSchTabWdh3//代表三个周期性调度任务//0:摘挂机检测任务;1:脉冲检测任务;//2:位间隔检测任务;2、实验代码#includebconstant.hexternC_declspec(dllexport)voidinitSchTable(intScheduleTable[SchTabLen][SchTabWdh]){inti;for(i=0;iSchTabLen;i++){if(i%20==0)ScheduleTable[i][0]=1;elseScheduleTable[i][0]=0;ScheduleTable[i][1]=1;if(i%10==0)ScheduleTable[i][2]=1;elseScheduleTable[i][2]=0;}return;}四、实验结果时间调度表初始化后能正确检测摘挂机动作并进行通话,通话结束后一方挂机未挂机一方送忙音。被叫正在通话时会正常给主叫送忙音。五、实验小结本次实验比较简单,需要认真阅读实验原理及设计,了解如何调度时间表,所做的编程就是对时间调度表进行初始化,在主要数据结构下编程也比较容易,实验过程没有出现什么问题,加深了对交换机时间表调度情况的理解。
本文标题:北邮大三交换原理实验一时间表调度
链接地址:https://www.777doc.com/doc-6260585 .html