Tại sao chúng ta bị giới hạn ở 255 tên tập tin mặc dù chúng ta đang ở thời đại Ghz?


0

Tại sao các hệ thống tệp hiện tại bị giới hạn ở 255 ký tự cho tên tệp mặc dù phần cứng đã được cải thiện mạnh mẽ trong vài thập kỷ qua?

Tại sao chúng ta bị giới hạn ở 255 tên tập tin mặc dù chúng ta đang ở thời đại Ghz?


Các giới hạn về tên tệp không liên quan gì đến bộ xử lý
Ramhound

Câu trả lời:


2

Chủ yếu là vì tên tệp được lưu trữ trong hệ thống tệp, trong đó có một byte duy nhất dành riêng cho chiều dài của chúng. Thay đổi điều này thành hai byte về mặt lý thuyết là có thể, nhưng tạo ra một hệ thống tệp mới và không tương thích. Điều đó không đáng.

Nhắc bạn, Windows trong lịch sử đã có 255 con đường chiều dài. Điều đó đã được coi là quá nghiêm ngặt và đã được nới lỏng dần dần (theo nghĩa là nó đã trở nên dễ dàng hơn để một chương trình bỏ qua)


1
thú vị nếu bạn thêm tại sao trong DOS là nó 8.3? có lẽ nó sẽ ít hơn một byte.
barlop

1
@barlop: Dễ: DOS thậm chí không thèm lưu trữ độ dài tên tệp. Tất cả các tên được lưu trữ dưới dạng 11 ký tự, FAT thậm chí không lưu trữ .. Hãy nhớ rằng, định dạng 8.3 bắt nguồn từ máy tính IBM nguyên thủy nhất.
MSalters

1
Hấp dẫn. Bỏ qua một bên ... Tôi đoán rằng đáng ra họ nên sử dụng ký tự chấm dứt để đánh dấu phần cuối của tên tệp (sau đó chúng có thể dài hơn), mặc dù tôi không biết - có lẽ một byte lưu trữ độ dài hiệu quả hơn một chút . Là 1 byte bạn đề cập, một cái gì đó giới hạn đường dẫn đến 255? Hoặc chúng có tách rời nhau không (như 1 byte giới hạn tên tệp và một cái gì đó giới hạn đường dẫn), 'vì một giới hạn đường dẫn như thế có thể gây khó chịu đôi chút, nhưng tên tệp dài không cần thiết. (Và được cấp giới hạn đường dẫn là có thể bỏ qua).
barlop

1
@barlop: Một hệ thống tệp điển hình không quan tâm đến độ dài đường dẫn. Ví dụ. /mnt/home/foo/bar.txt có thể là đường dẫn đầy đủ, nhưng bản thân hệ thống tệp chỉ chứa một foo thư mục và một bar.txt tập tin. Các /mnt/home một phần là nơi hệ điều hành gắn kết hệ thống tập tin. Toàn bộ đường dẫn được tạo bằng cách ghép động các phần này, bên trong chương trình đang chạy của bạn.
MSalters

2

Có rất ít giá trị trong việc cho phép nhiều ký tự hơn, vì vậy không có hệ thống tệp mới nào được quan tâm để thực hiện nó - nó sẽ có kích thước và chi phí hiệu suất phù hợp.

Thông thường, mọi yêu cầu đối với tên tệp dài hơn là từ thiết kế không phù hợp và có thể được chuyển hướng đến cơ sở dữ liệu hoặc nội dung của tệp.


"Không có hệ thống tập tin mới hơn" là không chính xác, Reiser sử dụng 4K. Nhưng dù sao đó cũng là một định dạng không tương thích mới.
MSalters
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.