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

Матеріал з Wiki TNEU
Перейти до: навігація, пошук
 
(19 проміжних версій 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.
 +
 
 +
'''sysv''' - файлова система System V (версія для х86).
 +
 
 +
'''Nfs''' - мережева файлова система, що забезпечує розподіл одній фай­ловой системи між декількома комп'ютерами для надання доступу до її файлів з усіх машин по мережі.
 +
 
 +
'''NTFS'''  - забезпечує доступ до розділів, створеним Windows. Підтримує систему метаданих і використовує спеціалізовані структури даних для зберігання інформації про файли для поліпшення продуктивності, надійності і ефективності використання дискового простору. NTFS має вбудовані можливості розмежовувати доступ до даних для різних користувачів і груп користувачів, а також призначати квоти (обмеження на максимальний обсяг дискового простору, займаний тими чи іншими користувачами). NTFS використовує систему журналювання для підвищення надійності файлової системи.
 +
 
 +
'''FAT 16''' — стандарт файлової системи, попередник FAT32. Підтримує максимальний розмір розділу — 2 гігабайти. Має кореневий каталог фіксованого розміру (512 записів). При розмірі розділу понад 512 мегабайт не економно використовує місце на диску через великий розмір кластера.
  
За призначенням файлові системи можна класифікувати на наступні категорії:
+
'''FAT32'''  — ця файлова система підтримує томи (логічні диски) обсягом до 8 ТБ і використовує для зберігання файлів менші фрагменти диска, ніж файлова система FAT16. Файлова система FAT32 не підтримує диски, менші за 512 МБ
Для носіїв з довільним доступом (наприклад, твердий диск): FAT32, HPFS, ext2 і ін. Останнім часом поширилися журнальовані файлові системи, такі як ext3, Reiserfs, JFS, NTFS, XFS.
+
Для носіїв з послідовним доступом (наприклад, магнітні стрічки): QIC.
+
Для оптичних носіїв — CD і DVD: ISO 9660, HFS, UDF.
+
Віртуальні файлові системи: AEFS і ін.
+
Мережні файлові системи: NFS, SMBFS, SSHFS, Gmailfs.
+

Поточна версія на 01: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 МБ

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

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