SlideShare a Scribd company logo
Операційні
системи
Лекція 15
Розподілені файлові системи
2/24Лекція 15
План лекції
3/24Лекція 15
Функції розподілених
файлових систем
 Функції розподілених файлових
систем такі ж, як і в
централізованих системах
Зберігання програм і даних
Надання доступу до них
4/24Лекція 15
Файл-сервери
 Файлова система підтримується файл-
серверами
 Файл-сервери:
 перехоплюють запити на зчитування або
записування
 перевіряють їх
 виконують їх
 відповідь надсилають відправнику запиту
 Зазвичай файл-сервери мають ієрархічні
файлові системи
 Клієнти (робочі станції) можуть монтувати ці
файлові системи до своїх локальних
файлових систем
5/24Лекція 15
Файловий сервіс vs
файловий сервер
 Файловий сервіс – опис функцій, які
файлова система пропонує
користувачам
 Примітиви, що існують
 Їхні параметри
 Функції, що вони виконують
 Фактично файловий сервіс – це
інтерфейс файлової системи з
клієнтами
 Тобто, з точки зору користувача описано,
що можна зробити, але не описано, як це
реалізовано
6/24Лекція 15
Файловий сервіс vs
файловий сервер
 Файловий сервер – це процес, що
виконується на окремій машині і забезпечує
реалізацію файлового сервісу
 У добре організованій розподіленій системі
користувачі не знають кількості файлових
серверів і їхнього місцезнаходження
 Сервіс прозорий
 Зазвичай файловий сервер – це просто
процес (режиму користувача або ядра)
 У системі можуть бути присутніми кілька
файлових серверів, що реалізують різні
функції
 Наприклад, файлові сервіси Windows і Unix
7/24Лекція 15
Інтерфейс файлового
сервісу
 Перше питання – як інтерпретувати файл (як
послідовність байт або записів)
 У сучасних розподілених системах, як і в
централізованих, - неінтерпретована послідовність
байтів
 Атрибути файлу
 Ім'я, розмір, дати, ідентифікатор власника
 Можливість модифікації файлу
 У більшості систем, але не в усіх!
 Інший варіант – незмінні файли
• Реалізують лише дві операції – створити файл і прочитати
файл
• Легше реалізувати кешування і реплікацію файлу
 Два типи файлового сервісу
1. Модель завантаження-вивантаження
2. Модель віддаленого доступу
8/24Лекція 15
Модель завантаження-
вивантаження
 Реалізовані зчитування і записування файлу
цілком
 Схема оброблення
 Зчитування файлу з сервера на машину клієнта
 Оброблення файлу на машині клієнта
 Записування оновленого файлу на сервер
 Переваги
 Концептуальна простота
 Добре працює, коли потрібна робота з цілим
файлом
 Недоліки
 Високі вимоги до дисків клієнтів
 Неефективно, коли потрібна лише мала частина
файлу
9/24Лекція 15
Модель віддаленого
доступу
 Операції над файлами:
Відкриття й закриття файлів
Зчитування й записування частин
файлу
Позиціонування у файлі
Перевірка і зміна атрибутів файлу
 Уся файлова система
виконується на серверах
10/24Лекція 15
Сервіс каталогів
 Призначення сервісу – пошук файлу у розподіленій
системі
 Найголовніший принцип – забезпечення прозорості
1. Прозорість розміщення
 Імена файлів не дають можливості з'ясувати, де
розміщено файл
 Наприклад, /server1/dir1/dir2/x – невідомо, де
знаходиться сервер
 Якщо перенести server1 з одної машини на іншу, система
збереже працездатність
2. Незалежність від розміщення
 Ім’я файлу не містить у явному вигляді посилання на
будь-який сервер
 Система може автоматично перенести файл з одного
сервера на інший
 Якщо файлова система базується на принципі
віддаленого монтування – вона не забезпечує
незалежності від розміщення
11/24Лекція 15
Копії файлу
 У централізованих системах
існують унікальні імена файлів
 У розподілених системах може
бути, що унікальне ім’я відповідає
кільком копіям файлу
Це підвищує відмовостійкість за
рахунок надлишковості
12/24Лекція 15
Проблема спільного
користування файлами
 Необхідно точно визначити
семантику зчитування і
записування
1. Семантика UNIX
2. Сесійна семантика
3. Незмінні файли
4. Неподільні транзакції
13/24Лекція 15
Семантика UNIX
 Якщо операція зчитування здійснюється
