- •Файловые системы
- •Понятие процессов в ос образ процесса
- •Распределенная память или общая память
- •Именованные/Неименованные каналы
- •Программный поток. Понятие и использование
- •Сегментная и страничная организация памяти. Виртуальная память
- •Сокеты tcp и udp
- •Объекты синхронизации
- •Состояние процессов
- •Принципы завершения процессов
Файловые системы
Файлова система — спосіб організації даних, який використовуються операційною системою для збереження інформації у вигляді файлів на носіях інформації. Також цим поняттям позначають сукупність файлів та директорій, які розміщуються на логічному або фізичному пристрої.
Файлова система пов'язує носій інформації з одного боку і API для доступу до файлів - з іншого. Коли прикладна програма звертається до файлу, вона не має жодного уявлення про те, яким чином розташована інформація в конкретному файлі, так само, як і на якому фізичному типі носія (CD, жорсткому диску, магнітній стрічці, блоці флеш-пам'ять або іншому) він записаний. Все, що знає програма - це ім'я файлу, його розмір і атрибути. Ці дані вона отримує від драйвера файлової системи. Саме файлова система встановлює, де і як буде записаний файл на фізичному носії (наприклад, жорсткому диску).
З точки зору операційної системи (ОС), весь диск являє собою набір кластерів (як правило, розміром 512 байт і більше). Драйвери файлової системи організовують кластери в файли і каталоги (реально є файлами, які містять список файлів у цьому каталозі). Ці ж драйвери відстежують, які з кластерів в даний час використовуються, які вільні, марковані як несправні.
Однак файлова система не обов'язково безпосередньо пов'язана з фізичним носієм інформації. Існують віртуальні файлові системи, а також мережеві файлові системи, які є лише способом доступу до файлів, що знаходяться на віддаленому комп'ютері.
Cтворення файлової системи відбувається в процесі форматування.
В залежності від організації файлів на носії даних, файлові системи можуть поділятись на:
ієрархічні файлові системи - дозволяють розміщувати файли в каталоги;
пласкі файлові системи - не використовують каталогів;
кластерні файлові системи - дозволяють розподіляти файли між кількома однотипними фізичними пристроями однієї машини;
мережеві файлові системи - забезпечують механізми доступу до файлів однієї машини з інших машин мережі;
розподілені файлові системи - забезпечують зберігання файлів шляхом їх розподілу між кількома машинами мережі.
За призначенням файлові системи можна класифікувати на наступні категорії:
Для носіїв з довільним доступом (наприклад, твердий диск): FAT32, HPFS, ext2 і ін. Останнім часом поширилися журнальовані файлові системи, такі як ext3, Reiserfs, JFS, NTFS, XFS.
Для носіїв з послідовним доступом (наприклад, магнітні стрічки): QIC.
Для оптичних носіїв — CD і DVD: ISO 9660, HFS, UDF.
Віртуальні файлові системи: AEFS і ін.
Мережні файлові системи: NFS, SMBFS, SSHFS, Gmailfs.
Основні функції будь-якої файлової системи націлені на вирішення наступних завдань:
іменування файлів;
програмний інтерфейс роботи з файлами для програм;
відображення логічної моделі файлової системи на фізичну організацію сховищаданих;
організація стійкості файлової системи до збоїв живлення, помилок апаратних і програмних засобів;
зміст параметрів файлу, необхідних для правильного його взаємодії з іншими об'єктами системи (ядро, програми та ін.)
У багатокористувацьких системах з'являється ще одна задача: захист файлів одного користувача від несанкціонованого доступу іншого користувача, а також забезпечення спільної роботи з файлами, наприклад, при відкритті файлу одним з користувачів, для інших цей же файл тимчасово буде доступний в режимі "тільки читання".