1. 程式人生 > >5、 LwIP協議棧規範翻譯——作業系統模擬層

5、 LwIP協議棧規範翻譯——作業系統模擬層

  為了使lwIP可移植,作業系統特定的函式呼叫和資料結構不直接在協議的程式碼中使用。相反,當需要這樣的函式呼叫和資料結構時,直接使用作業系統模擬層。 
作業系統模擬層為作業系統服務提供統一的介面,如定時器,程序同步和訊息傳遞機制。 原則上,當移植lwIP到其他作業系統時,
只需要實現該作業系統的作業系統模擬層即可。

作業系統模擬層提供TCP使用的定時器功能。由作業系統模擬層提供的定時器是粒度至少為200 ms的單觸發定時器,在該定時器超時發生時呼叫註冊函式的。

訊號量是唯一提供程序的同步機制。即使訊號量在底層作業系統中不可用,它們也可以由其他同步原語(如條件變數或鎖)進行模擬。

訊息傳遞是通過使用簡單的抽象機制完成的,該機制稱為油箱。 郵箱有兩個操作:post和fetch。 post操作不會阻塞程序; 相反,傳送到郵箱的訊息在作業系統模擬層佇列中,直到其他的程序將獲取它們。即使底層作業系統沒有對郵箱機制的本機支援,也可以使用訊號量輕鬆實現它。