після операції записування, то зчитують вже
оновлений файл
 Якщо було дві операції записування, то
зчитується результат останньої операції
 У централізованій системі легко і зрозуміти, і
реалізувати
 У розподіленій системі можна реалізувати
лише якщо є лише один файл-сервер і клієнт
не кешує файли
 Продуктивність значно знижується
 Іноді дозволяють клієнтам кешувати файли,
але усі зміни одразу надсилають серверу
 Це неефективно
14/24Лекція 15
Сесійна семантика
 Зміни у файлі видимі лише тому
процесу, що відкрив цей файл для
модифікації
 Усі інші бачать зміни у файлі лише
після його закриття
 Існує проблема одночасного
використання файлу двома і більше
клієнтами
 Варіант 1 – остаточним є файл, який був
закритий останнім
 Варіант 2 – будь-який з відкритих файлів
(простіше реалізувати)
15/24Лекція 15
Структура файлової
системи
1. Розподіл серверної і клієнтської
частин між машинами
2. Структуризація сервісів файлів і
каталогів
3. Зберігання на серверах
інформації про клієнтів
16/24Лекція 15
Розподіл серверної і клієнтської
частин між машинами: варіанти
1. Немає жодної різниці між клієнтом і
сервером
 На усіх машинах – одне й те саме базове
програмне забезпечення
 Приклад – NFS
2. Файл-сервер – програма режиму
користувача
 Система може бути сконфігурована як клієнт, як
сервер, як клієнт і сервер одночасно
3. Клієнт і сервер – принципово різні машини
як у термінах апаратури, так і у термінах
програмного забезпечення
17/24Лекція 15
Структуризація сервісів
файлів і каталогів: варіанти
1. 2 сервіси на одному сервері
2. Різні машини
 Цей варіант більш гнучкий
 Крім того, таким чином можна
досягти спрощення ПЗ
 Недолік – збільшення
інтенсивності мережного обміну
18/24Лекція 15
Зберігання на серверах
інформації про клієнтів
1. Не зберігати (stateless)
2. Зберігати (statefull)
 Statefull сервер пам’ятає, які
файли відкрив кожний користувач,
положення покажчиків, тощо
 У разі відмови сервера таблиці
втрачаються
19/24Лекція 15
Переваги statefull і
stateless серверів
Stateless
 Відмовостійкість
 Не потрібні виклики
OPEN/CLOSE
 Менше пам’яті
сервера
витрачається
 Немає обмежень на
число відкритих
файлів
 Відмова клієнта не
створює проблем
для сервера
Statefull
 Коротші
повідомлення під
час запитів
 Краща
продуктивність
 Можливе зчитування
з випередженням
 Легше досягти
ідемпотентності
 Можливе
блокування файлів
20/24Лекція 15
Кешування
Диск сервера  пам’ять сервера  пам’ять
клієнта  диск клієнта
 Кешування на сервері
1. Якими одиницями оперує кеш
• Цілі файли – ефективніше зберігання на диску
(менше число обмінів)
• Дискові блоки – ефективніше використання пам’яті
кешу і дискового простору
2. Правило заміни даних у кеші
• Наприклад, алгоритм LRU (Last Recently Used)
 Кешування на сервері легко реалізується і
прозоро для клієнта
 Кешування на боці клієнта
 Позбавляє від зайвого трафіку
 Породжує безліч проблем!
21/24Лекція 15
Рішення проблеми
узгодження
1. Алгоритм наскрізного записування
 Під час модифікації даних у кеші нове значення
негайно надсилається серверу
 Недолік – інтенсивність мережного обміну
зменшується лише при зчитуванні
2. Відкладене записування
 Клієнт помічає, що файл вже змінений
 Приблизно один раз за 30 секунд усі зміни
збираються разом і надсилаються
3. Записування-по-закриттю
 Сесійна семантика
4. Алгоритм централізованого керування
 Семантика UNIX
 Передбачає statefull – підхід
 Якщо файл вже кимось відкритий, його не можна
відкрити для записування
22/24Лекція 15
Реплікація
 Система оперує кількома
копіями файлів, причому кожна
копія знаходиться на окремому
сервері
 Переваги:
 Підвищення надійності
 Розподіл навантаження між
