Làm thế nào để chương trình chống phân mảnh hoạt động?


13

a) Thuật toán nào mà một chương trình chống phân mảnh điển hình sẽ sử dụng để thoát khỏi sự phân mảnh?

b) Trong Defraggler , tôi có tùy chọn chống phân mảnh nhanh và tùy chọn chống phân mảnh. Giả sử phân mảnh sẽ làm phân mảnh bình thường, phân mảnh nhanh sẽ làm gì?

Câu trả lời:


13

Tôi không sâu sắc trong việc chống phân mảnh nhưng tôi muốn chia sẻ một số thông tin liên quan đến câu hỏi của bạn. Đối với phần đầu tiên của câu hỏi của bạn, MSDN đề cập đến các thuật toán chống phân mảnh trong blog của họ:

Trong Windows XP, bất kỳ tệp nào được chia thành nhiều phần đều được coi là phân mảnh. Không như vậy trong Windows Vista nếu các đoạn đủ lớn - thuật toán chống phân mảnh đã được thay đổi (từ Windows XP) để bỏ qua các phần của tệp lớn hơn 64 MB. Do đó, phân mảnh trong XP và phân mảnh trong Vista sẽ báo cáo số lượng phân mảnh khác nhau trên một ổ đĩa. Vậy, cái nào đúng? Chà, trước khi câu hỏi có thể được trả lời, chúng ta phải hiểu tại sao phân mảnh trong Vista bị thay đổi. Trong Vista, chúng tôi đã phân tích tác động của phân mảnh và xác định rằng hiệu suất tăng đáng kể nhất từ ​​phân mảnh là khi các phần của tệp được kết hợp thành các khối đủ lớn để tác động của độ trễ tìm kiếm đĩa không đáng kể so với độ trễ liên quan đến việc đọc tuần tự tập tin.có một điểm mà sau đó kết hợp các mảnh tệp bị phân mảnh không có lợi ích rõ rệt .

Bạn có thể đọc toàn bộ bài viết từ đây: Kỹ thuật Windows 7 - Chống phân mảnh đĩa.

Đối với phần thứ hai của câu hỏi của bạn, Piriform Docs có câu trả lời:

Defraggler có hai chế độ khác nhau để chống phân mảnh: chống phân mảnh thường xuyên và Chống phân mảnh nhanh. Phân mảnh nhanh là nhanh hơn, nhưng kết quả không tối ưu như với phân mảnh thông thường.

Quick Defrag hoạt động nhanh hơn bằng cách bỏ qua các tệp có thuộc tính nhất định. Chúng được chỉ định trong tab Phân mảnh nhanh của hộp thoại Tùy chọn.

Quy tắc Chống phân mảnh nhanh mặc định là bỏ qua các tệp có các đoạn lớn hơn 50MB.

Để hiểu rõ hơn về phân mảnh, Wikipedia có một trang tốt .


+1 Điều này liên quan đến hầu hết mọi thứ mà chúng ta có thể nói về Defrag!
r0ca

2

Một điều quan trọng cần lưu ý: Microsoft cung cấp API mà các chương trình có thể sử dụng để chống phân mảnh các tệp một cách an toàn. (Xem phần Chống phân mảnh tệp trên MSDN ) Bất kỳ trình chống phân mảnh nào cũng nên sử dụng các API đó và hầu hết đều làm như vậy.

Tất cả "ma thuật" của phân mảnh đều xuất hiện trong việc xác định cách sắp xếp các tệp và đây là những gì các chương trình khác nhau sử dụng để phân biệt lẫn nhau. Nếu bạn nghĩ rằng bạn thực sự thông minh, bạn có thể sử dụng MyDefrag để viết kịch bản bố cục của riêng bạn.


0

Hoàn toàn không có câu trả lời nào. Không có thuật toán "điển hình". Bởi vì mỗi ứng dụng chống phân mảnh sử dụng thuật toán riêng của nó. Chắc chắn có thể có một "xu hướng" được nhìn thấy trong số một số thuật toán được biết đến nhiều hơn, nhưng nói chung không có một thuật toán điển hình hay phổ quát nào.

Hãy dùng MyDefrag , một ứng dụng tuyệt vời btw, bạn có thể, đến một số phần mở rộng, viết các thuật toán chống phân mảnh của riêng bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.