用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

基于VRTX操作系统实现V5接口协议

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:24:16
队列中,启动定时。若定时器计数为零,则表示该定时器溢出,定时器管理进程应向相应的应用进程发送溢出消息,同时应释放该定时器。应用进程若主动要求放弃一定时器,则应向定时器管理进程发送一释放定时器消息。消息中应包含所申请定时器的标号、分辨率以及溢出目标进程、目标对象等。定时器管理进程接收到此消息后,在合适的定时器队列中寻找到该定时器后,将其释放。 定时器管理进程管理其他各应用进程所申请的定时器。在定时器管理进程中,有三个链表分别用于存放这3种不同分辨率的定时器。

定时器管理进程完成以下一些基本功能:

(1)管理10ms、100ms和1s三种定时器链表。

(2)当10ms定时间隔到,应遍历10ms定时器链表,完成对链表中各定时器的计数处理。若有定时器溢出,则向相应的进程发送溢出消息,并从定时器链表中释放该定时器。同样,当100ms或1s的定时间隔到时,也应对100ms或1s定时器链表作相同处理。

(3)处理从其他进程接收到的消息。当收到从其他进程发送的申请定时器的消息时,应在相应分辨率的定时器链表中插入所申请的定时器;在接收到从其他进程来的释放定时器的消息后,应寻找到该定时器,并将其释放。

    5.编写可重入函数

  V5接口中有大量的函数需要编写。和传统的编程环境不同,本系统中,V5接口软件运行在多任务环境上,函数的可重入性(reentrancy)显得很重要。
javascript:window.open(this.src);" style="cursor:pointer;"/>
  所谓可重入函数是指一个可以被多个任务调用的过程,任务在调用时不必担心数据是否会出错。在编写函数时应尽量只使用局部变量,对于要使用的全局变量需要加以保护(如采用关中断、信号量等措施),这样构成的函数一定是可重入的;而编译器是否具有可重入的库,与它所服务的操作系统有关,如DOS下的Borland C和Microsoft C/C++等就没有可重入函数库,这是因为DOS是一个单用户、单任务的操作系统。

  为了确保每一个调用函数的任务控制自己私有变量,在一个可重入的C函数中,将这样的变量申明为局部变量,C编译器将这样的变量存放在调用栈上或寄存器里。在VRTX操作系统下编写可重入的函数,须要遵循以下原则:

(1)将所有局部变量申明为auto或寄存器(register)类型;

(2)尽量不要使用static或extern变量,不可避免使用全局变量时,需加以保护;

(3)用VRTX库函数sc_gblock分配大的数据结构。

三、V5接口发展的趋势

  从长远看,为了克服现有一系列SNI(业务节点接口)功能的限制,须要开发附加的SNI,特别是模块型和B-ISDN接入型SNI。目前,以ATM为基础的VB5接口的标准化工作正在进行。VB5参考点可分为VB5.1和VB5.2两种形式。

  ITU-T已经通过了关于VB5参考点的建议,规定了VB5既支持AN与SN的直接连接,又支持 两者的远程连接;既支持基于ATM的B-ISDN接入,又支持各种非ATM的接入。此外,VB5还应支持接入各种SN的接入功能,并能同时连接到多个不同的SN。有关VB5的技术框架还有待进一步研究和开发。



上一页  [1] [2] [3] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:11,796.88000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号