кількома серверами
23/24Лекція 15
Способи досягнення
прозорості реплікації
1. Програміст, що створює прикладну програму, сам
керує реплікацією
 Під час створення файлу автоматично створюються
його копії
• Наприклад,
/machine1/usr/ast/xyz – основний файл
/machine2/usr/ast/xyz і
/machine3/usr/ast/xyz – його копії (записують одночасно)
 Для розподілених систем такий підхід не
рекомендують!
1. “Ледаща” реплікація
 Спочатку записують файл, а потім роблять його копії
1. Групові зв’язки
 Визначені групи
 Файл записують у групу, а система автоматично
(одночасно) створює його копії
24/24Лекція 15
Контроль змін
реплікованих файлів
1. Реплікація першої копії
 Виділяють первинний сервер
 Зміни надсилають на первинний сервер, а він –
на вторинні
1. Голосування
 Відстежують версії файлів
 Нехай є N серверів з копіями
 Під час записування зміни вносять щонайменше
у W копій
 Під час зчитування переглядають щонайменше
R копій
 Якщо R+W>N, то буде знайдена хоча б одна з
копій останньої версії
 Оскільки зчитування здійснюють частіше, ніж
записування, то обирають R<W

More Related Content

What's hot

Лекція №2
Лекція №2Лекція №2
Лекція №2
Michael Attwood
 
Лекція №5
Лекція №5Лекція №5
Лекція №5
Michael Attwood
 
Лекція №13
Лекція №13Лекція №13
Лекція №13
Michael Attwood
 
Лекція №3
Лекція №3Лекція №3
Лекція №3
Michael Attwood
 
Лекція №11
Лекція №11Лекція №11
Лекція №11
Michael Attwood
 
Лекція №8
Лекція №8Лекція №8
Лекція №8
Michael Attwood
 
урок7
урок7урок7
Lec13 14 багатопоточнiсть
Lec13 14 багатопоточнiстьLec13 14 багатопоточнiсть
Lec13 14 багатопоточнiсть
cit-cit
 
IIHE-Lecture-3_1
IIHE-Lecture-3_1IIHE-Lecture-3_1
IIHE-Lecture-3_1
Georgii Zhabieiev
 
Урок 3
Урок 3Урок 3
урок 4 9кл
урок 4 9клурок 4 9кл
урок 4 9кл
Ирина Слуцкая
 
Операційні системи
Операційні системи Операційні системи
Операційні системи
диапма штемпель
 
Operacijna sistema ms_dos
Operacijna sistema ms_dosOperacijna sistema ms_dos
Operacijna sistema ms_dos
marunasorokina
 
Computers and Computing Works lecture №6
Computers and Computing Works lecture №6Computers and Computing Works lecture №6
Computers and Computing Works lecture №6
Lesia Sobolevska
 
Урок № 8 Тема. Поняття операційної системи, її призначення. Графічний інтер...
Урок № 8   Тема. Поняття операційної системи, її призначення. Графічний інтер...Урок № 8   Тема. Поняття операційної системи, її призначення. Графічний інтер...
Урок № 8 Тема. Поняття операційної системи, її призначення. Графічний інтер...
Валентина Кодола
 
система Ms-dos 20
 система Ms-dos 20 система Ms-dos 20
система Ms-dos 20
marunasorokina
 
Computers and Computing Works lecture №4
Computers and Computing Works lecture №4Computers and Computing Works lecture №4
Computers and Computing Works lecture №4
Lesia Sobolevska
 
Знайомство з предметом "Інформатика в 6 класі"
Знайомство з предметом "Інформатика в 6 класі"Знайомство з предметом "Інформатика в 6 класі"
Знайомство з предметом "Інформатика в 6 класі"
Валентина Кодола
 

What's hot (20)

Лекція №2
Лекція №2Лекція №2
Лекція №2
 
Лекція №5
Лекція №5Лекція №5
Лекція №5
 
Лекція №13
Лекція №13Лекція №13
Лекція №13
 
Лекція №3
Лекція №3Лекція №3
Лекція №3
 
Лекція №11
Лекція №11Лекція №11
Лекція №11
 
Лекція №8
Лекція №8Лекція №8
Лекція №8
 
ФАЙЛОВА СИСТЕМА LINUX
ФАЙЛОВА СИСТЕМА LINUX ФАЙЛОВА СИСТЕМА LINUX
ФАЙЛОВА СИСТЕМА LINUX
 
