我想弄清楚網絡卡如何在Windows中工作,以及如何傳輸數據。有關如何在Windows網卡工作的問題
我有兩個假設。
1.
- 數據由網卡接收。
- 然後卡將數據放入內部緩衝區,可能是雙緩衝區或環形緩衝區。
- 該卡會累積數據,直到達到一定數量爲止,然後發送中斷。
- Windows將數據從卡複製到RAM並通知適當的處理程序。
2.
- 數據被接收。
- 該卡使用DMA將數據放入RAM中。 (DMA是否保證數據不會丟失,或者卡是否仍然需要自己的緩衝區?)
- DMA將足夠的數據放入RAM後觸發中斷。
- Windows收到中斷並將數據複製或暴露給適當的處理程序。
我的假設是否正確?
如果緩衝區已滿,是否有任何來自卡或Windows的消息?
在我的以太網控制器,我可以看到的屬性稱爲「接收緩衝區」和「傳輸緩衝區」我的Windows系統性能,都被設置爲256 這是什麼意思?
在這個問題上有沒有好的文獻?(我的Tanenbaum的現代操作系統,但它沒有具體涉及到Windows。)