在 Disksim 中所有的工作都是由事件来完成,每个部件都有自己的事件,通过事件来驱动其他部件事件的状态的改变。
今天我们来看看 ssd.c 中的第一个函数 ssd_event_arrive(curr)
,他是 ssdmodel 的入口函数。
在进入 ssd_event_arrive
函数后我们可以用 gdb 工具的 bt 命令来查看下函数的堆栈情况,看看是在什么函数里调用了 ssd_event_arrive 才进入到 ssdmodel 的。
disksim 会在两种情况下进入到 ssdmodel 中,第一种情况是在建立 disksim 时,也就是 disksim_setup_disksim
函数中;第二种中就是在 disksim 模拟磁盘操作时,也就是在 disksim_run_simulation
函数中