Là hệ thống tập tin một phần của hệ điều hành?


9

Tôi đã tự hỏi nếu một hệ thống tập tin trên một thiết bị lưu trữ là một phần của hệ điều hành?

Tôi không nghĩ rằng nó là. Thay vào đó, nó là một phần của thiết bị lưu trữ và tồn tại bên ngoài bất kỳ HĐH nào mặc dù được tạo bởi HĐH. Là sự hiểu biết của tôi phải không?

Tuy nhiên trong Wikipedia :

Hầu hết các hệ điều hành cung cấp một hệ thống tệp, vì một hệ thống tệp là một phần không thể thiếu của bất kỳ hệ điều hành hiện đại nào.

Đối với LVM, nó có phải là một phần của HĐH không? Nếu có, thì hệ thống tập tin ảo được xây dựng trên LVM là một phần của HĐH?


Vì bản thân HĐH nằm trong hệ thống tệp, tôi sẽ nói nó là một phần không thể thiếu của HĐH, không có cách nào khác.
Moab

Theo lý do của bạn, không phải hệ điều hành của hệ thống tệp phù hợp hơn ngược lại?
Tim

Trên thực tế tôi nghĩ rằng một hệ thống tệp là một yêu cầu của phương tiện lưu trữ, vì một hệ điều hành có thể nằm trong bộ nhớ mà không cần sử dụng đĩa cứng hoặc thiết bị lưu trữ khác.
Moab

Câu trả lời:


10

Bản thân hệ thống tập tin, được biểu diễn bằng thứ tự thông tin vật lý trên biểu diễn lưu trữ, độc lập với HĐH. HĐH chứa trình điều khiển cho phép nó hoạt động với hệ thống tập tin. Một số hệ thống tệp có thể chỉ có một HĐH có thể nói chuyện với nó và HĐH đó có hệ thống tệp đó được mã hóa cứng vào nó (nghĩ rằng hệ thống tệp gốc của Novell NetWare); nhưng điều đó không ngăn cản một số người dám nghĩ dám viết một trình điều khiển như vậy cho một hệ điều hành khác chỉ vì.

LVM không phải là một hệ thống tập tin, nó là một trình quản lý âm lượng. Các trình quản lý khối, như các hệ thống tệp, dựa vào dữ liệu được lưu trữ trên một bản trình bày lưu trữ logic để xác định thêm cách truy cập vào bộ lưu trữ đó cho các khối hợp lý hơn nữa. Trong trường hợp LVM, cả Linux và BSD đều có thể sử dụng cùng một định dạng lưu trữ cho việc triển khai LVM tương ứng của chúng.

Trình quản lý âm lượng Windows là Đĩa động và một số người dám nghĩ dám làm đã tạo trình điều khiển Linux để truy cập chúng.

Nếu bạn định lấy một bộ đĩa, cài đặt Linux loại nào đó, thiết lập chúng với LVM, cài đặt một số ext3hệ thống tệp trên ổ đĩa logic và sau đó đặt các ổ đĩa vào máy FreeBSD, máy FreeBSD đó có thể đọc được các đĩa . Có lẽ. Điều này là do FreeBSD có các trình điều khiển hiểu cách bố trí vật lý của cả LVM và ext3 và thực hiện các cấu trúc truy cập và bộ nhớ trong hệ điều hành cần thiết để tương tác với chúng.

Các trình điều khiển được yêu cầu để giải thích bố cục lưu trữ hầu như luôn luôn là "trong HĐH", nhưng bản thân bố trí lưu trữ thực tế không được coi là có.


4

Tôi đã trả lời điều này trên ServerFault . Đây là câu trả lời một lần nữa:

