Nếu một volume không được cấu hình là volume redundant thì dữ liệu trong bad-sector không thể khôi phục được. Khi một volume được định dạng như là một volume FAT và bộ phận quản lý volume không thể khôi phục dữ liệu thì việc đọc dữ liệu từ bad-sector sẽ không thành công và cũng không nhận được kết quả trả lời. Nếu các thành phần quan trọng của hệ điều hành đang được chứa tại các bad cluster thì có thể toàn bộ các file thư mục trên volume sẽ bị mất. Giống như các hệ thống file khác, NTFS không thể khôi phục dữ liệu từ bad- sector mà không có sự hỗ trợ từ bộ phận quản lý volume. Tuy nhiên, NTFS chứa nhiều sự hư hại mà các bad-sector có thể gây ra. Nếu NTFS phát hiện ra bad-sector trong quá trình đọc nó sẽ ánh xạ lại cluster chứa bad-sector trong nó, như trình bày trong hình 4.24.b2 sau đây: Hình 4.24.b2: Ánh xạ lại bad-cluster Nếu volume không được cấu hình là volume redundant, NTFS trả lại thông báo lỗi “đọc dữ liệu” cho chương trình người sử dụng yêu cầu đọc dữ liệu. Nếu NTFS phát hiện bad-cluster trong thao tác ghi, thì NTFS sẽ ánh xạ lại cluster trước khi ghi, nên không bị mất dữ liệu cũng như không phát sinh lỗi. Tổ chức lưu trữ file trên đĩa CD_ROM Về nguyên tắc hệ thống file trên CD_ROM đơn giản hơn so với những hệ thống file khác, vì các đĩa CD_ROM chỉ được ghi một lần (write-once media), do đó các file ghi trên nó không thể xóa bỏ hay thay đổi sau khi đĩa đã được chế tạo, chính vì vậy thành phần quản lý File/đĩa của hệ điều hành sẽ không lo đến việc quản lý các Block còn tự do trên đĩa cũng như việc cấp phát và thu hồi các Block cho các file, trong trường hợp các file được lưu trữ trên đĩa CD_ROM. Sau đây chúng ta xem xét hệ thống file chính trên CD_ROM và 2 hệ thống mở rộng của chúng: Hệ thống file ISO 9660: Đây là chuẩn phổ biến nhất đối với các hệ thống file CD_ROM và đã được chấp nhận như một chuẩn quốc tế vào năm 1988 với cái tên Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m ISO 9660. Một trong những mục đích của chuẩn này là làm cho tất cả các CD_ROM đều có thể đọc được trên các máy tính khác nhau, nó không phụ thuộc vào thứ tự byte cũng như hệ điều hành đang sử dụng, kể cả hệ điều hành yếu nhất như MS_DOS. Trên CD_ROM không có track, cylinder như trên các đĩa từ, nó chỉ có một đường xoắn ốc đi từ tâm đĩa ra bên ngoài, đường xoắn ốc này được chia thành các khối (block) logic có kích thước bằng nhau và bằng 2352 byte, đôi khi cũng được gọi là các sector logic. Một vài byte trong khối dành cho phần mở đầu, sửa chữa lỗi, và những việc khác. Phần chính của mỗi khối logic còn lại khoảng 2048 byte. ISO 9660 hỗ trợ cho một tập đĩa CD_ROM với một tập gồm 2 16 -1 đĩa, một CD_ROM riêng lẽ có thể được chia thành nhiều partition. Trong phần này chúng ta chỉ tìm hiểu chuẩn ISO 9660 với một CD_ROM và không được chia thành các Partition. Mỗi CD_ROM đều có phần đầu của đĩa, dài 16 block, chức năng của phần này không được định nghĩa trong chuẩn ISO 9600. Các nhà sản xuất CD_ROM có thể sử dụng phần đầu này để ghi vào đó chương trình BootStrap cho phép máy tính có thể khởi động được từ đĩa CD_ROM, hoặc dùng cho những mục đích khác. Phần tiếp theo là 1 block chứa bộ mô tả Volume chính, bộ mô tả này chứa một số thông tin chung về CD_ROM, bao gồm: định danh hệ thống (32byte), định danh volume (32byte), định danh nhà sản xuất (128byte) và định danh dữ liệu (128byte). Khi chế tạo có thể lấp đầy những trường trên theo ý muốn. Trong phần này còn chứa phần giới thiệu, bản quyền tác giả, thông tin thư mục, kích thước của một khối logic (2048, 4096, 8192, ), số các block trên CD_ROM, và thời gian tạo và kết thúc của CD_ROM. Cuối cùng, trong bộ mô tả Volume chính còn chứa một tập các mục vào (directory entry) cho thư mục gốc, tại đây chứa địa chỉ của block bắt đầu của thư mục gốc trên CD_ROM. Trên CD_ROM có 2 bộ mô tả volume chính, có nội dung hoàn toàn giống nhau, sử dụng một bộ và một bộ để dự phòng. Sau các phần trên là phần bắt đầu của CD_ROM dùng để chứa các file đang được ghi trên đĩa. Thư mục gốc và tất cả các thư mục khác, chỉ gồm một số mục vào, phần cuối của chúng chứa một bít đánh dấu (mark). Mỗi mục vào chứa từ 10 đến 12 trường, trong đó có một số thuộc ASCII và số khác là những trường số thuộc số nhị phân. Mở rộng Rock Ridge: Các chuyên viên thiết kế của UNIX nhận thấy ISO 9660 còn một vài hạn chế, do đó họ đã mở rộng ISO 9660 với mục đích là cho nó có thể thay thế cho hệ thống file của UNIX trên các đĩa CD_ROM và các file được tạo từ Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m UNIX có thể được sao chép sang CD_ROM và ngược lại, chuẩn mở rộng này được gọi là Rock Ridge. Rock Ridge giữ lại tất cả các trường của ISO 9660, và sử dụng trường System để đưa thêm vào các trường mới, các hệ thống file khác không nhận biết các trường này và xem CD_ROM như một đĩa CD_ROM thông thường. Rock Ridge bổ sung thêm các trường, theo thứ tự là: PX: Posix Attributes, PN: Major and miror device number, SL: Symbolic link, NM: Alternative name, CL: Child location, PL: Parent location, RE: Relocaltion, TF: Times stamps, trong đó trường quan trọng nhất là NM, trường này cho phép sử dụng 2 tên file cho một file, một tên file trong mục vào của thư mục và một tên file kết hợp, tên này không phụ vào tập kí tự hoặc giới hạn chiều dài của chuẩn ISO 9660. Mở rộng Joliet: Cũng như các chuyên viên thiết kế của UNIX, các chuyên viên thiết kế của Microsoft muốn mở rộng ISO 9660 sao cho các file được tạo từ Windows có thể được sao chép sang CD_ROM và ngược lại và họ đã thành công với mở rộng Joliet. Mở rộng Joliet cho phép: Tên file dài đến 64 kí tự; Sử dụng tập kí tự Unicode nên tên file có thể dài đến 128 kí tự; Có nhiều hơn 8 cấp thư mục lồng nhau; Sử dụng tên thư mục với phần mở rộng. TÀI LIỆU THAM KHẢO 1. Nguyễn Thanh Tùng. Bài giảng Hệ điều hành. Đại học Bách khoa Hà Nội, 1996. 2. Trần Hạnh Nhi. Giáo trình Hệ điều hành Nâng Cao. Đại học Khoa học Tự nhiên, TP Hồ Chí Minh, 1998. 3. Dương Quang Thiện. Hệ điều hành MSDOS 6.22. Văn phòng SAMIS, TP Hồ Chí Minh, 1995. 4. Lê Mạnh Thạnh - Nguyễn Kim Tuấn. Hướng dẫn lập trình với Assembly. Nhà xuất bản Khoa học Kỹ thuật Hà Nội, 2001. 5. Michael Tischer. Cẩm nang Lập trình Hệ thống (tập I và tập II). Nguyễn Mạnh Hùng và Phạm Tiến Dũng dich. Nhà xuất bản Thống Kê, 1995. 6. William Stalting. Operating Systems. Prentice Hall, 1995. 7. Andrew S. Tanenbum. Modern Operating Systems. Prentice Hall, 1995. 8. David A. Solomon – Mark E. Russinovich. Inside Microsoft Windows 2000. Microsoft Press, 2000. Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m . “đọc dữ liệu cho chương trình người sử dụng yêu cầu đọc dữ liệu. Nếu NTFS phát hiện bad -cluster trong thao tác ghi, thì NTFS sẽ ánh xạ lại cluster trước khi ghi, nên không bị mất dữ liệu cũng. redundant thì dữ liệu trong bad-sector không thể khôi phục được. Khi một volume được định dạng như là một volume FAT và bộ phận quản lý volume không thể khôi phục dữ liệu thì việc đọc dữ liệu từ. hiện ra bad-sector trong quá trình đọc nó sẽ ánh xạ lại cluster chứa bad-sector trong nó, như trình bày trong hình 4.24.b2 sau đây: Hình 4.24.b2: Ánh xạ lại bad -cluster Nếu volume không được