Ю. Вахалия - UNIX изнутри (2003) (1114670), страница 100
Текст из файла (страница 100)
8.13. Заключение Интерфейс чпобе/уЬ позволяет нескольким различным файловым системам сосуществовать на одной машине, В этой главе были описаны реализации нескольких файловых систем. Сначала были рассмотрены две наиболее популярные локальные системы, з5Ь и ГГ5, после чего вы увидели примеры специализированных файловых систем, использующих преимущества некоторых свойств чпоое/чЬ для предоставления пользователю полезных средств. В конце главы приведено описание буферного каша, являющегося общим ресурсом, используемым всеми файловыми системами. В следующих главах будут описаны другие файловые системы. Мы поговорим о распределенных системах, таких как ХГ5, КГ5, АГ5 и ПГ5.
Глава 11 будет посвяшена специфичным и экспериментальным файловым системам, использующим для увеличения функциональности и производительности такие технологии, как поддержка журналов. 9.14. Упражнения 1. Почему системы з5Ь и ГГ5 обладают фиксированным значением дисковых индексных дескрипторов на каждую файловую систему? 2. Почему индексный дескриптор отделен от элемента каталога файла? 3. Какие преимущества и недостатки вы видите при размещении каждого файла на диске последовательно? Для каких типов приложений наиболее подходит файловая система, основанная на этом подходе? 4. Что произойдет, если в результате дисковой ошибки уничтожится суперблок з5Ь? 5. Какие сушествуют преимущества динамического запроса и освобождения индексных дескрипторов? 6. Система, использующая кэш подстановки имен, основанный на ссылках, может оказаться без свободных индексных дескрипторов просто потому, что кэш ссылается на дескрипторы, которые уже являются свободными.
Какие действия производит файловая система в случае возникновения такой ситуации? Глава 9. Реализации файловых систем 9.15. Дополнительная литература 1. 2. 7. 8, 9. 10. 11. 12. 13. 14. 15. 16. 17. Поиск имен в каталоге большого размера может быть совершенно не- эффективным в обычных файловых системах, таких как з51з или РР5. Исследуйте возможность организации каталога в виде таблицы хэши- рования. Должна ли такая таблица находиться только в памяти или частично храниться на постоянных носителях? Будет ли обсуждаемая технология простой копией функциональности каша подстановки имен? В 4.4ВБР кэш подстановки имен поддерживает вхождения неудачных операций поиска.
Какими преимушествами обладает кэширование та- кой информации? С какими проблемами столкнется система, исполь- зующая описанный подход? Почему системному вызову апСе иногда необходимо сначала прочесть данные блока с диска? Почему в системе РРБ принято размещать каждый новый каталог в груп- пе цилиндров, отличной от занимаемой его родительским каталогом? В каких ситуациях фактор чередования секторов ухудшает производи- тельность системы? Почему алгоритмы размещения данных на дисках системы РР5 могут отрицательно повлиять на производительность при использовании со- временных БСЯ1-дисков? С какой целью в РЕБ предусмотрен резерв свободного пространства? Представьте некую файловую систему, в которой данные небольших файлов хранятся прямо в индексном дескрипторе вместо использова- ния отдельного дискового блока.
Какими преимуществами и недостат- ками обладает такой подход? Опишите преимущества применения специализированной файловой системы для обработки временных файлов. Какие действия производятся файловой системой с целью уменьше- ния затирания каша? Какие преимущества дает отделение подсистемы кэширования буфе- ров от подсистемы памяти? Какие при этом возникают недостатки? АпсеНсап Ь1ас1опа! Бсапс1агс1 1ог 1п1оппаНоп Бузсетз, «Бгпай Сотрцсег Бузсешз 1псег1асе-2 (5СЯ1-2)», Х3.131 — 199Х, РеЬ.
1992. ВасЬ, М.,1., «ТЬе Рез18п о1 сЬе УЬ11Х Орегас1пд Бузсеш», Ргепс1се-На11, Епя!етчоосс СП11з, Щ, 1986. Вагй1еу, К. Е., апс1 1.ее, Т. Р., «А Рупапис Рйе Бузсеш 1пос1е АПосасюп апс1 Йес1а1ш Ройсу», Ргосеес11пйз о1сЬе %'1псег 1990 115ЕЬ11Х ТесЬшса1 Соп1егепсе, 1ап. 1990, рр. 1-9. Глава 1О Распределенные файловые системы 10.1. Введение Появление в 70-х годах возможности соединения компьютеров между собой стало поистине революционным для компьютерной индустрии. Именно зто и послужило причиной создания средств совместного использования файлов в компьютерных сетях. Поначалу производители сконцентрировали свое внимание на средствах копирования файлов с одной машины на другую целиком, таких как программа воср ((11!1Х-со-(11!1Х сору Ргососо!) [20) и протокол передачи файлов (ЕТР, Ейе Тгапз(ег Ргогосо!) [24).
Однако подобные решения еще только представляли иллюзию доступа к файлам на удаленных машинах, ничем не отличающегося для пользователя от работы с локальной файловой системой. В середине 80-х годов появились первые распределенные файловые системы, предоставляющие прозрачный доступ к удаленным файлам по сети. Это системы МР8 (Ые(туог[г Р!!е Буз(еш) корпорации Вцп Мкгозув(ешв [27), кРБ (гсешосе Рйе БЬаг!п8) компании АТЛЕТ [26] и АЕЯ (Апг)гете Р(!е Яузгеш), созданная в университете Карнеги — Меллона [29)'. Перечисленные три файловые системы отличаются между собой как по целям, стоявшими перед их разработчиками, так и по их архитектуре и семантике. Вместе с тем их создатели пытались решить одну и ту же обшую проблему.
На сегодняшний день ЙЕБ поддерживается многими операционными системами, основанными на 8уз(еш 'тг. Файловая система ЫР8 получила более широкое распространение и используется многими вариантами как ()Ь!1Х-, так и не-УЫ1Х- систем. Развитие АРБ было продолжено компанией Тгапзагс Согрогайоп, где она была доведена до системы 1)ЕБ (1)!згг!Ьцсег! Р!!е Буз(еш), являющейся компонентом РЫг!Ьпгег[ Сошрпг[пй Епч!гоптепг (распределенная среда вычислений), продвигаемой Ореп Зоггтуаге Роцпг[а(!оп. ' АгБ получила название в честь основателей университета и его спонсоров Эндрю Карнеги (Апдгетт Сагпен(е) и Эндрю Меллона (Апдгев Ма!!оп), — Прим.
ред. 428 Глава 10. Распределенные файловые системы Эта глава начинается с обсуждения общих характеристик распределенных файловых систем, Затем вы получите представление об архитектуре и реализации каждой из упомянутых выше систем, а также вас ждет анализ их сильных и слабых сторон.
10.2. Общие характеристики распределенных файловых систем Обычная централизованная файловая система позволяет нескольким пользователям одной системы совместно использовать файлы, размещенные на одной машине локально. Распределенные системы расширяют возможности разделения файлов между пользователями, позволяя им иметь доступ к удаленным файлам, расположенным на компьютерах, объединенных в сеть. Распределенные файловые системы основаны на модели «клиент-сервер». Клиентом является машина, запрашивающая доступ к файлу, в то время как сервер представляет собой место хранения этих файлов и обеспечивает доступ к ним клиентов.
В некоторых системах клиенты и серверы должны дислоцироваться на отдельных машинах, в других один и тот же компьютер может одновременно являться как клиентом, так и сервером. Важно понять различие между распределенными файловыми системами и распределенными операционными системами [38). Распределенная файловая система, такая как У (5] или Атоеба (39), видится на прикладном уровне как централизованная система, но на самом деле выполняется на нескольких компьютерах. Она управляет на прикладном уровне соединениями между операционными и файловыми системами. Она также предоставляет службу распределенного доступа к файлам систем, имеющих централизованное ядро, и используется совместно всеми хостами.
Существует несколько важнейших свойств, присущих распределенным файловым системам (16). Каждая конкретная реализация может обладать всеми или только некоторыми из них. Эти свойства помогут нам оценить и сравнить различные архитектуры. + Прозрачность в сети. Клиенты должны иметь возможность получения доступа к удаленным файлам, применяя для этой цели те же операции, которые они используют для работы с локальными файлами.
+ Прозрачность расположения. Имя файла не должно зависеть от конкретного месторасположения в сети. + Независимость расположения. Имя файла не должно изменяться прн изменении физического местонахождения. + Мобильность пользователя. Пользователи должны иметь возможность доступа к совместно используемым файлам из любой точки сети.
10.2. Общие характеристики распределенных файловых систем 429 + Отказоустойчивость. Система обязана продолжать работать после возникновения сбоя в каком-либо одном компоненте (сервере или сегменте сети). При этом, однако, может понизиться ее производительность или часть файловой системы станет недоступной.
+ Масштабируемость. Система должна уметь масштабироваться по мере увеличения загрузки. Также важна способность к постепенному увеличению системы путем добавления компонентов. + Мобильность файлов. Должна поддерживаться возможность перемещения файлов из одного физического расположения в другое при выполнении системы. 10.2.1. Некоторые соглашения При разработке распределенной файловой системы необходимо выбрать несколько различных факторов, которые влияют на ее функциональность, семантику и производительность.
Мы будем проводить сравнение различных распределенных файловых систем, исходя из нижеперечисленных соображений. + Пространство имен. Некоторые распределенные файловые системы предлагают унифицированное пространство имен, например такие, в которых для доступа к конкретному файлу все клиенты используют одно и тоже полное имя. В иных реализациях каждый клиент может настроить пространство имен индивидуально путем монтирования поддеревьев в определенных каталогах файловой иерархии.
В распределенных системах применимы оба метода. + Работа в режиме запоминания состояния и без него. Сервер, поддерживающий запоминание состояния, сохраняет информацию об операциях клиентов между запросами и использует ее для корректного обслуживания последующих запросов. Некоторым запросам, например орел или зеек, необходимо помнить, какие файлы были открыты клиентом, а также смещение для каждого открытого файла. В системах, не запоминающих состояние, каждый запрос является самодостаточным, а сервер не хранит информацию о клиентах.