opnet几个基本问题

来源:互联网 发布:无主之地2汉化补丁 mac 编辑:程序博客网 时间:2024/05/14 09:02

 

1  关于自中断op_intrpt_schedule_self (T,Code)

op_intrpt_schedule_self (op_sim_time (), 0);

因为网络里会有多个节点同时进行初始化,op_intrpt_schedule_self (op_sim_time (), 0)这句的意思就是,执行完自己前面的初始化后返回仿真核心,让仿真核心转到别的节点执行之前同样的初始化。 只能允许一个其他节点初始化????

自中断一般发生在进程执行过程中,用于做定时器或延时。当自中断发生时,进程停止执行,把仿真控制权交还给仿真核心或者调用发生自中断的进程(出现在动态进程有子进程的情况下),此时仿真核心可以安排其它中断或者空闲等待直到T时间的到来,重新激活发生自中断的进程,然后进程在发生自中断处继续执行。

 

2  bursty_source 突发的产生包,在on状态,以某个分布产生包,在off状态停止产生包

 

3  初始状态是非强迫状态;Begin simulation interrupt 设为enable 入口代码:op_intrpt_schedule_self (0.0,0);  与直接将初始状态设置为强迫状态的区别是:对于一个unforced状态的模块,用语句op_intrpt_schedule_self (0.0,0);的目的是使每个node的process均完成开始的初始化程序然后在向下执行命令。就是说通过调用op_intrpt_schedule_self (0.0,0);将执行权交给系统,然后系统去执行其他的process再进行中断,当所有的process均执行完毕之后,系统开始运行。

4  有关进程注册:‘进程注册’定义了一组程序,这组程序允许OPNET定义进程来在一个模块范围(或者全局)的注册中记录,访问,和共享信息。每个仿真模块只有唯一的一个进程注册。任意一个OPNET进程可以注册他自己在全局的“进程注册”中,同样,任意OPNET进程都可以获得有用的信息从已注册的进程当中。

oms_pr_process_register (node_objid, module_objid, pro_handle,process_name)
注册一个进程。参数分别为节点id,模块id,进程句柄,进程名字。
返回值类型: OmsT_Pr_Handle   Process registry process record handle.
oms_pr_process_discover(neighbor_objid,pr_handle_lptr,attr0_name,attr0_type, attr0_value,...., OPC_NIL)
查找一个进程放入队列中。几个参数的意思分布为:要查找该模块相邻模块的id,查找到进程后要放入的list,后边是n个triplet 最后是结束标志。

 

原创粉丝点击