Hệ điều hành
Thành phần > Nhân > Truy cập đĩa và hệ thống tập tin

Quyền truy cập vào dữ liệu được lưu trữ trên đĩa là tính năng trung tâm của tất cả các hệ điều hành. Máy tính lưu trữ dữ liệu trên đĩa bằng cách sử dụng các tập tin, được cấu trúc theo những cách cụ thể để cho phép truy cập nhanh hơn, độ tin cậy cao hơn và tận dụng tốt hơn dung lượng có sẵn của ổ đĩa. Cách cụ thể mà các tập tin được lưu trữ trên đĩa được gọi là hệ thống tập tin và cho phép các tập tin có tên và thuộc tính. Nó cũng cho phép chúng được lưu trữ trong một hệ thống phân cấp các thư mục hoặc các thư mục được sắp xếp trong cây thư mục.
Các hệ điều hành ban đầu thường hỗ trợ một loại ổ đĩa duy nhất và chỉ một loại hệ thống tập tin. Các hệ thống tập tin ban đầu bị hạn chế về dung lượng, tốc độ và các loại tên tập tin và cấu trúc thư mục mà chúng có thể sử dụng. Những hạn chế này thường phản ánh những hạn chế trong hệ điều hành mà chúng được thiết kế, khiến một hệ điều hành rất khó hỗ trợ nhiều hệ thống tập tin.
Trong khi nhiều hệ điều hành đơn giản hơn hỗ trợ một số tùy chọn hạn chế để truy cập hệ thống lưu trữ, các hệ điều hành như UNIX và Linux hỗ trợ công nghệ được gọi là hệ thống tập tin ảo hoặc VFS. Hệ điều hành như UNIX hỗ trợ nhiều loại thiết bị lưu trữ, bất kể thiết kế hoặc hệ thống tập tin của chúng, cho phép chúng được truy cập thông qua giao diện lập trình ứng dụng chung (API). Điều này làm cho các chương trình không cần thiết phải có bất kỳ kiến thức nào về thiết bị mà chúng đang truy cập. VFS cho phép hệ điều hành cung cấp các chương trình có quyền truy cập vào số lượng thiết bị không giới hạn với vô số hệ thống tập tin được cài đặt trên chúng, thông qua việc sử dụng trình điều khiển thiết bị cụ thể và trình điều khiển hệ thống tập tin.
Thiết bị lưu trữ được kết nối, chẳng hạn như ổ cứng, được truy cập thông qua trình điều khiển thiết bị. Trình điều khiển thiết bị hiểu ngôn ngữ cụ thể của ổ đĩa và có thể dịch ngôn ngữ đó sang ngôn ngữ chuẩn được hệ điều hành sử dụng để truy cập tất cả các ổ đĩa. Trên UNIX, đây là ngôn ngữ của các thiết bị khối.
Khi hạt nhân có sẵn một trình điều khiển thiết bị thích hợp, nó có thể truy cập nội dung của ổ đĩa ở định dạng thô, có thể chứa một hoặc nhiều hệ thống tập tin. Trình điều khiển hệ thống tập tin được sử dụng để dịch các lệnh được sử dụng để truy cập từng hệ thống tập tin cụ thể thành một tập hợp lệnh tiêu chuẩn mà hệ điều hành có thể sử dụng để nói chuyện với tất cả các hệ thống tập tin. Các chương trình sau đó có thể xử lý các hệ thống tập tin này trên cơ sở tên tập tin và các thư mục / thư mục, được chứa trong cấu trúc phân cấp. Chúng có thể tạo, xóa, mở và đóng các tập tin cũng như thu thập nhiều thông tin khác nhau về chúng, bao gồm quyền truy cập, kích thước, dung lượng trống và ngày tạo và sửa đổi.
Sự khác biệt khác nhau giữa các hệ thống tập tin làm cho việc hỗ trợ tất cả các hệ thống tập tin trở nên khó khăn. Các ký tự được phép trong tên tập tin, phân biệt chữ hoa chữ thường và sự hiện diện của nhiều loại thuộc tính tập tin khác nhau khiến việc triển khai một giao diện duy nhất cho mọi hệ thống tập tin trở thành một nhiệm vụ khó khăn. Các hệ điều hành có xu hướng khuyến nghị sử dụng (và do đó hỗ trợ nguyên bản) các hệ thống tập tin được thiết kế đặc biệt cho chúng; ví dụ: NTFS trong Windows và ext3 và ReiserFS trong Linux. Tuy nhiên, trên thực tế, các trình điều khiển của bên thứ ba thường có sẵn để hỗ trợ cho các hệ thống tập tin được sử dụng rộng rãi nhất trong hầu hết các hệ điều hành đa năng (ví dụ: NTFS có sẵn trong Linux thông qua NTFS-3g, và ext2/3 và ReiserFS có sẵn trong Windows thông qua phần mềm của bên thứ ba).
Hỗ trợ cho hệ thống tập tin rất đa dạng giữa các hệ điều hành hiện đại, mặc dù có một số hệ thống tập tin phổ biến mà hầu như tất cả các hệ điều hành đều bao gồm hỗ trợ và trình điều khiển. Hệ điều hành khác nhau tùy thuộc vào hỗ trợ hệ thống tập tin và định dạng đĩa mà chúng có thể được cài đặt. Trong Windows, mỗi hệ thống tập tin thường bị giới hạn trong ứng dụng cho một số phương tiện nhất định; ví dụ: đĩa CD phải sử dụng ISO 9660 hoặc UDF và kể từ Windows Vista, NTFS là hệ thống tập tin duy nhất mà hệ điều hành có thể được cài đặt. Có thể cài đặt Linux trên nhiều loại hệ thống tập tin. Không giống như các hệ điều hành khác, Linux và UNIX cho phép bất kỳ hệ thống tập tin nào được sử dụng bất kể phương tiện nào được lưu trữ trong đó, cho dù đó là ổ cứng, đĩa (CD, DVD,...), ổ USB flash, hoặc thậm chí được chứa trong một tập tin nằm trên hệ thống tập tin khác.