урок7
урок7урок7
урок7
 
Lec13 14 багатопоточнiсть
Lec13 14 багатопоточнiстьLec13 14 багатопоточнiсть
Lec13 14 багатопоточнiсть
 
IIHE-Lecture-3_1
IIHE-Lecture-3_1IIHE-Lecture-3_1
IIHE-Lecture-3_1
 
Урок 3
Урок 3Урок 3
Урок 3
 
урок 4 9кл
урок 4 9клурок 4 9кл
урок 4 9кл
 
Операційні системи
Операційні системи Операційні системи
Операційні системи
 
Operacijna sistema ms_dos
Operacijna sistema ms_dosOperacijna sistema ms_dos
Operacijna sistema ms_dos
 
Презентація
ПрезентаціяПрезентація
Презентація
 
Computers and Computing Works lecture №6
Computers and Computing Works lecture №6Computers and Computing Works lecture №6
Computers and Computing Works lecture №6
 
Урок № 8 Тема. Поняття операційної системи, її призначення. Графічний інтер...
Урок № 8   Тема. Поняття операційної системи, її призначення. Графічний інтер...Урок № 8   Тема. Поняття операційної системи, її призначення. Графічний інтер...
Урок № 8 Тема. Поняття операційної системи, її призначення. Графічний інтер...
 
система Ms-dos 20
 система Ms-dos 20 система Ms-dos 20
система Ms-dos 20
 
Computers and Computing Works lecture №4
Computers and Computing Works lecture №4Computers and Computing Works lecture №4
Computers and Computing Works lecture №4
 
Знайомство з предметом "Інформатика в 6 класі"
Знайомство з предметом "Інформатика в 6 класі"Знайомство з предметом "Інформатика в 6 класі"
Знайомство з предметом "Інформатика в 6 класі"
 

Viewers also liked

Näin Suomi Säästää 2016 - infograafinen esitys
Näin Suomi Säästää 2016 - infograafinen esitysNäin Suomi Säästää 2016 - infograafinen esitys
Näin Suomi Säästää 2016 - infograafinen esitys
Säästöpankki Sparbanken
 
Film noir pitch
Film noir pitchFilm noir pitch
Film noir pitch
ellaamoroso
 
plataforma educativa
plataforma educativa plataforma educativa
plataforma educativa
rene torres mendez
 
Ética Pública
Ética PúblicaÉtica Pública
Ética Pública
Mariano Manuel Bustos
 
Hemispheric, Transboundary & Regional Air Pollution
Hemispheric, Transboundary & Regional Air PollutionHemispheric, Transboundary & Regional Air Pollution
Hemispheric, Transboundary & Regional Air Pollution
Environmental Protection Agency, Ireland
 
Best core Industrial Training in Delhi/NCR
Best core Industrial Training in Delhi/NCRBest core Industrial Training in Delhi/NCR
Best core Industrial Training in Delhi/NCR
Bharti Singh
 
Affiche anthologie
Affiche anthologieAffiche anthologie
Affiche anthologie
CDILEF
 
Level 2 photographs
Level 2 photographsLevel 2 photographs
Level 2 photographs
Luke05098904
 
PENYAKIT-PENYAKIT JANTUNG KONGENITAL
PENYAKIT-PENYAKIT JANTUNG KONGENITALPENYAKIT-PENYAKIT JANTUNG KONGENITAL
PENYAKIT-PENYAKIT JANTUNG KONGENITAL
Muhammad Nasrullah
 
Cardiac cycle
Cardiac cycleCardiac cycle
Cardiac cycle
Angel Das
 
LiveAdmins and Gitex 2016
LiveAdmins and Gitex 2016LiveAdmins and Gitex 2016
LiveAdmins and Gitex 2016
LiveAdmins
 
The Most Effective Factor out of Psychological, Physical, and Environmental F...
The Most Effective Factor out of Psychological, Physical, and Environmental F...The Most Effective Factor out of Psychological, Physical, and Environmental F...
The Most Effective Factor out of Psychological, Physical, and Environmental F...Uma Wickramaratne
 
Actividades de apropiación
Actividades de apropiaciónActividades de apropiación
Actividades de apropiación
andres de la cruz
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
Laura s.s
 
DeepBlue_Sydney_Schedule
DeepBlue_Sydney_ScheduleDeepBlue_Sydney_Schedule
DeepBlue_Sydney_ScheduleSophia Taylor
 

