Сучасна архітектура файлових систем

Сучасні ОС надають користувачеві можливість працювати відразу з декількома файловими системами (Linux працює з Ext2fs, FAT і ін.). Файлова система в традиційному розумінні стає частиною більш загальної багаторівневої структури (див. мал. 12.14).

На верхньому рівні розташовується так званий диспетчер файлових систем (наприклад, в Windows 95 цей компонент називається installable filesystem manager). Він пов'язує запити прикладної програми з конкретною файловою системою.

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

Та ж ідея підтримки декількох файлових систем в рамках однієї ОС може бути реалізована по-іншому, наприклад виходячи з концепції віртуальної файлової системи. Віртуальна файлова система (vfs) є незалежним від реалізації рівнем і спирається на реальні файлові системи (s5fs, ufs, FAT, NFS, FFS. Ext2fs ѕ). При цьому виникають структури даних віртуальної файлової системи типу віртуальних індексних вузлів vnode, які узагальнюють індексні вузли конкретних систем.

Рис. 14.13. Архітектура сучасної файлової системи