Відмінності між версіями «Файлова система»

Матеріал з Wiki TNEU
Перейти до: навігація, пошук
 
(18 проміжних версій 2 користувачів не показані)
Рядок 1: Рядок 1:
Фа́йлова систе́ма — спосіб організації даних, який використовується операційною системою для збереження інформації у вигляді файлів на носіях інформації. Також цим поняттям позначають сукупність файлів та директорій, які розміщуються на логічному або фізичному пристрої. Cтворення файлової системи відбувається в процесі форматування.
+
'''Файлова система''' (англ. file system) - Порядок, що визначає спосіб організації, зберігання та іменування даних на носіях інформації. Файлова система визначає формат вмісту та фізичного зберігання інформації, яку прийнято групувати у вигляді файлів. Конкретна файлова система визначає розмір імені файлу (папки), максимальний можливий розмір файлу і розділу, набір атрибутів файлу. Деякі файлові системи надають сервісні можливості, наприклад, розмежування доступу або шифрування файлів.
 +
 
 +
Файлова система пов'язує носій інформації з одного боку і API для доступу до файлів - з іншого. Коли прикладна програма звертається до файлу, не важливо знати яким чином розташована інформація в конкретному файлі, так само, як і на якому фізичному типі носія (CD, жорсткому диску, магнітній стрічці, блоці флеш-пам'яті і т.д.) він записаний. Все, що потрібно програмі - це ім'я файлу, його розмір і атрибути. Ці дані вона отримує від драйвера файлової системи. Саме файлова система встановлює, де і як буде записаний файл на фізичному носії (наприклад, жорсткому диску).
 +
 
 +
З точки зору операційної системи, весь диск являє собою набір кластерів (як правило, розміром 512 байт і більше). Драйвери файлової системи організують кластери у файли і каталоги (реально є файлами, що містять список файлів у цьому каталозі). Ці ж драйвери відстежують, які з кластерів в даний час використовуються, які вільні, марковані як несправні.
 +
 
 +
Однак файлова система не завжди безпосередньо пов'язана з фізичним носієм інформації. Існують віртуальні файлові системи, а також мережеві файлові системи, які є лише способом доступу до файлів, що знаходяться на віддаленому комп'ютері.
  
 
В залежності від організації файлів на носії даних, файлові системи можуть поділятись на:
 
В залежності від організації файлів на носії даних, файлові системи можуть поділятись на:
  
- ієрархічні файлові системи - дозволяють розміщувати файли в каталоги;
+
* ієрархічні файлові системи - дозволяють розміщувати файли в каталоги;
  
- пласкі файлові системи - не використовують каталогів;
+
* пласкі файлові системи - не використовують каталогів;
  
- кластерні файлові системи - дозволяють розподіляти файли між кількома однотипними фізичними пристроями однієї машини;
+
* кластерні файлові системи - дозволяють розподіляти файли між кількома однотипними фізичними пристроями однієї машини;
  
- мережеві файлові системи - забезпечують механізми доступу до файлів однієї машини з інших машин мережі;
+
* мережеві файлові системи - забезпечують механізми доступу до файлів однієї машини з інших машин мережі;
  
- розподілені файлові системи - забезпечують зберігання файлів шляхом їх розподілу між кількома машинами мережі.
+
* розподілені файлові системи - забезпечують зберігання файлів шляхом їх розподілу між кількома машинами мережі.
  
== Сучасні операційні системи ==
+
== Функції файлової системи ==
Сучасні файлові системи (ФС) являють собою ієрархічні структури каталогів. Хоча загальна концепція всіх ФС, в принципі, однакова, в реалізації є деякі відмінності. Два вартих уваги приклади — це символи-розділювачі каталогів та чутливість до регістру. Юнікс-подібні операційні системи (ОС) (BSD, Лінукс, MacOS X) та AmigaOS використовують у якості розділювача каталогів символ похилої риски (/), в той час як DOS використовує цей символ для завдавання додаткових опцій у командному рядку, а в якості розділювача прийнято вживати символ зворотної похилої риски (\). У Microsoft Windows прийнята та ж конвенція за винятком китайської та корейської версій, де розділювачем є знак запитання (?). Версії МакОС до Х використовували у якості розділювача двокрапку; RISC OS — дефіс.
+
  