Viewers also liked (19)

Näin Suomi Säästää 2016 - infograafinen esitys
Näin Suomi Säästää 2016 - infograafinen esitysNäin Suomi Säästää 2016 - infograafinen esitys
Näin Suomi Säästää 2016 - infograafinen esitys
 
Film noir pitch
Film noir pitchFilm noir pitch
Film noir pitch
 
Ya vengo
Ya vengoYa vengo
Ya vengo
 
plataforma educativa
plataforma educativa plataforma educativa
plataforma educativa
 
Ética Pública
Ética PúblicaÉtica Pública
Ética Pública
 
MY CV
MY CVMY CV
MY CV
 
Hemispheric, Transboundary & Regional Air Pollution
Hemispheric, Transboundary & Regional Air PollutionHemispheric, Transboundary & Regional Air Pollution
Hemispheric, Transboundary & Regional Air Pollution
 
Best core Industrial Training in Delhi/NCR
Best core Industrial Training in Delhi/NCRBest core Industrial Training in Delhi/NCR
Best core Industrial Training in Delhi/NCR
 
Affiche anthologie
Affiche anthologieAffiche anthologie
Affiche anthologie
 
Level 2 photographs
Level 2 photographsLevel 2 photographs
Level 2 photographs
 
PENYAKIT-PENYAKIT JANTUNG KONGENITAL
PENYAKIT-PENYAKIT JANTUNG KONGENITALPENYAKIT-PENYAKIT JANTUNG KONGENITAL
PENYAKIT-PENYAKIT JANTUNG KONGENITAL
 
Cardiac cycle
Cardiac cycleCardiac cycle
Cardiac cycle
 
LiveAdmins and Gitex 2016
LiveAdmins and Gitex 2016LiveAdmins and Gitex 2016
LiveAdmins and Gitex 2016
 
The Most Effective Factor out of Psychological, Physical, and Environmental F...
The Most Effective Factor out of Psychological, Physical, and Environmental F...The Most Effective Factor out of Psychological, Physical, and Environmental F...
The Most Effective Factor out of Psychological, Physical, and Environmental F...
 
Actividades de apropiación
Actividades de apropiaciónActividades de apropiación
Actividades de apropiación
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
 
Idis Resume
Idis Resume Idis Resume
Idis Resume
 
DeepBlue_Sydney_Schedule
DeepBlue_Sydney_ScheduleDeepBlue_Sydney_Schedule
DeepBlue_Sydney_Schedule
 
Guruvayurappan Chand_updated
Guruvayurappan Chand_updatedGuruvayurappan Chand_updated
Guruvayurappan Chand_updated
 

Similar to Лекція №15

Lec15 архiтектура та проектування компонентних систем
Lec15 архiтектура та проектування компонентних системLec15 архiтектура та проектування компонентних систем
Lec15 архiтектура та проектування компонентних систем
cit-cit
 
Презентація 10 клас Урок 18 для учнів 10 класу вааааааааууу ахуєть
Презентація 10 клас Урок 18 для учнів 10 класу вааааааааууу ахуєтьПрезентація 10 клас Урок 18 для учнів 10 класу вааааааааууу ахуєть
Презентація 10 клас Урок 18 для учнів 10 класу вааааааааууу ахуєть
kostyasheremetyev1
 
Lec16 промiжне програмне забезпечення
Lec16 промiжне програмне забезпеченняLec16 промiжне програмне забезпечення
Lec16 промiжне програмне забезпечення
cit-cit
 
Тема 6. Системи зберігання даних. Віртуалізація сховища даних
Тема 6. Системи  зберігання  даних.  Віртуалізація  сховища  данихТема 6. Системи  зберігання  даних.  Віртуалізація  сховища  даних
Тема 6. Системи зберігання даних. Віртуалізація сховища даних
Oleg Nazarevych
 
Обробка надвеликих масивів даних
Обробка надвеликих масивів данихОбробка надвеликих масивів даних
Обробка надвеликих масивів даних
ssuser8004f6
 
System programing module 1
System programing module 1System programing module 1
System programing module 1
Andrii Hladkyi
 
System programing module 1. Processes
System programing module 1. ProcessesSystem programing module 1. Processes
System programing module 1. Processes
Andrii Hladkyi
 
Урок 8. Стиснення і архівування даних
Урок 8. Стиснення і архівування данихУрок 8. Стиснення і архівування даних
Урок 8. Стиснення і архівування даних
Василь Тереховський
 
