Чи є файлова система операційною системою?


9

Мені було цікаво, чи є файлова система на накопичувальному пристрої частиною ОС?

Я не думаю, що це так. Натомість він є частиною пристрою зберігання даних і існує поза будь-якої ОС, хоча був створений ОС. Чи правильно моє розуміння?

Однак у Вікіпедії :

Більшість операційних систем забезпечує файлову систему, оскільки файлова система є невід’ємною частиною будь-якої сучасної операційної системи.

Для LVM це частина ОС? Якщо так, то віртуальна файлова система, побудована на LVM, є частиною ОС?


Оскільки сама ОС знаходиться у файловій системі, я б сказав, що вона є невід'ємною частиною ОС, ніяк не обходячи її.
— Моаб

Згідно з вашою причиною, чи не ОС частина файлової системи є більш підходящою, ніж зворотна?
— Тім

Насправді я вважаю, що файлова система є вимогою до носія інформації, оскільки ОС може залишатися в пам'яті без використання жорсткого диска або іншого пристрою зберігання даних.
— Моаб

Відповіді:


10

Сама файлова система, представлена ​​фізичним порядком інформації на сховище-представлення, не залежить від ОС. В ОС міститься драйвер, який дозволяє йому працювати з файловою системою. У деяких файлових системах може бути тільки одна ОС, яка може з нею спілкуватися, і в ОС є ця файлова система, кодована в ній (подумайте, початкова файлова система Novell NetWare); але це не заважає деякій підприємливій людині писати такий драйвер для іншої ОС просто тому.

LVM не є файловою системою, це диспетчер томів. Менеджери томів, як і файлові системи, розраховують на дані, що зберігаються на презентації логічного сховища для подальшого визначення способу доступу до цього сховища для подальших логічних томів. У випадку з LVM і Linux, і BSD можуть використовувати один і той же формат на зберігання для відповідних реалізацій LVM.

Менеджером томів Windows є Динамічний диск, і деякі підприємливі люди створили драйвери Linux для доступу до них.

Якщо ви мали б взяти набір дисків, встановити якийсь Linux, встановити їх за допомогою LVM, встановити декілька ext3файлових систем на логічні томи, а потім розмістити диски на машині FreeBSD, щоб машина FreeBSD змогла прочитати диски . Мабуть. Це тому, що FreeBSD має драйвери, які розуміють фізичну компоновку як LVM, так і ext3 і реалізують необхідну пам'ять в ОС і структури доступу, необхідні для взаємодії з ними.

Ці драйвери , необхідні для інтерпретації макета зберігання майже завжди «в ОС», але макет фактичного зберігання сама по собі не вважається.


4

Я відповів на це на ServerFault . Ось відповідь ще раз:

Проблема тут - слово "файлова система". У світі POSIX / Unix / Linux використовується для позначення кількох різних речей.

  1. "Файловою системою" іноді є вся система файлів, корінням /якої є ядро ​​операційної системи та представлена ​​програмним забезпеченням програм. З цим значенням люди говорять, наприклад, про операційні системи POSIX, що мають "єдине дерево файлових систем ", наприклад.
  2. "Файлова система" іноді - це один (або більше) фрагментів ( або декількох) пристроїв зберігання прямого доступу або DASD (s) - одна чи більше колекцій суміжних секторів дисків, відформатованих як єдиний том з заданий формат - як визначений за допомогою деякої схеми розділення дисків. З цим значенням люди говорять, скажімо, про "форматування моєї /usrфайлової системи ".
  3. "Файлова система" - це іноді абстрактне приєднане дерево файлів і каталогів, представлене драйвером файлової системи (тобто рівнем VFS) для решти системи. З цим значенням, люди кажуть, скажімо, «установка ргос файлової системи на /proc».

Проза Вікіпедії - це значення №1. Це, дійсно, частина операційної системи, оскільки це операційна система, що постачається, і специфічна для операційної системи абстракція, що надається прикладному програмному забезпеченню, яке працює на операційній системі.

Значення №2 не є частиною операційної системи. Це структура даних на диску, яку одна або кілька операційних систем здатні зрозуміти. Дискові структури даних для LVM, зокрема, надають способи скласти один або кілька DASD в один або кілька томів. Вони самі не є частиною операційної системи. (Але, аналогічно, "LVM" має кілька значень, і може означати драйвери та утиліти LVM в операційній системі стільки, скільки це може означати структури даних на диску, якими маніпулюють ці драйвери та утиліти. Наприклад, "Я запустив LVM з рятувальний диск. ")

Значення №3 - це абстракція, характерна для операційної системи, що надається драйверами файлової системи, визначеними для операційної системи. Дійсні драйвери файлової системи дійсно є частиною операційної системи, хоча вони зазвичай відрізняються від ядра операційної системи .


