Người ta luôn biết rằng hoạt động của đĩa chậm và chúng tôi biết lý do tại sao chúng chậm. Vì vậy, câu hỏi ở đây là tại sao chúng ta phải chờ I / O hoặc tại sao lại có một thứ như IOWait, v.v.?
Ý tôi là tôi đã nhận thấy rằng khi bạn thực hiện một số tác vụ I / O ở chế độ nền, máy tính của bạn về cơ bản sẽ chậm hơn rất nhiều, tôi đặc biệt nhận thấy rằng khi sử dụng Linux, nếu bạn thực hiện một số tác vụ I / O dài hơn , HĐH trở nên gần như không sử dụng được cho đến khi chúng được hoàn thành.
Thật vậy, tôi cũng tìm thấy chủ đề này trong một bài báo, có một đoạn:
I / O chờ đợi là 12,1%. Máy chủ này có 8 lõi (thông qua cat / Proc / cpuinfo). Điều này rất gần với (1/8 lõi = 0,125)
Về cơ bản, điều đó có nghĩa là nó làm chậm máy tính RẤT NHIỀU, tại sao vậy? Ý tôi là OK, bây giờ máy tính bình thường có ít nhất 2 lõi, đôi khi 4 hoặc đôi khi chúng có nhiều hơn vì siêu phân luồng hoặc đại loại như thế. Nhưng bây giờ câu hỏi là tại sao CPU thực sự phải ở đó, thực tế không làm gì khác hơn là chỉ chờ IO? Ý tôi là ý tưởng cơ bản hoặc kiến trúc của quy trình quản lý quy trình, bây giờ tôi không biết liệu HĐH có chịu trách nhiệm cho việc đó hay không, hay nó thuộc về phần cứng, nhưng cpu có thể chờ đợi hay không kiểm tra thường xuyên, trong khi thực sự thực hiện nhiều nhiệm vụ khác và chỉ quay lại quy trình IO khi nó sẵn sàng. Thật vậy, nếu đó là một nhiệm vụ khó khăn và cpu sẽ phải chờ, tại sao không phải là ' t mà quản lý bằng phần cứng hiệu quả hơn thì sao? Ví dụ như có thể có một loại cpu mini nào đó sẽ đợi nó và cung cấp một phần nhỏ dữ liệu cho cpu thực ngay khi nó quay trở lại quy trình và vì vậy quy trình sẽ được lặp lại và chúng ta sẽ không có để thực sự dành toàn bộ lõi cpu cho quá trình sao chép dữ liệu ... Hay tôi sẽ là người nên phát minh ra loại công cụ này và nhận được giải thưởng cao quý cho điều đó? :S
Bây giờ ổn rồi, tôi thực sự đặt nó bây giờ từ góc độ quan sát viên và tôi thực sự chưa đi sâu vào chủ đề này, nhưng tôi thực sự không hiểu tại sao cpu phải làm việc với tốc độ của ổ cứng, trong khi nó chỉ có thể làm một cái gì đó khác và quay lại với ổ cứng khi nó sẵn sàng. Ý tưởng là không tăng tốc ứng dụng cần hoạt động IO hoặc quá trình sao chép hoặc bất cứ điều gì, nhưng ý tưởng là chỉ ảnh hưởng tối thiểu đến mức tiêu thụ CPU trong khi thực hiện thao tác đó, để HĐH có thể sử dụng nó cho các quy trình khác và người dùng sẽ không phải cảm thấy độ trễ của máy tính nói chung khi thực hiện một số thao tác sao chép ...