8 клас урок 8
8 клас урок 88 клас урок 8
8 клас урок 8
Александр Карпук
 
4-Комп’ютерне Документознавство
4-Комп’ютерне Документознавство4-Комп’ютерне Документознавство
4-Комп’ютерне Документознавство
Antonina_Lysa
 
Розгортання середовища для Camunda
Розгортання середовища для CamundaРозгортання середовища для Camunda
Розгортання середовища для Camunda
Святослав Надозирний
 
Lecture 102 - Storage and file structure
Lecture 102 - Storage and file structureLecture 102 - Storage and file structure
Lecture 102 - Storage and file structure
Andrii Kopp
 
Урок №4 9 клас
Урок №4 9 класУрок №4 9 клас
Урок №4 9 клас
Nikolay Shaygorodskiy
 

Similar to Лекція №15 (20)

Lec15 архiтектура та проектування компонентних систем
Lec15 архiтектура та проектування компонентних системLec15 архiтектура та проектування компонентних систем
Lec15 архiтектура та проектування компонентних систем
 
Презентація 10 клас Урок 18 для учнів 10 класу вааааааааууу ахуєть
Презентація 10 клас Урок 18 для учнів 10 класу вааааааааууу ахуєтьПрезентація 10 клас Урок 18 для учнів 10 класу вааааааааууу ахуєть
Презентація 10 клас Урок 18 для учнів 10 класу вааааааааууу ахуєть
 
Lec16 промiжне програмне забезпечення
Lec16 промiжне програмне забезпеченняLec16 промiжне програмне забезпечення
Lec16 промiжне програмне забезпечення
 
Тема 6. Системи зберігання даних. Віртуалізація сховища даних
Тема 6. Системи  зберігання  даних.  Віртуалізація  сховища  данихТема 6. Системи  зберігання  даних.  Віртуалізація  сховища  даних
Тема 6. Системи зберігання даних. Віртуалізація сховища даних
 
Planyvannja
PlanyvannjaPlanyvannja
Planyvannja
 
Обробка надвеликих масивів даних
Обробка надвеликих масивів данихОбробка надвеликих масивів даних
Обробка надвеликих масивів даних
 
System programing module 1
System programing module 1System programing module 1
System programing module 1
 
Razdel6
Razdel6Razdel6
Razdel6
 
Razdel6
Razdel6Razdel6
Razdel6
 
System programing module 1. Processes
System programing module 1. ProcessesSystem programing module 1. Processes
System programing module 1. Processes
 
Урок 8. Стиснення і архівування даних
Урок 8. Стиснення і архівування данихУрок 8. Стиснення і архівування даних
Урок 8. Стиснення і архівування даних
 
8 клас урок 8
8 клас урок 88 клас урок 8
8 клас урок 8
 
4-Комп’ютерне Документознавство
4-Комп’ютерне Документознавство4-Комп’ютерне Документознавство
4-Комп’ютерне Документознавство
 
6
66
6
 
Розгортання середовища для Camunda
Розгортання середовища для CamundaРозгортання середовища для Camunda
Розгортання середовища для Camunda
 
MOM
MOMMOM
MOM
 
Razdel6вп
Razdel6впRazdel6вп
Razdel6вп
 
Razdel6
Razdel6Razdel6
Razdel6
 
Lecture 102 - Storage and file structure
Lecture 102 - Storage and file structureLecture 102 - Storage and file structure
Lecture 102 - Storage and file structure
 
Урок №4 9 клас
Урок №4 9 класУрок №4 9 клас
Урок №4 9 клас
 

