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


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.