У Юнікс-подібних ОС у назві файлу може використовуватись будь-який символ за винятком похилої риски і вони чутливі до регістру. Назви файлів у Microsoft Windows не є чутливими до регістру.
+
Основні функції будь-якої файлової системи націлені на вирішення наступних завдань:
 +
* іменування файлів;
 +
* програмний інтерфейс роботи з файлами для програм;
 +
* відображення логічної моделі файлової системи на фізичну організацію сховища даних;
 +
* організація стійкості файлової системи до збоїв живлення, помилок апаратних        і програмних засобів;
 +
* зміст параметрів файлу, необхідних для правильного його взаємодії з іншими об'єктами системи (ядро, програми та ін.)
  
ФС можуть бути журнальними або нежурнальними. Журнальні файлові системи пишуть інформацію двічі: спершу до журналу дій файлової системи, потім до її належного місця в звичайній файловій системі. В разі аварії система може автоматично відновлювати свій вміст до узгодженого стану програючи частину журналу. В той же час нежурнальним файловим системам потрібно зробити перевірку усієї файлової системи спеціальними програмами, такими як fsck або scandisk.
+
У багатокористувацьких системах з'являється ще одне завдання: захист файлів одного користувача від несанкціонованого доступу іншого користувача, а також забезпечення спільної роботи з файлами, наприклад, при відкритті файлу одним з користувачів, для інших цей же файл тимчасово буде доступний в режимі "тільки читання".
  
Більшість дистрибутивів Лінукс підтримують більшість (або всі) перелічені ФС: ext2, ext3, ReiserFS, Reiser4, GFS, GFS2, OCFS, OCFS2, NILFS, XFS, JFS, заразом як і FAT та NTFS.
+
== Класифікація файлових систем ==
  
Microsoft Windows підтримує лише FAT12, FAT16, FAT32, та NTFS. Серед них NTFS є найефективнішою та єдиною, на котру може бути встановлена Windows Vista. Windows Embedded CE 6.0 включає також підтримку ExFAT, призначеної для роботи на портативних пристроях.
+
За призначенням файлові системи можна класифікувати на нижченаведені категорії.
 +