Vấn đề ở đây là từ "hệ thống tập tin". Trong thế giới POSIX / Unix / Linux, nó được sử dụng để chỉ một số điều khác nhau.

  1. "Hệ thống tập tin" đôi khi là toàn bộ hệ thống các tập tin, được bắt nguồn từ /và được trình bày cho các phần mềm ứng dụng bởi nhân hệ điều hành. Với ý nghĩa này, mọi người nói về các hệ điều hành POSIX có một " cây hệ thống tập tin duy nhất " chẳng hạn.
  2. "Hệ thống tập tin" đôi khi là một (hoặc nhiều) lát của (hoặc một vài) thiết bị lưu trữ truy cập trực tiếp (s) hoặc DASD (s) - một hoặc nhiều bộ sưu tập các phần của đĩa liền kề được định dạng dưới dạng một tập với một ổ đĩa định dạng đã cho - như được phân định bởi một số sơ đồ phân vùng đĩa. Với ý nghĩa này, mọi người nói về "định dạng /usrhệ thống tập tin của tôi ".
  3. Một "hệ thống tập tin" đôi khi là một tập tin trừu tượng của các tập tin và thư mục, được trình bày bởi trình điều khiển hệ thống tập tin (tức là lớp VFS) cho phần còn lại của hệ thống. Với ý nghĩa này, người ta nói về, nói, "gắn kết các hệ thống tập tin proc trên /proc".

Văn xuôi Wikipedia có nghĩa là # 1. Đây thực sự là một phần của hệ điều hành, vì nó là một hệ điều hành được cung cấp và cụ thể hóa hệ điều hành, trừu tượng được cung cấp cho các phần mềm ứng dụng chạy trên hệ điều hành.

Ý nghĩa số 2 không phải là một phần của hệ điều hành. Đó là một cấu trúc dữ liệu trên đĩa mà một hoặc nhiều hệ điều hành có khả năng hiểu được. Các cấu trúc dữ liệu trên đĩa cho LVM, cụ thể, cung cấp các cách để cắt một hoặc nhiều DASD thành một hoặc nhiều khối. Chúng không phải là một phần của hệ điều hành. (Tuy nhiên, tương tự, "LVM" có nhiều ý nghĩa, và có thể có nghĩa là các trình điều khiển LVM và tiện ích trong hệ điều hành càng nhiều vì nó có thể có nghĩa là trên đĩa cấu trúc dữ liệu mà những trình điều khiển và tiện ích thao tác. Ví dụ: "Tôi chạy LVM từ đĩa cứu hộ. ")

Ý nghĩa số 3 là một sự trừu tượng hóa cụ thể của hệ điều hành được cung cấp bởi các trình điều khiển hệ thống tệp cụ thể của hệ điều hành. Các trình điều khiển hệ thống tập tin thực sự là một phần của hệ điều hành, mặc dù chúng thường khác biệt và tách biệt với nhân hệ điều hành .


2

Một hệ thống tệp được tạo, duy trì và sử dụng bởi một hệ điều hành nhưng bạn có quyền kết luận rằng đại diện của nó có thể tồn tại độc lập với hệ điều hành.


Tất cả các câu trả lời đều đáng giá, đây là câu trả lời chính.
conner.xyz

2

Không có định nghĩa chính thức về "hệ điều hành". Một số được sử dụng để duy trì rằng "hệ điều hành" và "API quản lý tệp" là một và giống nhau, với HĐH không có gì khác để làm ngoài việc cung cấp một bộ phân tích lệnh. (Rốt cuộc, đây là tất cả những gì MS-DOS đã làm, ban đầu.)

Tôi luôn khẳng định rằng DOS không phải là một hệ điều hành thực sự - rằng công việc của một hệ điều hành là trừu tượng hóa và ảo hóa phần cứng và quản lý tài nguyên phần cứng. DOS về cơ bản không có điều đó.

Về việc một hệ thống tệp là một phần của HĐH hay là một phần của "thiết bị lưu trữ", rất nhiều phụ thuộc lần lượt vào ý nghĩa của "hệ thống tệp". Có bố cục vật lý, chẳng hạn như bố trí trên đĩa mềm hoặc CD, và có hệ thống tệp FUNCTION, phụ thuộc vào việc có một số thực thể thông minh (CPU hoặc bộ xử lý ngoại vi nào đó) để lấy vô nghĩa trên đĩa và trả về nó như là một chuỗi có ý nghĩa của byte. Bố cục có lẽ phù hợp với một số tiêu chuẩn, do đó, bạn có thể, ví dụ, ghi đĩa CD trên một thiết bị và đọc / phát trên thiết bị khác. Câu hỏi đặt ra là liệu bố cục này có phải là "hệ thống tệp" hay "hệ thống" đó có nằm trong các thiết bị đủ thông minh để đọc / ghi bố cục hay không.

