Hiện tại, Apple File System (APFS) là hệ thống tệp tin được sử dụng phổ biến trên các máy tính Mac. APFS được ra mắt vào năm 2017 với iOS 10.3. Sự ra mắt của hệ thống tệp tin này nhằm thay thế cho HFS+, quá trình này diễn ra suôn sẻ nhờ vào các tính năng mà APFS cung cấp. Vậy APFS là gì? Ưu nhược điểm của nó ra sao? Hệ thống tệp tin này có các định dạng nào, hãy cùng bài viết tìm hiểu nhé.
APFS là gì?
APFS (Apple File System) là một hệ thống tệp hệ điều hành được phát triển bởi Apple cho các thiết bị chạy hệ điều hành macOS, iOS, tvOS và watchOS. Nó được giới thiệu lần đầu tiên vào năm 2016 và thay thế hệ thống tệp HFS+ trước đó.
![tìm hiểu apfs 1](https://yeuphancung.com/wp-content/uploads/2023/10/tim-hieu-apfs-1.jpg)
APFS được thiết kế để cải thiện hiệu suất, bảo mật và khả năng mở rộng của hệ thống tệp, đồng thời hỗ trợ các tính năng mới như mã hóa, snapshot và quản lý không gian lưu trữ hiệu quả. APFS cũng hỗ trợ các tính năng đặc biệt cho các thiết bị di động như quản lý không gian lưu trữ thông minh và tích hợp với công nghệ flash.
Lịch sử phát triển của APFS
Sự chuyển đổi từ HFS sang HFS+ và từ HFS+ sang APFS của Apple là cực kỳ quan trọng. Định dạng APFS ra mắt đã khắc phục các vấn đề lớn mà phiền bản tiền nhiệm của nó gặp phải, chẳng hạn như thiếu dấu thời gian (timestamp) nano giây. Một vấn đề lớn khác của HFS+ đó là nhiều tiến trình có thể truy cập hệ thống tệp cùng một lúc, đe dọa đến quyền riêng tư.
![tìm hiểu apfs 2](https://yeuphancung.com/wp-content/uploads/2023/10/tim-hieu-apfs-2.jpg)
Apple File System đã giải quyết hầu hết các vấn đề trên, giống như HFS+ đã làm với HFS. Một trong những vấn đề lớn nhất của HFS là bất kỳ tệp nào cũng có thể chiếm toàn bộ kích thước khối phân bổ. Điều này cũng khiến Apple nảy ra ý tưởng rằng họ cần phân vùng ổ cứng của mình thành các ổ đĩa nhỏ hơn.
APFS được giới thiệu vào năm 2016 tại hội nghị dành cho nhà phát triển Apple. Hệ thống tệp mới này được phát hành lần đầu tiên vào tháng 3 năm 2017 cho iOS 64-bit.
Kiến trúc của APFS
![tìm hiểu apfs 3](https://yeuphancung.com/wp-content/uploads/2023/10/tim-hieu-apfs-3.jpg)
Kiến trúc của APFS bao gồm các thành phần chính sau:
- Container: APFS sử dụng khái niệm container để quản lý không gian lưu trữ. Một container là một phân vùng vật lý hoặc ổ đĩa ảo có thể chứa nhiều APFS volumes.
- Volumes: Mỗi container có thể chứa nhiều volumes, tương tự như các phân vùng trên HFS+. Mỗi volume trong APFS có thể được sử dụng như một hệ thống tệp độc lập với các thuộc tính và cấu trúc riêng.
- Namespace: Namespace để quản lý và tổ chức các tệp và thư mục trong hệ thống tệp. Namespace trong APFS cho phép tạo ra các không gian riêng biệt để lưu trữ và quản lý các tệp và thư mục. Mỗi namespace trong APFS có thể được xem như một không gian độc lập, với các tệp và thư mục của nó. Các namespace có thể được sử dụng để tạo ra các phân vùng ảo hoặc phân chia không gian lưu trữ trong hệ thống tệp.
Tính tương thích của APFS
Incompatible | Compatible |
FileVault | Macs chạy macOS 10.13 và về sau |
macOS Sierra 10.12.4 và về trước* | Fusion Drives |
tvOS 10.2 | |
watchOS 3.2 | |
iOS 10.3 | |
Paragon Software |
*macOS Sierra chạy phiên bản thử nghiệm của APFS gặp rắc rối với các ngôn ngữ khác ngoài tiếng Anh và không thể chuẩn hóa Unicode.
Các tính năng của APFS
Tối ưu hóa cho Flash và SSD
Các máy tính ngày nay hầy hết đã chuyển sang sử dụng ổ cứng SSD. Apple đã nhận ra điều này và tối ưu hóa APFS để hoạt động tốt với bộ lưu trữ Flash và SSD.
Lệnh TRIM
Khi hệ điều hành cần thông báo cho ổ SSD rằng HĐH đang xóa các tệp và các trang thuộc tệp đó cần khả dụng để ghi thông tin mới, thì TRIM sẽ cung cấp tính năng đó. TRIM giúp cải thiện hiệu suất và quản lý bộ nhớ hiệu quả.
Atomic Safe Save
Trên hầu hết các máy tính đời cũ, khi đang thay đổi một tệp tin và PC bị tắt giữa chừng thì dữ liệu đó, bao gồm cả tệp gốc sẽ bị mất hoặc hỏng. Với Atomic Safe Save, máy tính sẽ không lưu bất kỳ thứ gì cho đến khi quá trình thay đổi hoàn thành để tránh file bị hỏng hoặc mất.
Futureproofing
APFS hỗ trợ các số 64-bit inode và hơn 9 triệu tệp trên một ổ đĩa. Inode là một cấu trúc mô tả một đối tượng hệ thống dưới dạng một tệp hoặc một thư mục.
Clones
![tìm hiểu apfs 4](https://yeuphancung.com/wp-content/uploads/2023/10/tim-hieu-apfs-4.jpg)
Tính năng này cho phép tạo ra các bản sao của tệp tin hoặc thư mục mà không tạo ra bản sao thực sự của dữ liệu. Thay vào đó, các bản sao chỉ chứa các tham chiếu đến dữ liệu gốc. Điều này giúp tiết kiệm không gian lưu trữ và tăng tốc độ sao chép và di chuyển tệp tin.
Khi một tệp tin hoặc thư mục được sao chép trong APFS, hệ thống tạo ra một clone mới. Clone này sẽ chia sẻ cùng một bản gốc với tệp tin hoặc thư mục ban đầu. Khi một trong hai bản sao được chỉnh sửa, chỉ có phần dữ liệu thay đổi được lưu trữ, trong khi các phần dữ liệu không thay đổi vẫn được chia sẻ giữa các bản sao.
Tính năng clones trong APFS giúp giảm bớt thời gian và không gian lưu trữ cần thiết cho việc sao chép và di chuyển tệp tin. Nó cũng hỗ trợ việc tạo ra các bản sao nhanh chóng và tiết kiệm không gian lưu trữ khi có nhiều bản sao của cùng một tệp tin hoặc thư mục.
Partition scheme
![tìm hiểu apfs 5](https://yeuphancung.com/wp-content/uploads/2023/10/tim-hieu-apfs-5.jpg)
Partition scheme là một khái niệm liên quan đến cách phân chia và quản lý các phân vùng trên ổ đĩa. APFS hỗ trợ các partition scheme sau:
- GUID Partition Map (GPT): Đây là partition scheme phổ biến được sử dụng trên các máy tính Mac. GPT cho phép tạo ra nhiều phân vùng trên ổ đĩa và hỗ trợ dung lượng lớn.
- Master Boot Record (MBR): MBR là một partition scheme cũ hơn, hạn chế trong việc hỗ trợ dung lượng lớn và số lượng phân vùng. APFS hỗ trợ MBR để tương thích với các hệ thống cũ hơn hoặc hệ điều hành khác.
- Apple Partition Map (APM): APM là một partition scheme cũng được sử dụng trên các máy tính Mac cũ hơn. Tuy nhiên, APFS không hỗ trợ APM và khuyến nghị sử dụng GPT thay thế.
Partition scheme quyết định cách ổ đĩa được phân chia và quản lý, và nó cũng ảnh hưởng đến khả năng tương thích với các hệ thống khác. Khi tạo phân vùng trong APFS, bạn có thể chọn partition scheme phù hợp với nhu cầu và yêu cầu của bạn.
Snapshots
Snapshot cho phép tạo ra các bản chụp của hệ thống tệp tin tại một thời điểm cụ thể. Snapshot là một bản sao chỉ đọc của hệ thống tệp tin tại thời điểm tạo snapshot, giúp bảo vệ dữ liệu và cho phép khôi phục lại trạng thái trước đó của hệ thống. Các tính năng chính của snapshot trong APFS bao gồm:
- Bảo vệ dữ liệu: Snapshot cho phép bảo vệ dữ liệu khỏi các sự cố như xóa tệp tin, lỗi hệ thống hoặc tấn công malware. Bất kỳ thay đổi nào được thực hiện sau khi tạo snapshot sẽ không ảnh hưởng đến bản sao chỉ đọc này.
- Khôi phục dữ liệu: Snapshot cho phép khôi phục lại trạng thái trước đó của hệ thống tệp tin. Người dùng có thể khôi phục các tệp tin bị xóa hoặc bị thay đổi mà không cần phải sử dụng các công cụ phức tạp hoặc phục hồi từ bản sao lưu.
- Hiệu suất cao: Snapshot trong APFS được thực hiện nhanh chóng và không tốn nhiều không gian lưu trữ. Các snapshot chỉ lưu trữ các thay đổi từ trạng thái trước đó, giúp tiết kiệm dung lượng lưu trữ.
- Quản lý dễ dàng: APFS cung cấp các công cụ quản lý snapshot để tạo, xóa và quản lý các bản sao chỉ đọc. Người dùng có thể dễ dàng kiểm tra và khôi phục lại các snapshot từ giao diện người dùng hoặc thông qua các lệnh dòng lệnh.
Tính năng snapshot trong APFS giúp cải thiện tính bảo mật và khả năng khôi phục dữ liệu của hệ thống tệp tin.
Encryption
Trong Apple File System, tính năng mã hóa được tích hợp sẵn để bảo vệ dữ liệu trên ổ đĩa. APFS hỗ trợ mã hóa dữ liệu ở mức độ tệp tin và mức độ hệ thống tệp tin.
Tại mức độ tệp tin, bạn có thể mã hóa các tệp tin cụ thể bằng cách sử dụng khóa mã hóa riêng cho từng tệp tin. Điều này cho phép bạn bảo vệ các tệp tin cụ thể mà không cần mã hóa toàn bộ ổ đĩa.
Tại mức độ hệ thống tệp tin, bạn có thể mã hóa toàn bộ ổ đĩa hoặc phân vùng bằng cách sử dụng khóa mã hóa chung. Khi ổ đĩa hoặc phân vùng được mã hóa, tất cả các tệp tin và thư mục trên đó đều được bảo vệ bằng mã hóa.
APFS sử dụng AES-XTS (Advanced Encryption Standard – XEX-based Tweaked Codebook Mode with Cipher-Text Stealing) để thực hiện mã hóa. AES-XTS là một thuật toán mã hóa mạnh và được sử dụng rộng rãi trong ngành công nghiệp để bảo vệ dữ liệu.
Khi sử dụng tính năng mã hóa trong APFS, bạn có thể yên tâm rằng dữ liệu của bạn được bảo vệ và không thể truy cập trái phép mà không có khóa mã hóa.
Space sharing
![tìm hiểu apfs 6](https://yeuphancung.com/wp-content/uploads/2023/10/tim-hieu-apfs-6.jpg)
Tính năng space sharing cho phép chia sẻ không gian lưu trữ giữa các thư mục và tập tin trong hệ thống tệp. Thay vì phải cung cấp một dung lượng cố định cho mỗi thư mục, space sharing cho phép các thư mục chia sẻ không gian lưu trữ và sử dụng không gian trống dựa trên nhu cầu thực tế của các tập tin trong hệ thống.
Khi sử dụng tính năng space sharing, các tập tin và thư mục có thể tận dụng không gian trống từ các vùng lưu trữ khác nhau trong hệ thống tệp. Điều này giúp tối ưu hóa việc sử dụng không gian lưu trữ và giảm thiểu lãng phí.
Space sharing cũng cho phép tạo ra các clone của tập tin hoặc thư mục, trong đó các bản sao chỉ lưu trữ các thay đổi mới mà không cần sao chép toàn bộ nội dung. Điều này giúp tiết kiệm không gian lưu trữ và tăng tốc độ sao chép và di chuyển tập tin.
Tính năng space sharing trong APFS cung cấp khả năng linh hoạt và hiệu quả trong việc quản lý không gian lưu trữ trong hệ thống tệp.
Crash protection
Crash protection là tính năng được thiết kế để bảo vệ dữ liệu khỏi mất mát trong trường hợp xảy ra sự cố hoặc crash hệ thống. Đây là một tính năng quan trọng để đảm bảo tính toàn vẹn và khả năng phục hồi của dữ liệu.
Khi một hoạt động ghi dữ liệu được thực hiện trên APFS, hệ thống sẽ sử dụng một cơ chế gọi là copy-on-write (sao chép khi ghi) để đảm bảo rằng dữ liệu gốc không bị thay đổi trực tiếp. Thay vào đó, một bản sao mới của dữ liệu sẽ được tạo ra và ghi vào vị trí mới trên đĩa. Sau khi quá trình ghi hoàn tất, hệ thống sẽ cập nhật các metadata để chỉ đến bản sao mới này.
Điều này có nghĩa là trong trường hợp xảy ra sự cố hoặc crash hệ thống, dữ liệu gốc vẫn được giữ nguyên và không bị hỏng. Hệ thống có thể sử dụng các metadata để phục hồi dữ liệu và đảm bảo tính toàn vẹn của nó.
Tính năng crash protection trong APFS giúp đảm bảo rằng dữ liệu không bị mất mát hoặc hỏng trong trường hợp xảy ra sự cố, đồng thời cung cấp khả năng phục hồi dữ liệu một cách hiệu quả.
Sparse files
Sparse files cho phép tạo ra các tệp tin thưa thớt, chỉ chiếm không gian lưu trữ thực tế cho các phần dữ liệu thực sự được sử dụng. Khi tạo một sparse file, không gian lưu trữ chỉ được cấp phát cho các phần dữ liệu thực sự được ghi vào, trong khi các phần còn lại được đánh dấu là “thưa thớt” và không chiếm không gian lưu trữ thực tế.
Tính năng này giúp tiết kiệm không gian lưu trữ cho các tệp tin có kích thước lớn nhưng chỉ sử dụng một phần nhỏ dữ liệu. Nó cũng hữu ích trong việc tạo ra các tệp tin hình ảnh hoặc video có kích thước lớn nhưng chỉ chứa các phần dữ liệu thưa thớt.
Sparse files trong APFS cũng hỗ trợ việc mở rộng kích thước tệp tin một cách linh hoạt, chỉ cần cấp phát thêm không gian lưu trữ cho các phần dữ liệu mới được ghi vào. Điều này giúp tối ưu hóa việc sử dụng không gian lu trữ và quản lý các tệp tin có kích thước thay đổi.
Các định dạng APFS
Apple File System có 4 định dạng, mỗi loại có một mức độ bảo mật khác nhau.
Format | Giới thiệu |
APFS | Đây là định dạng chính của APFS, được sử dụng để tạo ra các ổ đĩa APFS mới. Nó cung cấp các tính năng như mã hóa dữ liệu, snapshot, và quản lý không gian lưu trữ hiệu quả. |
APFS (encrypted) | Đây là một phiên bản của định dạng APFS, trong đó dữ liệu được mã hóa để bảo vệ quyền riêng tư. Khi sử dụng định dạng này, người dùng sẽ cần cung cấp mật khẩu để truy cập vào dữ liệu. |
APFS (case-sensitive) | Đây là một phiên bản của định dạng APFS, trong đó phân biệt chữ hoa chữ thường. Điều này có nghĩa là các tên tập tin và thư mục sẽ được xem như khác nhau nếu chúng chỉ khác nhau về chữ hoa chữ thường. |
APFS (case-sensitive, encrypted) | Đây là một phiên bản kết hợp của định dạng APFS case-sensitive và APFS encrypted. Nó cung cấp tính năng phân biệt chữ hoa chữ thường và mã hóa dữ liệu để bảo vệ quyền riêng tư. |
Ưu nhược điểm của APFS
Ưu điểm | Nhược điểm |
Nhiều tùy chọn mã hóa | Không hỗ trợ các phiên bản OS cũ |
Crash protection, Atomic Safe Save, Futureproofing,… | Không được tối ưu trên HDD |
Quản lý dữ liệu hiệu quả | Không có kiểm tra tính toàn vẹn của dữ liệu người dùng |
Tối ưu hóa tốt trên SSD | |
Ít hỏng tệp tin hơn |