Cơ chế JFS (journaling file system)

Một phần của tài liệu Tìm hiểu về cơ chế phân quyền trong hệ điều hành linux (Trang 25)

Khi được khởi động hệ điều hành luôn luôn dùng một chương trình để kiểm fra tính toàn vẹn của hệ thống file, đó là trình fsck. Nếu phát hiện hệ thống file có dấu hiệu bất thường hoặc chưa được unmount, do các nguyên nhân như mất điện hoặc hệ thống bị treo đột ngột trong khi đang chạy, lúc đó fsck sẽ quét lại toàn bộ hệ thống file để cố gắng khôi phục lại dữ liệu. Quá trình kiểm tra và khôi phục lại dữ liệu (nếu có) nhanh hay chậm phụ thuộc vào dung lượng của ổ cứng, và với những hệ thống có dung lượng lưu trữ rất lớn như hiện nay (từ hàng chục đến hàng trăm gigabyte) thì phải mất hàng giờ để quét lại toàn bộ hệ thống ổ cứng. Cách làm này được áp dụng trên các hệ thống file Unix chuẩn ufs (Sun & HP) hoặc ext2 mà Linux đang sử dụng.

Nếu hệ thống file cổ khả năng ghi lại (log) được các hoạt động mà hệ điều hành đã và đang thao tác trên dữ liệu thi hệ thống xác định được ngay những file bị sự cố mà không cần phải quét lại toàn bộ hệ thống file, giúp quá trình phục hồi dữ liệu trở nên tin cậy và nhanh chóng hơn. Hệ thống file như vậy được gọi là journaling file system.

Cách thức journaling file system

- Ghi nhận các lần cập nhật trên file system thành các thao tác (transaction). - Mọi transaction đều phải được ghi nhận trong log file.

- Một transaction được coi là hoàn tat (commit) <--» đã được ghi nhận đầy đủ trong log file (lúc này file system có thể chưa được cập nhật).

- Khi file system được cập nhật với đầy đủ mọi tác vụ trong transaction thì transaction được xóa đi trong log file.

- Nếu file system bị hỏng thì hệ điều hành dựa vào các transaction trong log file để sửa chữa và khôi phục.

Một phần của tài liệu Tìm hiểu về cơ chế phân quyền trong hệ điều hành linux (Trang 25)