Документ взят из кэша поисковой машины. Адрес оригинального документа : http://sp.cs.msu.ru/courses/os41-2.doc
Дата изменения: Mon Apr 23 22:23:16 2001
Дата индексирования: Mon Oct 1 20:01:40 2012
Кодировка: koi8-r

Операционные системы распределенных вычислительных систем (распределенные
ОС).
(Крюков В.А.)
Распределенная система - совокупность независимых компьютеров, которая
представляется пользователю единым компьютером (metacomputer),
использование которого не намного сложнее, чем использование персональной
ЭВМ.

Введение в ОС однопроцессорных ЭВМ.
Два взгляда:
менеджер ресурсов;
один слой в множестве слоев абстрактных машин.

Представление ОС как менеджера ресурсов

| |Управление файлами |
|Управление процессами |Управление |Управление |
| |памятью |устройствами |
|Процессоры |Память |Устройства |

Представление ОС как абстрактной машины
|Абстрактная машина |
|Интерфейс пользователя |Интерфейс программы |
|Языки управления заданиями |Система |Системные вызовы |
|Командные языки |команд |Процессы Память Файлы |
|Окна, меню, пиктограммы | |Информационные функции |

Место ОС среди ПО
|Прикладное ПО |
|(отдельные приложения, пакеты прикладных программ, информационные|
|системы, САПР) |
|Системное ПО |
|(ОС + системы программирования, СУБД, графические библиотеки, |
|сервисные программы) |


История ОС.
1940-е и 1950-е
"Персональные ЭВМ" - "пультовый режим"
Библиотека программ ввода-вывода, служебная программа.
Середина 1950-х
Пакетная обработка. Однопрограммный и мультипрограммный режимы.
Инструкция оператору -> паспорт задачи (простейший язык управления
заданиями).
Требования к аппаратуре:
защита памяти;
прерывания;
привилегированный режим;
таймер.
Как обеспечить мультипрограммный режим без таких механизмов.
Середина 1960-х
Режим разделения времени.
Терминалы, квантование, свопинг, страничная и сегментная организация.
1970-е
Многопроцессорные ЭВМ, многомашинные комплексы, сети ЭВМ
1980-е
Персональные ЭВМ
1990-е
MPP, открытые системы, Internet
*********Лекция 2
1 Введение в параллельные и распределенные системы
1.1 Достоинства многопроцессорных систем с общей памятью
(мультипроцессоров)
(1) Производительность
(2) Надежность
1.2. Недостатки
(1) ПО (приложения, языки, ОС) сложнее, чем для однопроцессорных ЭВМ
(2) Ограниченность при наращивании (физ. размеры - близость к памяти,
64 процессора - максимально достигнутое).

