CSMA/CA之INIT入口
2016-12-15 03:57
162 查看
这里比较奇怪的一个地方在于init竟然是非强制状态。
仿真开始的时候,仿真核心维持的事件列表中维持着10个begsim_intrpt(因为有10个节点),且发生时间都为0时刻。
begsim_intrpt被触发,进程从初始的状态的入口开始执行。
如何确定这10个相同时刻的事件的执行顺序?
尽管发生在同一时刻,但是其在事件列表中仍然是有顺序的。
仿真核心按照其在事件列表的顺序一个一个执行。事件执行的过程中仿真时间不推进。
执行到下一个仿真开始中断事件的时候,仿真时间不推进,仍然为0。
每一个init入口处又设置了一个自中断,其触发时间也是0时刻。
可以想象,事件列表中一开始有10个0时刻的仿真开始中断,随着第一个仿真开始中断的执行,事件列表中又多了一个0时刻的自中断。当10个仿真开始中断都执行完毕,事件列表中会出现10个0时刻的自中断。
因为init是非强制状态,执行完入口代码后,控制权又回到了仿真核心。仿真核心执行事件列表的第一个事件,也即0时刻的自中断。控制权又回到init进程。init进程接着执行init的出口代码。
如何确定中断的接收者?
中断的接收者是进程
流中断的接收者通过包流很容易判断
自中断的接收者就是本身
其他进程中断的接收者是其他进程
如何确定进程内部状态的转移?
中断的传递是定向的,由仿真核心传递给目标进程
目标进程内部有很多状态,究竟装移到哪一个具体的状态,仅仅靠中断类型是不够的的。
流中断除了需要知道中断类型是流中断外,还需要知道是从哪一个流索引来的
自中断除了需要知道中断类型是自中断外,还需要知道其中断码是多少
tags:opnet
仿真开始的时候,仿真核心维持的事件列表中维持着10个begsim_intrpt(因为有10个节点),且发生时间都为0时刻。
begsim_intrpt被触发,进程从初始的状态的入口开始执行。
如何确定这10个相同时刻的事件的执行顺序?
尽管发生在同一时刻,但是其在事件列表中仍然是有顺序的。
仿真核心按照其在事件列表的顺序一个一个执行。事件执行的过程中仿真时间不推进。
执行到下一个仿真开始中断事件的时候,仿真时间不推进,仍然为0。
每一个init入口处又设置了一个自中断,其触发时间也是0时刻。
可以想象,事件列表中一开始有10个0时刻的仿真开始中断,随着第一个仿真开始中断的执行,事件列表中又多了一个0时刻的自中断。当10个仿真开始中断都执行完毕,事件列表中会出现10个0时刻的自中断。
因为init是非强制状态,执行完入口代码后,控制权又回到了仿真核心。仿真核心执行事件列表的第一个事件,也即0时刻的自中断。控制权又回到init进程。init进程接着执行init的出口代码。
如何确定中断的接收者?
中断的接收者是进程
流中断的接收者通过包流很容易判断
自中断的接收者就是本身
其他进程中断的接收者是其他进程
如何确定进程内部状态的转移?
中断的传递是定向的,由仿真核心传递给目标进程
目标进程内部有很多状态,究竟装移到哪一个具体的状态,仅仅靠中断类型是不够的的。
流中断除了需要知道中断类型是流中断外,还需要知道是从哪一个流索引来的
自中断除了需要知道中断类型是自中断外,还需要知道其中断码是多少
tags:opnet
相关文章推荐
- 从状态转移看:载波侦听多路访问/冲突避免(CSMA/CA)
- linux驱动的入口函数module_init的加载和释放
- 【转】CSMA/CD和CSMA/CA
- 1-2 Windows下启动函数(真正的入口函数) 之 寻找入口函数与_security_init_cookie
- CSMA/CD & CSMA/CA
- opnet之csma/ca之bbb_csma_tx
- linux驱动的入口函数module_init的加载和释放
- opnet之自行设计csma/ca/rx
- opnet之csma/ca之aaa_csma_ca_rx
- 对IEEE 802.15.4中Slotted CSMA-CA的理解
- 802.11为什么采用CSMA/CA协议
- FreeGLUT Tips: 详解 glutInit 的入口参数
- CSMA/CD和CSMA/CA详解
- CSMA-CA 简介
- 802.11协议精读2:DCF与CSMA/CA
- 【无线传感网】:CSMA/CA与CSMA/CD协议的区别和联系
- 支持seaJs和requireJs的前端模块开发方案(二):业务页面和入口脚本init.js
- linux驱动的入口函数module_init的加载和释放【转】
- 【csma/ca协议和csma/cd协议的matlab仿真详解】
- linux驱动的入口函数module_init的加载和释放