Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Олифер. Сетевые операционные системы.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
16.5 Mб
Скачать

Архитектурные решения

Архитектурные решения программного комплекса, реализующего сетевую ФС, во многом определяют ее эффективность, производительность, отказоустойчивость и масштабируемость. Именно к вопросам архитектуры относятся решения о том, оформлять ли клиентские и серверные компоненты сетевой файловой системы в виде приложений или включать их в число модулей ОС, в каком режиме — пользовательском или привилегированном — должны выполняться эти программы, совмещать ли в единой программе функции клиента и сервера или это должны быть отдельные программы.

В некоторых файловых системах (например, NFS) на всех компьютерах сети работает, одно и то же базовое программное обеспечение, включающее как клиентскую, так и серверную части, так что любой компьютер, который захочет предложить услуги файловой службы, может это сделать. Для этого администратору ОС достаточно объявить имена выбранных каталогов разделяемыми (экспортируемыми в терминах NFS), чтобы другие машины могли иметь к ним доступ.

В других системах файловый серверэто специализированный компонент серверной ОС, отсутствующий в клиентских компьютерах. По такому пути пошли разработчики сетевой ОС NetWare, создав операционную систему, оптимизированную для работы в качестве файлового сервера, но не поддерживающую работу в качестве клиентской ОС.

Для повышения эффективности работы файловый сервер и клиент обычно включают в число модулей ядра ОС, работающих в привилегированном режиме. В современных ОС эти компоненты чаще всего оформляются как высокоуровневые драйверы, функционирующие в составе подсистемы ввода-вывода. Эффективность работы при этом повышается за счет прямого доступа ко всем внутренним модулям ОС, в том числе и к дисковому кэшу, без выполнения дополнительных операций и смены пользовательского режима на привилегированный. Прямой доступ к содержимому дискового кэша существенно повышает скорость доступа к данным файлов по сети, поэтому для повышения производительности файлового сервера ОС должна быть сконфигурирована для поддержки дискового кэша большого объема.

Файловый сервер и клиенты могут в некоторых случаях оформляться и как модули, работающие в пользовательском режиме. Такое построение было характерно для ранних сетевых файловых систем персональных компьютеров (например, IBM LAN Program), от которых не требовалась высокая скорость доступа, а объемы хранимых данных были весьма скромными. Используется такой режим работы и в файловых серверах ОС, основанных на микроядерной архитектуре, например, ОС, построенных на основе микроядра Mach. Такие файло­вые серверы предназначены для выполнения самой ответственной работы (в отличие от серверов ранних систем для персональных компьютеров), и перенесение сервера в пользовательский режим обусловлено общим подходом к архитектуре ОС, преследующим, как это уже было отмечено в главе 3, такие цели, как повышение надежности и улучшение возможностей модификации ОС.

Однако работа файлового сервера в пользовательском режиме снижает его производительность, из-за чего на практике такая архитектура применяется пока редко.