Vấn đề chuyển đổi tệp giữa hai hệ điều hành

Một phần của tài liệu Tìm hiểu về mạng máy tính (Trang 74 - 76)

có nhiều điểm khác nhau nên sự chuyển đổi tệp giữa hai hệ điều hành gặp phải một số vấn đề.

Các tệp tin trên DOS hoàn toàn không có các thông tin về quyền sở hữu hay quyền truy nhập nên thông tin này sẽ bị mất khi sao chép một tệp từ máy UNIX sang một máy DOS.

Ngoài ra một vấn đề hết sức quan trọng và cũng khó có cách giải quyết tối u là vấn đề tên tệp. Tên tệp trên UNIX có thể dài tới 14 ký tự (đối với UNIX System V) hoặc hơn nữa, các ký tự có thể là chữ in hoa, chữ thờng hay các ký tự đặc biệt đều đợc chấp nhận. Các th mục trong đờng dẫn của UNIX đợc

phân cách bởi dấu '/'. Trong khi đó tên tệp của DOS chỉ đợc phép dài tối đa 8 ký tự cộng với 3 ký tự của phần mở rộng và bị hạn chế toàn bộ là chữ in hoa không sử dụng chữ thờng cùng với hàng loạt dấu và ký tự đặc biệt. Các th mục trong đờng dẫn đợc phân cách bởi dấu '\'. Cho nên một ánh xạ 1-1 giữa hai loại tên tệp là không thể tồn tại. Nếu có một hàm nào đó thực hiện đợc ánh xạ này thì sau khi chuyển một tệp từ máy UNIX tới máy DOS, tên tệp đích sẽ hoàn toàn xa lạ với tên tệp nguồn gây ra khó khăn cho ngời sử dụng.

Ví dụ, ta muốn có một tiện ích thực hiện việc backup một số tệp trên máy UNIX sang máy DOS. Ta sẽ đơn giản chuyển các tệp đó sang máy DOS nh- ng khi cần chuyển các tệp này về vị trí cũ thì ta không thể xác định chính xác vị trí cũ của tệp và không thể phục hồi lại đầy đủ tên của tệp. Nếu dùng một hàm nào đó để tạo ra ánh xạ 1-1 thì khi sao chép sang máy DOS sẽ tạo ra những tên tệp đặc biệt rất khó cho việc quản lý.

• Với bài toán này UNIX có tiện ích tar giải quyết bằng cách gom tất cả các tệp vào thành một tệp kèm theo thông tin chi tiết về tệp đó, khi cần, có thể phục hồi lại tệp một cách chính xác. Nhng tiện ích này không thể áp dụng cho mọi bài toán ví dụ cần đọc và xử lý tệp dới môi trờng DOS... • Có một giải pháp tạm thời cho vấn đề này là phải cắt bỏ phần đằng sau

của tên tệp trên UNIX. Đây cũng chính là giải pháp đối với tên tệp dài của Windows 95 khi các tệp này đợc truy nhập bởi DOS 6.x (hoặc các phiên bản DOS trớc). Với cách làm này chúng ta phải chú ý tới sự trùng tên sau khi cắt bỏ phần đuôi và xử lý một số ký tự đặc biệt còn lại.

Ví dụ : Hai tệp

testdata001.dat và testdata002.dat

Có thể sẽ bị cắt thành testdata.dat và hai tệp sẽ bị trùng tên nhau, một trong hai tệp sẽ không thể tồn tại.

• Một giải pháp tơng tự nh trong Windows 95 sẽ đợc sử dụng đó là chuyển hai tệp trên thành

testda~1.dat và testda~2.dat

• Giải pháp đặt tên cho các tệp trên máy UNIX tơng tự nh trên máy DOS là một giải pháp tồi. Nó không tận dụng tối đa khả năng của hệ điều hành là tên tệp linh động hơn. Nhng ta nhận thấy rằng phơng pháp này đôi khi cũng tỏ ra có hiệu quả đối với các ứng dụng đặc biệt. Ví dụ : phần mở rộng 3 ký tự của tên tệp đợc dùng để xác định nội dung tệp đợc dùng khá rộng rãi trên cả các hệ điều hành có tên tệp dài nh UNIX, Windows 95...

• Một giải pháp khác là việc thay thế hệ điều hành DOS bằng hệ điều hành Windows 95. Trong Windows 95 tên tệp có thể dài hơn (tới 255 ký tự) và có thể chứa một số ký tự mà DOS không cho phép nh dấu trống, dấu chấm... Việc chuyển đổi tên tệp sẽ đơn giản chỉ là xử lý một số trờng hợp các ký tự đặc biệt. Với sự phát triển hiện nay hệ điều hành DOS đang dần bị thay thế bởi Windows 95 (không chỉ bởi đặc tính tên tệp mà bởi nhiều tính năng vợt trội của Windows 95) thì việc thay thế này hoàn toàn thích hợp.

Vấn đề về một số lệnh tơng tác

Một phần của tài liệu Tìm hiểu về mạng máy tính (Trang 74 - 76)

Tải bản đầy đủ (DOC)

(98 trang)
w