日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

glomosim仿真的运行过程

發布時間:2023/12/10 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 glomosim仿真的运行过程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 glomosim系統啟動的入口是.\main\driver.pc文件中的main()函數。main()函數首先調用parsec_main()函數。parsec_main()函數是parsec運行庫函數,我們看不到它的源代碼。


2 parsec系統的入口是driver實體。parsec系統啟動時首先執行driver實體的代碼。driver實體首先讀取核心配置文件,解

析出仿真場景區域范圍、仿真隨機數種子、仿真總時間、網絡中節點總數等配置信息,隨后生成取名為partitionEntityNameGLOMOPartition類型的實體,然后driver實體根據網絡節點初始位置配置參數NODE-PLACEMENT的設置值確定各節點的初始位置,保存在消息NodePositionMsg中,接著利用send方法把消息NodePositionMsg發送給GLOMOPartition類型的實體partitionEntityName。此后driver實體將暫停以等待實體partitionEntityName完成初始化后發送過來信息Ready。


3 GLOMOPartition類型的實體partitionEntityName被創建時就立即申請所需內存空間。當接收到driver實體發送過來的消息

NodePositionMsg時,實體partitionEntityName接收到根據消息中的信息更新本區域實體中各節點的初始位置,然后構造全局普通事件堆heapSplayTree,接著針對各節點各層模塊調用其初始化函數以完成仿真初始化工作。初始化完成后實體partitionEntityName向driver實體發送信息Ready。


4 實體driver 接收到信息Ready 后得知partitionEntityName已經初始化完畢,所以它向partitionEntityName發送信息

StartSim命令它開始仿真。


5 實體partitionEntityName接收到信息StartSim后即進入仿真事件處理循環。該循環將持續下去直到事件隊列為空或設定的仿

真時間已到。每次循環過程中,實體partitionEntityName從全局事件隊列中取出隊首事件,判斷該事件由哪個節點處理,根據該事件的某些屬性判斷該事件應由哪個層次處理,并把該事件交給目標節點的相應層次的調度模塊。該層調度模塊進行進一步調度,將事件交給相應節點的具體功能模塊進行處理。


6 退出循環后即進入仿真收尾階段。該階段中實體partitionEntityName將依次調用各節點的各層模塊的收尾函數以將仿真過程
中搜集的統計數據寫入本區域實體的仿真數據臨時文件中。仿真收尾階段中,實體partitionEntityName針對每個節點依次調用radio、mac、網絡層、傳輸層和應用層的收尾調度模塊。收尾階段完成后仿真過程結束,至此函數parsec_main()執行完畢,系統重新回到函數main()的控制下。函數main()中parsec_main()后的代碼繼續執行。

轉載于:https://www.cnblogs.com/Aioria0622/archive/2009/03/05/1404223.html

總結

以上是生活随笔為你收集整理的glomosim仿真的运行过程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。