1.2 Достоинства распределенных систем
Распределенная система - совокупность независимых компьютеров, которая
представляется пользователю единым компьютером.
Примеры: сеть рабочих станций (выбор процессора для выполнения
программы, единая файловая система), роботизированный завод (роботы
связаны с разными компьютерами, но действуют как внешние устройства
единого компьютера, банк с множеством филиалов, система резервирования
авиабилетов.

Почему создаются распределенные системы? В чем их преимущества перед
централизованными ЭВМ?
1-ая причина - экономическая.
Закон Гроша (Herb Grosh)- быстродействие процессора пропорциональна
квадрату его стоимости. С появлением микропроцессоров закон перестал
действовать - за двойную цену можно получить тот же процессор с
несколько большей частотой.
2-ая причина - можно достичь такой высокой производительности путем
объединения микропроцессоров, которая недостижима в централизованном
компьютере.
3-я причина - естественная распределенность (банк, поддержка совместной
работы группы пользователей ).
4-ая причина - надежность (выход из строя нескольких узлов
незначительно снизит производительность).
5-я причина - наращиваемость производительности.

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

Почему нужно объединять PC в сети?
1. Необходимость разделять данные.
2. Преимущество разделения дорогих периферийных устройств,
уникальных информационных и программных ресурсов.
3. Достижение развитых коммуникаций между людьми. Электронная почта во
многих случаях удобнее писем, телефонов и факсов.
4. Гибкость использования различных ЭВМ, распределение нагрузки.
5. Упрощение постепенной модернизации посредством замены
компъютеров.

Недостатки распределенных систем:
1. Проблемы ПО (приложения, языки , ОС).
2. Проблемы коммуникационной сети (потери информации, перегрузка, развитие
и замена).
3. Секретность.

1.3 Виды операционных систем (сетевые ОС, распределенные ОС, ОС
мультипроцессоров).

Сетевые ОС - машины обладают высокой степенью автономности,
общесистемных требований мало. Можно вести диалог с другой ЭВМ,
вводить задания в ее очередь пакетных заданий, иметь доступ к
удаленным файлам, хотя иерархия директорий может быть разной для
разных клиентов. Пример - серверы файлов (многие WS могут не иметь
дисков вообще).
Распределенные ОС - единый глобальный межпроцессный
коммуникационный механизм, глобальная схема контроля доступа,
одинаковое видение файловой системы. Вообще - иллюзия единой ЭВМ.
ОС мультипроцессоров - единая очередь процессов, ожидающих выполнения,
одна файловая система.
| |Сетевая ОС |Распределенная|ОС мульти |
| | |ОС |процессора |
|Компьютерная система|НЕТ |ДА |ДА |
|выглядит как | | | |
|виртуальная | | | |
|однопроцессорная ЭВМ| | | |
|Одна и та же ОС |НЕТ |ДА |ДА |
|выполняется на всех | | | |
|процессорах | | | |
|Сколько копий ОС |N |N |1 |
|имеется в памяти | | | |
|Как осуществляются |Разделяемые |Сообщения |Разделяемая |
|коммуникации |файлы | |память |
|Требуется ли |ДА |ДА |НЕТ |
|согласованный | | | |
|сетевой протокол | | | |
|Имеется ли единая |НЕТ |НЕТ |ДА |
|очередь | | | |
|выполняющихся | | | |
|процессов | | | |
|Имеется хорошо |Обычно НЕТ |ДА |ДА |
|определенная | | | |
|семантика разделения| | | |
|файлов | | | |


1.4. Принципы построения распределенных ОС (прозрачность, гибкость,
надежность, эффективность, масштабируемость).
(1) Прозрачность (для пользователя и программы).
|Прозрачность |Пользователь не должен знать, где |
|расположения |расположены ресурсы |
|Прозрачность миграции |Ресурсы могут перемещаться без |
| |изменения их имен |
|Прозрачность размножения|Пользователь не должен знать, |
| |сколько копий существует |
|Прозрачность конкуренции|Множество пользователей разделяет |
| |ресурсы автоматически |
|Прозрачность |Работа может выполняться параллельно |
|параллелизма |без участия пользователя |

(2) Гибкость (не все еще ясно - потребуется менять решения).
Использование монолитного ядра ОС или микроядра.
(3) Надежность.
Доступность, устойчивость к ошибкам (fault tolerance).
Секретность.
(4) Производительность.
Грануллированность. Мелкозернистый и крупнозернистый параллелизм (fine-
grained parallelism, coarse-grained parallelism).
Устойчивость к ошибкам требует дополнительных накладных расходов.
(5) Масштабируемость.
Плохие решения:
централизованные компоненты (один почтовый-сервер);
централизованные таблицы (один телефонный справочник);
централизованные алгоритмы (маршрутизатор на основе полной информации).
Только децентрализованные алгоритмы со следующими чертами:
ни одна машина не имеет полной информации о состоянии системы;
машины принимают решения на основе только локальной информации;
выход из строя одной машины не должен приводить к отказу алгоритма;
не должно быть неявного предположения о существовании глобальных
часов.

Литература

1. DISTRIBUTED OPERATING SYSTEMS. Andrew S. Tanenbaum, Prentice-Hall, Inc.,
1995

2. ADVANCED CONCEPTS IN OPERATING SYSTEMS. Mukesh Singhal, Niranjan G.
Shivaratri, McGraw-Hill, Inc., 1994

3. CENTRALIZED AND DISTRIBUTED OPERATING SYSTEMS. Gary J. Nutt, Prentice-
Hall, Inc., 1992

4. David W. Walker, "The design of a standard message-passing interface for
distributed memory concurrent computers", Parallel Computing, v.20, n 4,
April 1994, 657-673. (www.mpi-forum.org)

5. A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek, V. Sunderam,
"PVM 3 User's Guide and Reference Manual", Technical report, Oak Ridge
National Laboratory ORNL/TM-12187 (1993).