內核讀取緩衝區 內核空間緩衝區 理解請教
来源:1-9 Kafka高性能核心pageCache与zeroCopy原理解析
pinkyTseng
2021-09-13 16:28:26
老師,我仔細思考後有3大點疑惑不知是否理解正確想請教您,請老師指點迷津,萬分感謝
1.內核讀取緩衝區和內核空間緩衝區差別在哪?本質上是不是一樣的東西?都是OS級別的PageCache,只是source不同,一個是磁盤一個是用戶態buffer?
2.另外需要內核空間緩衝區的原因是不是因為,用戶態無法直接執行OS底層如CPU,network之類的操作,所以需要先寫到內核空間緩衝區?又因為一般操作會先到用戶態再到內核態,因為內核態可能會做些處理,可能和內核讀取緩衝區內的資料會不同,所以不能直接用內核讀取緩衝區而是要先寫回到另一塊內核空間緩衝區?
3.是不是也代表就是因為kafka是不可刪的資料不會也不必在用戶態有改動,所以才可以直接用內核讀取緩衝區來達成零拷貝?也就是零拷貝本質上應該只能用在不可變更資料的中間件上?
1回答
阿神
2021-09-13
是的,也可以这样理解
相似问题