Trong hầu hết các bối cảnh máy tính, người ta sử dụng thuật ngữ "hệ thống tệp" để chỉ các API cho phép bạn đọc / ghi tệp và sự kết hợp giữa CPU và các thiết bị ngoại vi, hoạt động dưới sự kiểm soát của một số HĐH, thực hiện các API đó - thuật ngữ này thường không đề cập đến định dạng vật lý của phương tiện hoặc phương tiện riêng lẻ, cho dù có thể tháo rời hay không.


Điểm thú vị.
Tối đa

Ngay cả trong MS-DOS, HĐH cũng MSDOS.SYSvậy và vỏ dòng lệnh là COMMAND.COM.
dùng1686

1

Việc thực hiện cụ thể là một phần của HĐH. Ý tưởng trừu tượng, thông số kỹ thuật và dữ liệu được lưu trữ không.


1

Ổ đĩa và các thiết bị giống như ổ đĩa là "câm". Bạn yêu cầu nó cho một LBA, nó trả lại cho bạn 512, 2048 hoặc 4096 byte mà nó chứa; ngược lại để viết.

Một lớp hệ thống tập tin cho phép bạn nói "Tôi muốn c: \ users \ public \ Documents \ anything.doc" và thực hiện các hoạt động phát trực tuyến trên đó (mở, đọc, viết, tìm kiếm, đóng) - nó dịch từ các vị trí có thể định địa chỉ tên thành một chuỗi yêu cầu đọc / ghi LBA.

Vì vậy, lớp hệ thống tập tin có hai mặt, một mặt giao tiếp với thiết bị (hoặc khối) giống như ổ đĩa và mặt còn lại nói chuyện với hệ điều hành. Đây là nơi đặc thù của hệ điều hành đi vào hoạt động. Thông thường, phía thiết bị khối của hệ thống tập tin là trình điều khiển thiết bị và phía hệ điều hành là API được các ứng dụng sử dụng. Nhưng đây chỉ là các giao diện và không thực sự phải ảnh hưởng đến hoạt động cơ bản của lớp hệ thống tập tin.

Tất cả các hệ thống tệp khiến dữ liệu bổ sung được ghi và đọc bên ngoài dữ liệu tệp, để theo dõi thông tin về các tệp, tức là ghi lại quyền, thuộc tính, v.v.

Có một chút vấn đề gà và trứng khi khởi động - vì các tệp hệ điều hành được lưu trữ trên hệ thống tệp, nhưng chúng được tải như thế nào nếu lớp hệ thống tệp chưa hoạt động? Linux giải quyết vấn đề này bằng một đĩa ram ban đầu hoặc bằng cách xây dựng mã hệ thống tập tin như là một phần của kernel. Windows giải quyết vấn đề này bằng cách cung cấp cho bộ tải khởi động Windows khả năng đọc các phân vùng FAT và NTFS. Bộ tải khởi động có thể bị câm, giống như hầu hết các bộ tải khởi động BIOS cổ điển chỉ tải LBA 0 và thực thi nó và hy vọng mã đó sẽ nhận được sau đó, hoặc khá thông minh và với các lớp hệ thống tệp nhỏ của riêng chúng, chẳng hạn như UEFI, U-boot, v.v.

LVM không phải là một hệ thống tập tin. Nó lấy một hoặc nhiều thiết bị khối và trừu tượng hóa nó thành một thiết bị khối "ảo" khác (trong /dev/mapper- mọi thứ trong /dev/mapperlà một thiết bị khối ảo). Bạn đặt một hệ thống tập tin "lên trên" một LVM giống như cách bạn đặt một hệ thống tập tin "lên trên" một phân vùng. LVM là một lớp khác ở giữa một hoặc nhiều trình điều khiển thiết bị và hệ thống tập tin, chuyển đổi đọc và ghi thành LBA trên thiết bị khối ảo thành một hoặc nhiều thiết bị khối khác. Có, LVM có thể là một thiết bị khối ảo và bạn có thể có một tầng của chúng.

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.