ера або сегменту мережі). Однак це може призводити до деградації продуктивності або до виключенню доступу до деякої частини файлової системи. Масштабованість - Система повинна мати можливість масштабування в разі збільшення навантаження. Крім того, повинна існувати можливість поступового нарощування системи шляхом додавання окремих компонентів. Мобільність файлів - Повинна бути можливість переміщення файлів з одного місця розташування в інше на працюючій системі. Питання розробки
Є декілька важливих питань, які розглядаються при розробці розподілених файлових систем. Вони стосуються функціональних можливостей, семантики та продуктивності системи. Різні файлові системи можна порівнювати між собою, з'ясовуючи як вони вирішують ці питання:
Простір імен - Деякі розподілені файлові системи забезпечують однорідний простір імен таке, що кожен клієнт використовує один і той же колійне ім'я для доступу до даного файлу. Інші системи дозволяють клієнту створювати свій простір імен шляхом монтування поділюваних піддерев до довільним каталогами в ієрархії файлів. Обидва методи мають свою привабливість. Операції із збереженням і без збереження станів - Сервер зберігає стану забезпечує зберігання інформації про операції клієнта між запитами і використовує цю інформацію про стан для коректного обслуговування подальших запитів. Такі запити як open або seek пов'язані зі зміною станів, так як хтось повинен запам'ятати інформацію про те, які файли відкрив клієнт, а також всі зміщення в відкритих файлах. В системі без збереження станів кожен запит є "Самодостатнім" і сервер не підтримує стійких станів про клієнтів. Наприклад, замість того, щоб підтримувати інформацію про зміщенні у відкритому файлі сервер може вимагати від клієнта вказівки зміщення в кожній операції читання або запису. Сервери зі збереженням станів працюють швидше, оскільки вони можуть використовувати знання про стан клієнта для істотного зменшення мережевого трафіку. Однак вони повинні мати і цілий комплекс механізмів підтримки узгодженого стану системи і відновлення після її відмови. Сервери без збереження станів більш прості в розробці та реалізації, але не дають такої високої продуктивності. Семантика розділення - Розподілена файлова система повинна визначити семантику, яка застосовується коли кілька клієнтів одночасно звертаються до одного файлу. Семантика UNIX вимагає, щоб всі зміни, зроблені одним клієнтом, були б видно іншим клієнтам, коли вони видають наступний системний виклик read або write. Деякі файлові системи забезпечують "семантику сесії" (session semantics), при якої зміни стають доступними іншим клієнтам на основі гранулювання системних викликів open і close. А деякі системи дають навіть ще більш слабкі гарантії, наприклад, інтервал часу, який повинен пройти перш, ніж зміни, напевно потраплять до інших клієнтам. Методи віддаленого доступу - У простій моделі клієнт-сервер використовується метод віддаленого обслуговування, при якому кожна дія іні...