Лекція №15

  • 3. 3/24Лекція 15 Функції розподілених файлових систем  Функції розподілених файлових систем такі ж, як і в централізованих системах Зберігання програм і даних Надання доступу до них
  • 4. 4/24Лекція 15 Файл-сервери  Файлова система підтримується файл- серверами  Файл-сервери:  перехоплюють запити на зчитування або записування  перевіряють їх  виконують їх  відповідь надсилають відправнику запиту  Зазвичай файл-сервери мають ієрархічні файлові системи  Клієнти (робочі станції) можуть монтувати ці файлові системи до своїх локальних файлових систем
  • 5. 5/24Лекція 15 Файловий сервіс vs файловий сервер  Файловий сервіс – опис функцій, які файлова система пропонує користувачам  Примітиви, що існують  Їхні параметри  Функції, що вони виконують  Фактично файловий сервіс – це інтерфейс файлової системи з клієнтами  Тобто, з точки зору користувача описано, що можна зробити, але не описано, як це реалізовано
  • 6. 6/24Лекція 15 Файловий сервіс vs файловий сервер  Файловий сервер – це процес, що виконується на окремій машині і забезпечує реалізацію файлового сервісу  У добре організованій розподіленій системі користувачі не знають кількості файлових серверів і їхнього місцезнаходження  Сервіс прозорий  Зазвичай файловий сервер – це просто процес (режиму користувача або ядра)  У системі можуть бути присутніми кілька файлових серверів, що реалізують різні функції  Наприклад, файлові сервіси Windows і Unix
  • 7. 7/24Лекція 15 Інтерфейс файлового сервісу  Перше питання – як інтерпретувати файл (як послідовність байт або записів)  У сучасних розподілених системах, як і в централізованих, - неінтерпретована послідовність байтів  Атрибути файлу  Ім'я, розмір, дати, ідентифікатор власника  Можливість модифікації файлу  У більшості систем, але не в усіх!  Інший варіант – незмінні файли • Реалізують лише дві операції – створити файл і прочитати файл • Легше реалізувати кешування і реплікацію файлу  Два типи файлового сервісу 1. Модель завантаження-вивантаження 2. Модель віддаленого доступу
  • 8. 8/24Лекція 15 Модель завантаження- вивантаження  Реалізовані зчитування і записування файлу цілком  Схема оброблення  Зчитування файлу з сервера на машину клієнта  Оброблення файлу на машині клієнта  Записування оновленого файлу на сервер  Переваги  Концептуальна простота  Добре працює, коли потрібна робота з цілим файлом  Недоліки  Високі вимоги до дисків клієнтів  Неефективно, коли потрібна лише мала частина файлу
  • 9. 9/24Лекція 15 Модель віддаленого доступу  Операції над файлами: Відкриття й закриття файлів Зчитування й записування частин файлу Позиціонування у файлі Перевірка і зміна атрибутів файлу  Уся файлова система виконується на серверах
  • 10. 10/24Лекція 15 Сервіс каталогів  Призначення сервісу – пошук файлу у розподіленій системі  Найголовніший принцип – забезпечення прозорості 1. Прозорість розміщення  Імена файлів не дають можливості з'ясувати, де розміщено файл  Наприклад, /server1/dir1/dir2/x – невідомо, де знаходиться сервер  Якщо перенести server1 з одної машини на іншу, система збереже працездатність 2. Незалежність від розміщення  Ім’я файлу не містить у явному вигляді посилання на будь-який сервер  Система може автоматично перенести файл з одного сервера на інший  Якщо файлова система базується на принципі віддаленого монтування – вона не забезпечує незалежності від розміщення
  • 11. 11/24Лекція 15 Копії файлу  У централізованих системах існують унікальні імена файлів  У розподілених системах може бути, що унікальне ім’я відповідає кільком копіям файлу Це підвищує відмовостійкість за рахунок надлишковості
  • 12. 12/24Лекція 15 Проблема спільного користування файлами  Необхідно точно визначити семантику зчитування і записування 1. Семантика UNIX 2. Сесійна семантика 3. Незмінні файли 4. Неподільні транзакції
  • 13. 13/24Лекція 15 Семантика UNIX  Якщо операція зчитування здійснюється після операції записування, то зчитують вже оновлений файл  Якщо було дві операції записування, то зчитується результат останньої операції  У централізованій системі легко і зрозуміти, і реалізувати  У розподіленій системі можна реалізувати лише якщо є лише один файл-сервер і клієнт не кешує файли  Продуктивність значно знижується  Іноді дозволяють клієнтам кешувати файли, але усі зміни одразу надсилають серверу  Це неефективно
  • 14. 14/24Лекція 15 Сесійна семантика  Зміни у файлі видимі лише тому процесу, що відкрив цей файл для модифікації  Усі інші бачать зміни у файлі лише після його закриття  Існує проблема одночасного використання файлу двома і більше клієнтами  Варіант 1 – остаточним є файл, який був закритий останнім  Варіант 2 – будь-який з відкритих файлів (простіше реалізувати)
  • 15. 15/24Лекція 15 Структура файлової системи 1. Розподіл серверної і клієнтської частин між машинами 2. Структуризація сервісів файлів і каталогів 3. Зберігання на серверах інформації про клієнтів
  • 16. 16/24Лекція 15 Розподіл серверної і клієнтської частин між машинами: варіанти 1. Немає жодної різниці між клієнтом і сервером  На усіх машинах – одне й те саме базове програмне забезпечення  Приклад – NFS 2. Файл-сервер – програма режиму користувача  Система може бути сконфігурована як клієнт, як сервер, як клієнт і сервер одночасно 3. Клієнт і сервер – принципово різні машини як у термінах апаратури, так і у термінах програмного забезпечення
  • 17. 17/24Лекція 15 Структуризація сервісів файлів і каталогів: варіанти 1. 2 сервіси на одному сервері 2. Різні машини  Цей варіант більш гнучкий  Крім того, таким чином можна досягти спрощення ПЗ  Недолік – збільшення інтенсивності мережного обміну
  • 18. 18/24Лекція 15 Зберігання на серверах інформації про клієнтів 1. Не зберігати (stateless) 2. Зберігати (statefull)  Statefull сервер пам’ятає, які файли відкрив кожний користувач, положення покажчиків, тощо  У разі відмови сервера таблиці втрачаються
  • 19. 19/24Лекція 15 Переваги statefull і stateless серверів Stateless  Відмовостійкість  Не потрібні виклики OPEN/CLOSE  Менше пам’яті сервера витрачається  Немає обмежень на число відкритих файлів  Відмова клієнта не створює проблем для сервера Statefull  Коротші повідомлення під час запитів  Краща продуктивність  Можливе зчитування з випередженням  Легше досягти ідемпотентності  Можливе блокування файлів
  • 20. 20/24Лекція 15 Кешування Диск сервера  пам’ять сервера  пам’ять клієнта  диск клієнта  Кешування на сервері 1. Якими одиницями оперує кеш • Цілі файли – ефективніше зберігання на диску (менше число обмінів) • Дискові блоки – ефективніше використання пам’яті кешу і дискового простору 2. Правило заміни даних у кеші • Наприклад, алгоритм LRU (Last Recently Used)  Кешування на сервері легко реалізується і прозоро для клієнта  Кешування на боці клієнта  Позбавляє від зайвого трафіку  Породжує безліч проблем!
  • 21. 21/24Лекція 15 Рішення проблеми узгодження 1. Алгоритм наскрізного записування  Під час модифікації даних у кеші нове значення негайно надсилається серверу  Недолік – інтенсивність мережного обміну зменшується лише при зчитуванні 2. Відкладене записування  Клієнт помічає, що файл вже змінений  Приблизно один раз за 30 секунд усі зміни збираються разом і надсилаються 3. Записування-по-закриттю  Сесійна семантика 4. Алгоритм централізованого керування  Семантика UNIX  Передбачає statefull – підхід  Якщо файл вже кимось відкритий, його не можна відкрити для записування
  • 22. 22/24Лекція 15 Реплікація  Система оперує кількома копіями файлів, причому кожна копія знаходиться на окремому сервері  Переваги:  Підвищення надійності  Розподіл навантаження між кількома серверами
  • 23. 23/24Лекція 15 Способи досягнення прозорості реплікації 1. Програміст, що створює прикладну програму, сам керує реплікацією  Під час створення файлу автоматично створюються його копії • Наприклад, /machine1/usr/ast/xyz – основний файл /machine2/usr/ast/xyz і /machine3/usr/ast/xyz – його копії (записують одночасно)  Для розподілених систем такий підхід не рекомендують! 1. “Ледаща” реплікація  Спочатку записують файл, а потім роблять його копії 1. Групові зв’язки  Визначені групи  Файл записують у групу, а система автоматично (одночасно) створює його копії
  • 24. 24/24Лекція 15 Контроль змін реплікованих файлів 1. Реплікація першої копії  Виділяють первинний сервер  Зміни надсилають на первинний сервер, а він – на вторинні 1. Голосування  Відстежують версії файлів  Нехай є N серверів з копіями  Під час записування зміни вносять щонайменше у W копій  Під час зчитування переглядають щонайменше R копій  Якщо R+W>N, то буде знайдена хоча б одна з копій останньої версії  Оскільки зчитування здійснюють частіше, ніж записування, то обирають R<W