* Для носіїв з довільним доступом (наприклад, жорсткий диск): '''FAT32''', '''HPFS''', '''ext2''' ... Оскільки доступ до дисків в рази повільніше, ніж доступ до оперативної пам'яті, для приросту продуктивності в багатьох файлових системах застосовується асинхронний запис змін на диск. Для цього застосовується або журналювання ('''ext3''', '''ReiserFS''', '''JFS''', '''NTFS''', '''XFS'''), або механізм soft updates. Журналювання широко поширене в Linux, та в '''NTFS'''. Soft updates - в BSD системах.
 +
* Для носіїв з послідовним доступом (наприклад, магнітні стрічки): '''QIC''' та інші.
 +
* Для оптичних носіїв - CD і DVD : '''ISO9660''', '''HFS''', '''UDF'''.
 +
* Віртуальні файлові системи: '''AEFS''' та інші.
 +
* Мережеві файлові системи: '''NFS''', '''CIFS''', '''SSHFS''', '''GmailFS''' та інші.
 +
* Для флеш-пам'яті: '''YAFFS''', '''ExtremeFFS''', '''exFAT'''.
 +
Трохи випадають із загальної класифікації спеціалізовані файлові системи: '''ZFS''' (власне файлової системою є тільки частина '''ZFS'''), '''VMFS''' (так звана кластерна файлова система, яка призначена для зберігання інших файлових систем) та інші.
  
MacOS X підтримує HFS+ у якості первинної ФС та кілька інших як допоміжних.
+
== Відомі файлові системи ==
  
На додачу всі ці (та інші) ОС підтримують файлові системи змінних носіїв — FAT12 для дискет, ISO 9660 та UDF (Universal Disk Format) для компакт-дисків та DVD відповідно. Windows Vista та Лінукс з ядром версії 2.6 підтримують розширення UDF котрі дозволяють перезаписувати вміст ДВД як у звичайних дискетах.
+
'''Minx''' - стара файлова система, обмежена у своїх можливо­стях (у файлів відсутні деякі тимчасові параметри, довжина име­ні файлу не перевищує 30 символів) і доступних об'ємах (максимум 64 Мбайт на одну файлову систему).
  
 +
'''Xia''' - модифікована версія системи пгпшх, в якій збільшена максимальна довжина імені файлу і розмір файлової системи.
  
== Класифікація файлових систем ==
+
'''Ext''' - попередня версія системи Ехt2. Нині практично не зустрічається.
 +
 
 +
'''Ext2''' - найбільш багата функціональними можливостями файлова система Linux. До останнього часу була найпопулярнішою системою.
 +
 
 +
'''Ext3''' - модернізація файлової системи Ехt2. Окрім деяких функ­циональных розширень являється журналируемой. Набула широкого поширення.
 +
 
 +
'''Ext4''' - модернізація файлової системи Ехt3. Основною особливістю стало збільшення максимального об'єму одного розділу диска до 1 экса- байта (260байт). Крім того, в ехt4 представлений механізм пространствен­ний запису файлів (нова інформація додається в кінець заздалегідь вbдs­ленної по сусідству області файлу), що зменшує фрагментацію і що підвищує продуктивність.
 +
 
 +
'''VFS''' - віртуальна файлова система. По суті - емулятор-прошарок між реальною файловою системою (МЗ-ЭОЗ, Ехt2) і ядром операційної системи Linux.
 +
 
 +
'''Proc''' - псевдофайлова система, в якій за допомогою звичайних файло­вых операцій надається доступ до деяких параметрів і функци­ям ядра операційної системи.
 +
 
 +
'''ReiserFS''' - журналируемая файлова система. Найбільш популярна сре­ди журналируемых файлових систем для Linux.
 +
 
 +
'''Devfs''' - псевдофайлова система, в якій за допомогою звичайних файло­вых операцій надається доступ до пристроїв комп'ютера. Позво­ляет дуже гнучко працювати і конфігурувати пристрої і взаимодейст­вие з ОС.
 +
 
 +
'''msdos''' - забезпечує сумісність з системою MS - DOS.
  
За призначенням файлові системи можна класифікувати на наступні категорії:
+
'''umsdos''' - розширює можливості драйвера файлової системи MS - DOS для Linux таким чином, що в Linux з'являється можливість роботи з іменами файлів нестандартної довжини, перегляду прав доступу до файлу, посилань, імені користувача, якому належить файл, а також опери­рования з файлами пристроїв. Це дозволяє використовувати (емулювати) файлову систему Linux на файловій системі MS - DOS.
  
 +
'''iso9660''' - стандартна файлова система для CD - ROM.
  
----
+
'''xenix''' - файлова система Xenix.
Для носіїв з довільним доступом (наприклад, твердий диск): FAT32, HPFS, ext2 і ін. Останнім часом поширилися журнальовані файлові системи, такі як ext3, Reiserfs, JFS, NTFS, XFS.
+
  
 +
'''sysv''' - файлова система System V (версія для х86).
  
----
+
'''Nfs''' - мережева файлова система, що забезпечує розподіл одній фай­ловой системи між декількома комп'ютерами для надання доступу до її файлів з усіх машин по мережі.
Для носіїв з послідовним доступом (наприклад, магнітні стрічки): QIC.
+
  
Для оптичних носіїв — CD і DVD: ISO 9660, HFS, UDF.
+
'''NTFS'''  - забезпечує доступ до розділів, створеним Windows. Підтримує систему метаданих і використовує спеціалізовані структури даних для зберігання інформації про файли для поліпшення продуктивності, надійності і ефективності використання дискового простору. NTFS має вбудовані можливості розмежовувати доступ до даних для різних користувачів і груп користувачів, а також призначати квоти (обмеження на максимальний обсяг дискового простору, займаний тими чи іншими користувачами). NTFS використовує систему журналювання для підвищення надійності файлової системи.
  
Віртуальні файлові системи: AEFS і ін.
+
'''FAT 16''' — стандарт файлової системи, попередник FAT32. Підтримує максимальний розмір розділу — 2 гігабайти. Має кореневий каталог фіксованого розміру (512 записів). При розмірі розділу понад 512 мегабайт не економно використовує місце на диску через великий розмір кластера.
  
Мережні файлові системи: NFS, SMBFS, SSHFS, Gmailfs.
+
'''FAT32'''  — ця файлова система підтримує томи (логічні диски) обсягом до 8 ТБ і використовує для зберігання файлів менші фрагменти диска, ніж файлова система FAT16. Файлова система FAT32 не підтримує диски, менші за 512 МБ
----
+

Поточна версія на 02:30, 7 грудня 2012

Файлова система (англ. file system) - Порядок, що визначає спосіб організації, зберігання та іменування даних на носіях інформації. Файлова система визначає формат вмісту та фізичного зберігання інформації, яку прийнято групувати у вигляді файлів. Конкретна файлова система визначає розмір імені файлу (папки), максимальний можливий розмір файлу і розділу, набір атрибутів файлу. Деякі файлові системи надають сервісні можливості, наприклад, розмежування доступу або шифрування файлів.

Файлова система пов'язує носій інформації з одного боку і API для доступу до файлів - з іншого. Коли прикладна програма звертається до файлу, не важливо знати яким чином розташована інформація в конкретному файлі, так само, як і на якому фізичному типі носія (CD, жорсткому диску, магнітній стрічці, блоці флеш-пам'яті і т.д.) він записаний. Все, що потрібно програмі - це ім'я файлу, його розмір і атрибути. Ці дані вона отримує від драйвера файлової системи. Саме файлова система встановлює, де і як буде записаний файл на фізичному носії (наприклад, жорсткому диску).

З точки зору операційної системи, весь диск являє собою набір кластерів (як правило, розміром 512 байт і більше). Драйвери файлової системи організують кластери у файли і каталоги (реально є файлами, що містять список файлів у цьому каталозі). Ці ж драйвери відстежують, які з кластерів в даний час використовуються, які вільні, марковані як несправні.

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

В залежності від організації файлів на носії даних, файлові системи можуть поділятись на:

  • ієрархічні файлові системи - дозволяють розміщувати файли в каталоги;
  • пласкі файлові системи - не використовують каталогів;
  • кластерні файлові системи - дозволяють розподіляти файли між кількома однотипними фізичними пристроями однієї машини;
  • мережеві файлові системи - забезпечують механізми доступу до файлів однієї машини з інших машин мережі;
  • розподілені файлові системи - забезпечують зберігання файлів шляхом їх розподілу між кількома машинами мережі.

[ред.] Функції файлової системи

Основні функції будь-якої файлової системи націлені на вирішення наступних завдань:

  • іменування файлів;
  • програмний інтерфейс роботи з файлами для програм;
  • відображення логічної моделі файлової системи на фізичну організацію сховища даних;
  • організація стійкості файлової системи до збоїв живлення, помилок апаратних і програмних засобів;
  • зміст параметрів файлу, необхідних для правильного його взаємодії з іншими об'єктами системи (ядро, програми та ін.)

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

[ред.] Класифікація файлових систем

За призначенням файлові системи можна класифікувати на нижченаведені категорії.

  • Для носіїв з довільним доступом (наприклад, жорсткий диск): FAT32, HPFS, ext2 ... Оскільки доступ до дисків в рази повільніше, ніж доступ до оперативної пам'яті, для приросту продуктивності в багатьох файлових системах застосовується асинхронний запис змін на диск. Для цього застосовується або журналювання (ext3, ReiserFS, JFS, NTFS, XFS), або механізм soft updates. Журналювання широко поширене в Linux, та в NTFS. Soft updates - в BSD системах.
  • Для носіїв з послідовним доступом (наприклад, магнітні стрічки): QIC та інші.
  • Для оптичних носіїв - CD і DVD : ISO9660, HFS, UDF.
  • Віртуальні файлові системи: AEFS та інші.
  • Мережеві файлові системи: NFS, CIFS, SSHFS, GmailFS та інші.
  • Для флеш-пам'яті: YAFFS, ExtremeFFS, exFAT.

Трохи випадають із загальної класифікації спеціалізовані файлові системи: ZFS (власне файлової системою є тільки частина ZFS), VMFS (так звана кластерна файлова система, яка призначена для зберігання інших файлових систем) та інші.

[ред.] Відомі файлові системи

Minx - стара файлова система, обмежена у своїх можливо­стях (у файлів відсутні деякі тимчасові параметри, довжина име­ні файлу не перевищує 30 символів) і доступних об'ємах (максимум 64 Мбайт на одну файлову систему).

Xia - модифікована версія системи пгпшх, в якій збільшена максимальна довжина імені файлу і розмір файлової системи.

Ext - попередня версія системи Ехt2. Нині практично не зустрічається.

Ext2 - найбільш багата функціональними можливостями файлова система Linux. До останнього часу була найпопулярнішою системою.

Ext3 - модернізація файлової системи Ехt2. Окрім деяких функ­циональных розширень являється журналируемой. Набула широкого поширення.

Ext4 - модернізація файлової системи Ехt3. Основною особливістю стало збільшення максимального об'єму одного розділу диска до 1 экса- байта (260байт). Крім того, в ехt4 представлений механізм пространствен­ний запису файлів (нова інформація додається в кінець заздалегідь вbдs­ленної по сусідству області файлу), що зменшує фрагментацію і що підвищує продуктивність.

VFS - віртуальна файлова система. По суті - емулятор-прошарок між реальною файловою системою (МЗ-ЭОЗ, Ехt2) і ядром операційної системи Linux.

Proc - псевдофайлова система, в якій за допомогою звичайних файло­вых операцій надається доступ до деяких параметрів і функци­ям ядра операційної системи.

ReiserFS - журналируемая файлова система. Найбільш популярна сре­ди журналируемых файлових систем для Linux.

Devfs - псевдофайлова система, в якій за допомогою звичайних файло­вых операцій надається доступ до пристроїв комп'ютера. Позво­ляет дуже гнучко працювати і конфігурувати пристрої і взаимодейст­вие з ОС.

msdos - забезпечує сумісність з системою MS - DOS.

umsdos - розширює можливості драйвера файлової системи MS - DOS для Linux таким чином, що в Linux з'являється можливість роботи з іменами файлів нестандартної довжини, перегляду прав доступу до файлу, посилань, імені користувача, якому належить файл, а також опери­рования з файлами пристроїв. Це дозволяє використовувати (емулювати) файлову систему Linux на файловій системі MS - DOS.

iso9660 - стандартна файлова система для CD - ROM.

xenix - файлова система Xenix.

sysv - файлова система System V (версія для х86).

Nfs - мережева файлова система, що забезпечує розподіл одній фай­ловой системи між декількома комп'ютерами для надання доступу до її файлів з усіх машин по мережі.

NTFS - забезпечує доступ до розділів, створеним Windows. Підтримує систему метаданих і використовує спеціалізовані структури даних для зберігання інформації про файли для поліпшення продуктивності, надійності і ефективності використання дискового простору. NTFS має вбудовані можливості розмежовувати доступ до даних для різних користувачів і груп користувачів, а також призначати квоти (обмеження на максимальний обсяг дискового простору, займаний тими чи іншими користувачами). NTFS використовує систему журналювання для підвищення надійності файлової системи.

FAT 16 — стандарт файлової системи, попередник FAT32. Підтримує максимальний розмір розділу — 2 гігабайти. Має кореневий каталог фіксованого розміру (512 записів). При розмірі розділу понад 512 мегабайт не економно використовує місце на диску через великий розмір кластера.

FAT32 — ця файлова система підтримує томи (логічні диски) обсягом до 8 ТБ і використовує для зберігання файлів менші фрагменти диска, ніж файлова система FAT16. Файлова система FAT32 не підтримує диски, менші за 512 МБ

Особисті інструменти
Простори назв

Варіанти
Дії
Навігація
Інструменти