关键词:
- 没有找到queue进程中的统计量是如何被实现的。
- 包流就是没有经过管道阶段处理的链路而已。
- 接口值是默认的属性。
- 统计量是属性值的函数。
包从src中发送出来
- src只负责生产包然后将其发送,即队列空间就是1。
- 包在包流上传输不需要时间,传播也不需要时间。
- 包在链路上传输需要时间,传播需要时间。
- 包的时间的处理对于opnet来说就是link的管道阶段,本质是包的函数。
- 包从src出来后,如果src后面是包流,因为这个仿真中没有管道阶段,即不经过函数的处理,包在src没有传输管道,没有传播管道,没有错误模型,没有纠错模型。
- 换言之,packet stream和link的本质区别就在于管道函数这个抽象的包的函数而已。包流就是没有经过管道阶段处理的链路而已。
包在queue中被处理
- queue中模型的原理是每个包的到来需要接收时间。默认的服务率是9600。包的大小除以服务率得到接收时间。一旦接收立即发往sink销毁。
- queue中在包被接收的时间内有可能还有包到来,触发流中断。所以这个时候就得有一个变量标志queue这个正在接收的状态。如果queue不接收且流中断,则接收包(所谓的接受包就是预设一个自中断,自中断发生时将包发往sink,自中断没发生时就将此期间到达的包在队列中排队)。
- 如果对队列的操作感兴趣可以看看queue的进程模型。
包在sink中被接受
- queue中预设的自中断一旦触发立即将包发往sink。
进程接口
一个仿真有输入量也有输出量。
输入量就是仿真属性。
输出量就是统计量。
这两个至关重要的量都是在进程模型中定义的。
进程接口:
里面比较重要的设置分为三类:
- 接口
- 属性
- 统计量
属性和统计量都分为全局和局部。
lmz:
属性的全局是什么意思?
将属性设为局部,任何一个进程也是可以读取这个值。
为了简便?
属性:
统计量:
本质上,统计量是属性值的函数。
本质上,接口值是默认的属性。
属性值是在选择进程模型时配置的。
统计量是在执行仿真时选择的。
进程模型中会读取这个属性值的配置,基于此以及仿真的情况计算统计量。
/* get queue module's own object id */
own_id = op_id_self ();
/* get assigned value of server processing rate */
op_ima_obj_attr_get (own_id, "service_rate", &service_rate);
tags:opnet