2

Файлова система створюється, підтримується та використовується операційною системою, але ви маєте право зробити висновок, що її представлення може існувати незалежно від операційної системи.


Усі відповіді варті того, цей головний відбір.
— conner.xyz

2

Офіційного визначення поняття "операційна система" немає. Деякі використовували для підтвердження того, що "операційна система" та "API управління файлами" були одними і тими ж, в ОС не було нічого іншого, крім надання аналізатора команд. (Зрештою, це все, що зробив MS-DOS спочатку.)

Я завжди стверджував, що DOS не була справжньою операційною системою - що завдання операційної системи полягає в тому, щоб абстрагувати та віртуалізувати обладнання та керувати апаратними ресурсами. DOS по суті нічого з цього не робив.

Що стосується того, чи є файлова система частиною ОС або частиною "пристрою зберігання даних", багато в свою чергу залежить від того, що ви маєте на увазі під "файловою системою". Існує фізичний макет, такий як макет на дискеті чи компакт-диску, і є файлова система FUNCTION, яка залежить від того, щоб мати якусь інтелігентну сутність (процесор чи певний периферійний процесор), щоб забрати дурниці на диск і повернутись це як змістовна послідовність байтів. Макет, мабуть, відповідає деякому стандарту, тому ви можете, наприклад, записувати компакт-диск на одному пристрої та читати / відтворювати його на іншому. Питання полягає в тому, чи є ця компоновка "файловою системою", чи "система" знаходиться на пристроях, досить розумних для читання / запису макета.

У більшості комп'ютерних контекстів використовується термін "файлова система" для посилання на API, що дозволяють читати / записувати файли, та комбінацію процесора та периферійних пристроїв, що працюють під управлінням деяких ОС, які реалізують ці API - Термін зазвичай не стосується фізичного формату носія або окремих засобів масової інформації, будь то знімний чи ні.


Цікаві моменти.
— Maxpm

Навіть у MS-DOS ОС була MSDOS.SYS, і оболонка командного рядка була COMMAND.COM.
— user1686

1

Конкретна реалізація є частиною ОС. Абстрактна ідея, технічні характеристики та збережені дані не є.


1

Дискові накопичувачі та пристрої, схожі на дискові пристрої, "німі". Ви запитуєте його для LBA, він повертає 512, 2048 або 4096 байт, які він містить; навпаки для написання.

Шар файлової системи дозволяє вам сказати "Я хочу c: \ users \ public \ документи \ what.doc" та виконувати потокові операції на цьому (відкривати, читати, писати, шукати, закривати) - він перекладається з місць, адресованих іменами, у ряд запитів на читання / запис LBA.

Отже, рівень файлової системи має дві сторони - ту сторону, яка спілкується з пристроєм, подібним до дискового (або блокового), та іншу сторону, яка спілкується з операційною системою. Саме тут вступає в дію специфіка операційної системи. Зазвичай сторона блокової пристрої файлової системи є драйвером пристрою, а сторона операційної системи - API, який можна використовувати додатками. Але це лише інтерфейси і насправді не повинні впливати на базову роботу шару файлової системи.

Усі файлові системи спричиняють записування додаткових даних і зчитування зовнішніх даних файлів, щоб відслідковувати інформацію про файли, тобто записувати дозволи, атрибути тощо.

Проблема із завантаженням є курячим і яєчним - оскільки файли операційної системи зберігаються у файловій системі, але як вони завантажуються, якщо шар файлової системи ще не активний? Linux вирішує цю проблему або з початковим оперативним диском, або за допомогою вбудованого коду файлової системи як частини ядра. Windows вирішує цю проблему, надаючи завантажувачу Windows можливість читати розділи FAT і NTFS. Завантажувачі можуть бути тупими, як і більшість класичних завантажувачів BIOS, які завантажують лише LBA 0 і виконують його, і очікують, що цей код згодом підбере, або досить розумний і з невеликими власними шарами файлової системи, такими як UEFI, U-boot тощо.

LVM не є файловою системою. Він бере один або кілька блокових пристроїв і абстрагує його на інший "віртуальний" блок пристрою (в /dev/mapper- все, що /dev/mapperє, це віртуальний блок пристрою). Ви ставите файлову систему «поверх» LVM так само, як і файлову систему «поверх» розділу. LVM - це ще один рівень між одним або декількома драйверами пристроїв та файловою системою, який перетворює зчитування та запис у LBA на пристрої віртуального блоку до одного або декількох інших блокових пристроїв. Так, LVM може бути пристроєм віртуального блоку, і ви можете мати їх каскад.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.