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

Способы организации вычислений потоков в распределенных системах. Архитектура реализации нитей, нити и вызов удаленных процедур (особенности).

Способы организации вычислительного процесса с использованием потоков.

  1. Модель-диспетчер

  1. Модель-команда

  1. Модель-конвеер

Особенности вызова удаленной процедур для потоков

  1. Использование специальной схемы локального вызова

    1. При старте серверного потока С он экспортирует свой интерфейс в ядро (набор функций и список параметров для каждой – это и есть интерфейс)

    2. Когда стартует клиентский поток К, который собирается вызвать С, он импортирует интерфейс из ядра и получает идентификатор вызова.

    3. Ядро после страта клиента создает структуру данных для подготовки к вызову. В нее входит стек аргументов, разделяемый потоками КС и отображенный в оба адресных пространства для чтения и записи.

    4. При вызове Клиент помещает аргумент в разделяемый стек, а идентификатор в регистр и выполняет прерывание Хеадоу

    5. По идентификатору ядро определяет что вызов локальный и запускает поток Сервера. (аргумент уже загружен, перегруппировка не нужна)

  2. Неявный вызов

    1. При поступлении на сервер нового сообщения для него создается новый обслуживающий поток, а не снимается с группировки старый. После выполнения запроса поток уничтожается.

Особенности использования транзакций в распределенных системах

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

Свойства транзакций:

  1. Упорядочиваемость – если несколько Т выполняется одновременно, результат выглядит как если бы они выполнялись последовательно.

  2. Неделимость – процессы, не участвующие в транзакции, не видят её промежуточные результаты.

  3. Постоянство – после фиксации (завершения) транзакции никакой сбой не отменяет её результат.

Реализация транзакции:

  1. Участники транзакции используют индивидуальное рабочее пространство, в котором происходят все изменения до фиксации.

  2. Перед изменением любого блока данных заносится запись об изменении в журнал регистрации.

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

В распределенных системах используется протокол для фиксации транзакции.

Один из процессов выбирается в качестве координатора.

Понятие распределенной файловой системы. Модели сетевых файловых систем.

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

  1. Клиент СФС Сервер СФС Интерфейс СФС Локальную файловую систему Интерфейс локальной ФС Протокол Клиент-Сервер СФС

В общем виде могут быть однородные и неоднородные.

Виды неоднородности:

  1. Доступ к одной локальной фс через несколько протоколов.

  1. Доступ к локальным фс различного типа через один протокол

  1. Существую ФС, которые объединяют и то, и то.

Файловая система поддерживается одной или более машинами, называемыми файл-серверами. Файловый сервер – это процесс, выполняемый на файл-сервере, т.е. на машине, и реализующий файловый сервис.

Файловый сервис – это набор функций, которые сетевая ФС предлагает своим пользователям. Состоит из 2х частей:

  1. Сервис файлов Сервис каталогов

Когда рабочая станция работает с удаленными файлами, она может монтировать удаленную ФС к своей локально. Монтирование – это присоединение одной ФС к другой.