Điều này một phần vì lý do lịch sử, và một phần vì nó có ý nghĩa hơn theo cách này.
Đa thức
Multics là hệ điều hành đầu tiên giới thiệu hệ thống tệp phân cấp như chúng ta biết ngày nay, với các thư mục có thể chứa các thư mục. Trích dẫn Một hệ thống tệp mục đích chung cho lưu trữ thứ cấp do RC Daley và PG Neumann cung cấp:
Phần 2 của bài viết trình bày cấu trúc phân cấp của các tệp, cho phép sử dụng linh hoạt hệ thống. Cấu trúc này chứa đủ khả năng để đảm bảo tính linh hoạt. (Càng)
Để dễ hiểu, cấu trúc tệp có thể được coi là một cây tệp, một số trong đó là các thư mục. Đó là, với một ngoại lệ, mỗi tệp (ví dụ: mỗi thư mục) thấy chính nó được trỏ trực tiếp bởi chính xác một nhánh trong chính xác một thư mục. Ngoại lệ là thư mục gốc, hoặc root, ở gốc của cây. Mặc dù nó không được chỉ rõ ràng từ bất kỳ thư mục nào, nhưng gốc được chỉ ra bởi một nhánh hư cấu được biết đến với hệ thống tệp. (Càng)
Tại bất kỳ thời điểm nào, một người dùng được coi là đang hoạt động trong một thư mục, được gọi là thư mục làm việc của mình. Anh ta có thể truy cập một tập tin được chỉ ra một cách hiệu quả bởi một mục trong thư mục làm việc của anh ta chỉ bằng cách chỉ định tên mục nhập. Nhiều người dùng có thể có cùng một thư mục làm việc cùng một lúc.
Như trong nhiều khía cạnh khác, Multics tìm kiếm sự linh hoạt. Người dùng có thể làm việc trong một cây con của hệ thống tệp và bỏ qua phần còn lại, và vẫn được hưởng lợi từ các thư mục để tổ chức các tệp của họ. Các thư mục cũng được sử dụng để kiểm soát truy cập - thuộc tính READ cho phép người dùng liệt kê các tệp trong một thư mục và thuộc tính EXECUTE cho phép người dùng truy cập các tệp trong thư mục đó (giống như nhiều tính năng khác, tồn tại trong unix).
Multics cũng tuân theo nguyên tắc có một kho lưu trữ duy nhất. Bài viết không dừng lại ở khía cạnh này. Một nhóm lưu trữ duy nhất phù hợp với phần cứng của thời đại: không có thiết bị lưu trữ di động, ít nhất là không có thiết bị nào mà người dùng quan tâm. Multics đã có một kho lưu trữ sao lưu riêng biệt, nhưng điều này là minh bạch cho người dùng.
Unix
Unix lấy rất nhiều cảm hứng từ Multics, nhưng nhắm đến sự đơn giản trong khi Multics nhắm đến sự linh hoạt.
Một hệ thống tập tin phân cấp duy nhất phù hợp với Unix. Giống như với Multics, nhóm lưu trữ thường không liên quan đến người dùng. Tuy nhiên, đã có các thiết bị có thể tháo rời và Unix đã hiển thị chúng cho người dùng, thông qua các lệnh mount
và umount
(dành riêng cho siêu người dùng siêu tốc, tức là người quản trị). Trong hệ thống chia sẻ thời gian UNIX , Dennis Ritchie và Ken Thompson giải thích:
Mặc dù thư mục gốc của hệ thống tệp luôn được lưu trữ trên cùng một thiết bị, nhưng không cần thiết phải phân cấp toàn bộ hệ thống tệp trên thiết bị này. Có một yêu cầu hệ thống gắn kết với hai đối số: tên của một tệp thông thường hiện có và tên của một tệp đặc biệt có dung lượng lưu trữ liên quan (ví dụ: gói đĩa) phải có cấu trúc của một hệ thống tệp độc lập chứa phân cấp thư mục riêng của nó . Tác dụng của việc gắn kết là làm cho các tham chiếu đến tệp thông thường được đề cập thay vào thư mục gốc của hệ thống tệp trên ổ đĩa di động. Trong thực tế, mount thay thế một lá của cây phân cấp (tệp thông thường) bằng một cây con hoàn toàn mới (cấu trúc phân cấp được lưu trữ trên ổ đĩa di động). Sau khi gắn kết, hầu như không có sự phân biệt giữa các tệp trên ổ đĩa di động và các tệp trong hệ thống tệp cố định. Ví dụ, trong phần cài đặt của chúng tôi, thư mục gốc nằm trên một phân vùng nhỏ của một trong các ổ đĩa của chúng tôi, trong khi ổ đĩa khác chứa các tệp của người dùng được gắn theo trình tự khởi tạo hệ thống. Một hệ thống tập tin gắn kết được tạo ra bằng cách viết trên tập tin đặc biệt tương ứng của nó. Một chương trình tiện ích có sẵn để tạo một hệ thống tệp trống hoặc người ta có thể chỉ cần sao chép một hệ thống tệp hiện có.
Hệ thống tập tin phân cấp cũng có lợi thế là tập trung sự phức tạp của việc quản lý nhiều thiết bị lưu trữ vào kernel. Điều này có nghĩa là kernel phức tạp hơn, nhưng kết quả là tất cả các ứng dụng đều đơn giản hơn. Vì kernel phải quan tâm đến các thiết bị phần cứng nhưng hầu hết các ứng dụng thì không, đây là một thiết kế tự nhiên hơn.
các cửa sổ
Windows truy nguyên tổ tiên của nó trở lại hai dòng: VMS , một hệ điều hành ban đầu được thiết kế cho máy tính mini VAX và CP / M , một hệ điều hành được thiết kế cho các máy vi tính Intel đời đầu.
VMS có một hệ thống tập tin phân cấp phân tán, Files-11 . Trong Tệp-11, đường dẫn đầy đủ đến tệp chứa tên nút, chỉ định tài khoản trên nút đó, tên thiết bị, đường dẫn cây thư mục, tên tệp, loại tệp và số phiên bản. VMS có một tính năng tên logic mạnh mẽ cho phép các phím tắt được xác định cho các thư mục cụ thể, vì vậy người dùng hiếm khi phải quan tâm đến vị trí thực tế của Thư mục.
CP / M được thiết kế cho các máy tính có RAM 64kB và ổ đĩa mềm, vì vậy nó rất đơn giản. Không có thư mục, nhưng tham chiếu tệp có thể bao gồm chỉ thị ổ đĩa ( A:
hoặc B:
).
Khi MS-DOS 2.0 giới thiệu các thư mục, nó đã làm như vậy với cú pháp tương thích với MS-DOS 1, chính nó đi theo CP / M. Vì vậy, các đường dẫn đã được bắt nguồn từ một ổ đĩa với một tên đơn. (Ngoài ra, ký tự gạch chéo /
được sử dụng trong VMS và CP / M để bắt đầu các tùy chọn dòng lệnh, do đó, một ký tự khác phải được sử dụng làm dấu tách thư mục. Đây là lý do tại sao DOS và Windows sau đó sử dụng dấu gạch chéo ngược, mặc dù một số thành phần bên trong cũng hỗ trợ dấu gạch chéo ).
Windows vẫn duy trì khả năng tương thích với DOS và cách tiếp cận VMS, vì vậy nó vẫn giữ khái niệm về các ký tự ổ đĩa ngay cả khi chúng trở nên ít liên quan hơn. Ngày nay, dưới vỏ bọc, Windows sử dụng các đường dẫn UNC ( ban đầu được phát triển bởi Microsoft và IBM cho OS / 2 , có nguồn gốc liên quan). Mặc dù điều này được dành riêng cho người dùng có quyền lực (có thể do trọng lượng của lịch sử), Windows không cho phép gắn kết thông qua các điểm lặp lại .