ціюється клієнтом, а сервер просто представляє собою агента, який виконує заявки клієнта. У багатьох розподілених системах, особливо в системах, що зберігають стан, сервер грає набагато більш активну роль. Він не тільки обслуговує запити клієнтів, але і бере участь у роботі механізму забезпечення когерентності, повідомляючи клієнтів про всі випадки, коли кешовані в ньому дані стають недостовірними. Мережева файлова система NFS
Компанія Sun Microsystems представила NFS в 1985 році як засіб забезпечення прозорого доступу до віддалених файлових систем. Крім публікації протоколу Sun ліцензувала його базову реалізацію, яка була використана різними постачальниками для портування NFS на різні операційні системи. З тих пір NFS стала фактично промисловим стандартом, який підтримується дійсно усіма варіантами системи UNIX, а також деякими іншими системами, наприклад, VMS і MS-DOS. p> Архітектура NFS базується на моделі клієнт-сервер. Файл-сервер являє собою машину, яка експортує деякий набір файлів. Клієнтами є машини, які мають доступ до цих файлів. Одна машина може для різних файлових систем виступати як як сервер, так і в якості клієнта. Однак програмний код NFS розділений на дві частини, що дозволяє мати лише клієнтські або тільки серверні системи. p> Клієнти і сервери взаємодіють за допомогою віддалених викликів процедур (rpc - remote procedure call), які працюють як синхронні запити. Коли додаток на клієнті намагається звернутися до віддаленого файлу, ядро ​​посилає запит в сервер, а процес клієнта блокується до отримання відповіді. Сервер чекає приходять запити, обробляє їх і відсилає відповіді тому клієнтам. < Погляд з боку користувача
Сервер NFS експортує одну або кілька файлових систем. Кожна експортована файлова система може бути або цілим розділом диска або його піддерево. (Різні варіанти UNIX мають свої власні правила дроблення експортованих систем. Деякі з них можуть, наприклад, дозволяти експортувати тільки файлову систему цілком, інші - тільки одне одне піддерево в кожній файловій системі). Сервер може визначити, зазвичай допомогою рядків у файлі/etc/exports, які клієнти можуть мати доступ до кожної експортованої файлової системі, а також дозволений режим доступу до неї: "тільки читання" або "читання і запис". p> Потім клієнтські машини можуть подмонтіровать таку файлову систему або її піддерево до будь-якого каталогу у своїй існуючої ієрархії файлів, точно так само, як вони змогли б змонтувати будь-яку локальну файлову систему. Клієнт може монтувати каталог з режимом "тільки читання", навіть якщо сервер експортує його в режимі "читання і запис". NFS підтримує два типи монтування: жорстке і мякгім. Від типу монтування залежить поведінка клієнта у випадку, якщо сервер не відповідає на запит. Якщо файлова система змонтована жорстко, клієнт продовжує повторні запити до отримання відповіді. У випадку м'якого монтування клієнт через деякий час відмовляється від повторних запитів і отримує помилку. Коли монту...