Відмінності між версіями «Файлова система»
(19 проміжних версій 2 користувачів не показані) | |||
Рядок 1: | Рядок 1: | ||
− | + | '''Файлова система''' (англ. 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 МБ | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
Поточна версія на 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 МБ