1 điểm bởi GN⁺ 2025-02-26 | 1 bình luận | Chia sẻ qua WhatsApp

Mối quan tâm về hệ thống tệp

  • Tác giả bắt đầu quan tâm đến hệ thống tệp từ thời Macintosh năm 1984.
  • Khi Apple từng có khả năng mua lại Be Inc., tác giả đã đặt nhiều kỳ vọng vào Be File System, nhưng cuối cùng Apple lại mua NeXT để phát triển Mac OS X.
  • Tại WWDC 2017, Apple đã công bố Apple File System (APFS) dành cho macOS.

Các tính năng chính của APFS

  • APFS là một hệ thống tệp có bước tiến lớn so với HFS+.
  • Các tính năng chính gồm snapshot theo thời điểm và clone copy-on-write.
  • Snapshot giúp bản sao lưu Time Machine trở nên đáng tin cậy và hiệu quả hơn.
  • Tệp clone chia sẻ dữ liệu với tệp gốc nên việc sao chép tệp trong Finder diễn ra tức thì.

Ý tưởng tiết kiệm dung lượng đĩa

  • Tác giả đã suy nghĩ về cách tận dụng các tệp clone của APFS để tiết kiệm dung lượng đĩa.
  • Tác giả phát hiện rằng có thể tiết kiệm dung lượng bằng cách chuyển các tệp có cùng nội dung thành clone.
  • Tác giả đã dùng một script Perl để thử nghiệm khả năng tiết kiệm dung lượng và nhận thấy có thể tiết kiệm được một lượng dung lượng đáng kể.

Phát triển ứng dụng Hyperspace

  • Tác giả quyết định phát triển một ứng dụng có thể tiết kiệm dung lượng đĩa.
  • Một ứng dụng mang tên Hyperspace đã được phát triển và phát hành trên Mac App Store.
  • Hyperspace có thể tải xuống miễn phí, nhưng cần trả phí để sử dụng tính năng tiết kiệm dung lượng.

Kinh nghiệm phát triển và công nghệ

  • Hyperspace được phát triển bằng SwiftUI và Swift 6.
  • Tác giả cho biết việc phát triển với Swift 6 ngay từ đầu dễ dàng hơn.
  • Ứng dụng có rủi ro vì nó chỉnh sửa tệp, nhưng tác giả kỳ vọng nó sẽ hữu ích với nhiều người dùng.

1 bình luận

 
GN⁺ 2025-02-26
Ý kiến trên Hacker News
  • Sau khi tải về và chạy thử, ứng dụng báo có thể dọn dẹp "900" tệp. Không có phần tóm tắt hay danh sách nào. Nhưng lại được yêu cầu mua ứng dụng. Không rõ nó có hữu ích hay không nên thấy khó hiểu vì sao phải mua

  • Hyperspace không có cách nào để phối hợp với mọi ứng dụng khác và macOS nhằm sắp xếp thời điểm thay thế tệp một cách an toàn. Điều này khiến tôi tự hỏi vì sao chính hệ thống tệp không chạy quy trình khử trùng lặp ở chế độ nền. Cũng tò mò không biết nhược điểm của việc APFS tự động làm việc này là gì

  • Tôi thích mô hình quét miễn phí để xem có lợi ích hay không, rồi chỉ trả tiền cho kết quả thực tế. Tôi cũng là người lưu rất nhiều tệp, và đã thu hồi được 7GB. Với tôi thì không phải lợi ích quá lớn, nhưng vẫn thấy biết ơn vì có tính năng như thế này

  • Tôi đã tạo một tiện ích dòng lệnh tên là dedup để làm điều tương tự. Nó có chế độ chạy thử, "thông minh" chọn nguồn clone tối ưu, hiểu hard link và các kiểu clone khác, giữ nguyên metadata, và xử lý đúng các tệp nén HFS. Nó chưa từng phá hỏng dữ liệu của tôi, nhưng cũng như mọi công cụ hệ thống tệp khác, vẫn cần thận trọng khi sử dụng

  • Tại WWDC 2017, Apple công bố Apple File System (APFS) cho macOS. Trước đó, hãng từng âm thầm chuyển toàn bộ iPhone sang APFS như một phần của bản cập nhật iOS 10.x rồi lại quay về HFS+. Tôi thấy thắc mắc không biết họ có thể hoàn tác một thay đổi hệ thống tệp như vậy bằng cách nào

  • Tôi tò mò không biết họ dùng thuật toán nào để xác minh hai tệp có giống nhau hay không. Có nhiều cách như hash, so sánh từng bit, v.v., nhưng các kỹ thuật này đều có nhược điểm. Không rõ đâu là cách tốt nhất khi xử lý số lượng lớn tệp

  • Nếu tệp A tồn tại ở hai nơi và chạy công cụ này, thì khi sửa A_0, A_1 cũng sẽ bị sửa theo, hay chỉ trạng thái mới của A_0 được phản ánh còn A_1 vẫn giữ nguyên?

  • Tôi đã thử với một thư mục lớn của dự án NodeJS, nhưng trong thư mục 8.1GB chỉ tìm ra 1GB có thể tiết kiệm. Thử lại với cả thư mục home của người dùng thì cũng chỉ được 1.3GB. Tôi định quét cả hệ thống và thư viện nhưng bị từ chối vì vấn đề quyền hạn. Có vẻ do tôi dùng pnpm làm trình quản lý gói nên việc sử dụng dung lượng đĩa đã được tối ưu sẵn. Ý tưởng hay, nhưng mức giá hiện tại quá cao nên khó biện minh. Sẽ hay hơn nếu nó chạy như một tiến trình nền mỗi tháng một lần

  • Hyperspace là kiểu ứng dụng hơi khó giải thích. Họ đã cố mô tả rất dài trong phần tài liệu. Tôi hy vọng nó sẽ trở thành một phần bổ sung hữu ích cho hệ sinh thái Mac. Nhưng có lẽ chỉ cần mô tả đơn giản là "trình khử trùng lặp tệp" là đủ

  • Trên Windows có một tính năng "copy-on-write" tương tự tên là "Dev Drive". Nếu nó hoạt động tốt, có lẽ nó nên trở thành mặc định