Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Митряев лекции / РИС гр.446зс 2015 / РИС Л.8 гр.445 (30.10.15).docx
Скачиваний:
196
Добавлен:
25.03.2016
Размер:
183.16 Кб
Скачать

46

РИС. Л.8 гр.445 (30.10.15)

Управление распределенными ресурсами План

1. Межпроцессная взаимосвязь.

2. Распределенные файловые системы

2.1. Файловая система

2.2. Файловая система ОС

2.3. Интерфейс файлового сервиса

2.4. Интерфейс сервиса каталогов

2.5. Семантика разделения файлов

3. Операционная система Unix

4. Вопросы разработки структуры файловой системы

5. Кэширование

6. Репликация

7. Распределенные файловые системы

7.1. Сетевая файловая система RFS

7.2. Сетевая файловая система (NFS) и файл /etc/exports

1. Межпроцессная взаимосвязь. Единственным по-настоящему важным отличием распределенных систем от централизованных является межпроцессная взаимосвязь.

В централизованных системах связь между процессами, как правило, предполагает наличие разделяемой памяти.

Разделяемую память(англ.Shared memory) применяют для того, чтобы увеличить скорость прохождения данных между процессами. В обычной ситуации обмен информацией между процессами проходит черезядро. Техника разделяемой памяти позволяет осуществить обмен информацией не через ядро, а используя некоторую часть виртуального адресного пространства, куда помещаются и откуда считываются данные.

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

Ядро́— центральная частьоперационной системы(ОС), обеспечивающаяприложениямкоординированный доступ кресурсам компьютера, таким какпроцессорное время, память,внешнее аппаратное обеспечение,внешнее устройство ввода и вывода информации.Также обычно ядро предоставляет сервисыфайловой системыисетевых протоколов.

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

Семафо́р— объект, позволяющий войти в заданный участок кода не более чемn потокам. Определение введеноЭдсгером Дейкстрой. Семафоры используются при передаче данных через разделяемую память

Пото́к выполне́ния(англ.thread— нить) — наименьшая единица обработки, исполнение которой может бытьназначеноядром операционной системы. Реализация потоков выполнения ипроцессовв разных операционных системах отличается друг от друга, но в большинстве случаев поток выполнения находится внутри процесса. Несколько потоков выполнения могут существовать в рамках одного и того же процесса и совместно использовать ресурсы, такие какпамять, тогда как процессы не разделяют этих ресурсов. В частности, потоки выполнения разделяют инструкции процесса (его код) и его контекст (значения переменных, которые они имеют в любой момент времени). В качестве аналогии потоки выполнения процесса можно уподобить нескольким вместе работающим поварам. Все они готовят одно блюдо, читают одну и ту же кулинарную книгу с одним и тем же рецептом и следуют его указаниям, причём не обязательно все они читают на одной и той же странице.

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

Рис. Включение буферной памяти

Такое промежуточное хранение позволяет лучше скоординировать работу устройств, участвующих в обмене данными, повысить их независимость друг от друга, согласовать скорости передачи и приема данных

Типичный пример - проблема "поставщик-потребитель", в этом случае один процесс пишет в разделяемый буфер, а другой - читает из него.

В распределенных системах нет какой бы то ни было разделяемой памяти.

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

В самом простом случае системные средства обеспечения связи могут быть сведены к двум основным системным вызовам (примитивам):

  • один - для посылки сообщения,

  • другой - для получения сообщения.

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