Đọc this zero copy article,Bản sao Zero có tồn tại trong hệ điều hành Windows không?
Bản sao không tồn tại trong Windows OS (máy chủ 2003, 2008, 2008 R2)?
Đọc this zero copy article,Bản sao Zero có tồn tại trong hệ điều hành Windows không?
Bản sao không tồn tại trong Windows OS (máy chủ 2003, 2008, 2008 R2)?
Có, nó được hỗ trợ qua the TransmitFile
API.
Tôi khá chắc chắn rằng IIS cũng sử dụng điều này.
Phương thức này có thực sự không sao chép (tức là thậm chí không sao chép từ bộ đệm tệp vào bộ đệm ổ cắm) không được đề cập một cách rõ ràng trong tài liệu. Nhưng với thực tế là phương pháp này được xác định theo cách mà chắc chắn làm cho nó có thể, tôi sẽ rất ngạc nhiên nếu điều này không đúng.
Gần nhất các tài liệu nói đến trong đó nêu rõ ràng là đoạn này:
[...]
TransmitFile
đạt lợi nhuận hiệu quả của nó bằng cách gửi dữ liệu trực tiếp từ bộ nhớ cache file.
Cảm ơn Joachim. Tôi tự hỏi, nếu TransmitFile() sao chép dữ liệu từ kernel-read-buffer đến socket-buffer và đến NIC buffer? hay sao chép dữ liệu trực tiếp từ bộ đệm kernel-read-buffer sang bộ đệm NIC? – portoalet