操作系統中的零拷貝與java中的使用

下面是在Linux操作系統中將磁盤中的數據傳輸到網絡設備上的示例圖。 在圖中可以看到數據先從磁盤上讀取到用戶空間而後再從用戶空間寫入到網絡設備中,寫入和讀取一共經歷四次拷貝,和四次狀態的切換(用戶到內核;內核到用戶)。這對效率來說是不合適的,所以操作系統提供了另一種操作。用戶通過sendfile()來使用這種方式。 可以看到用戶調用sendfile()之後,直接在內核空間進行數據的傳輸了。但是在內
相關文章
相關標籤/搜索