14.5. Резюме, ключевые термины и контрольные вопросы
Распределенная операционная система способна поддерживать перенос процессов, который состоит в передаче достаточного количества информации о состоянии процесса, выполняющегося на какой-то машине, на другую машину. Перенос процессов может использоваться для выравнивания нагрузки, повышения производительности путем сведения к минимуму интенсивности обмена информацией, улучшения доступности или предоставления процессу доступа к особым удаленным устройствам.
В распределенной системе часто возникает необходимость получения информации о глобальном состоянии, которая может понадобиться для разрешения конфликтов, возникающих при распределении ресурсов, а также для координации процессов. Учитывая то, что сообщения передаются с непредсказуемой задержкой во времени, необходимо позаботиться о согласованности порядка всех происходящих событий с точки зрения различных процессов.
В управлении процессами в распределенной системе участвуют средства, предназначенные для реализации взаимоисключений, а также для действий по борьбе с взаимоблокировками. Обе проблемы в распределенных системах гораздо более сложные, чем в отдельной системе.
Ключевые термины
Вытеснение Невытесняющий перенос Распределенное
Вытесняющий перенос Перенос процесса взаимоисключение
Глобальное состояние Распределенная взаимо- Снимок Канал блокировка
Контрольные вопросы
14.1. Приведите и обоснуйте причины, по которым целесообразен перенос процессов.
14.2. Что происходит с адресным пространством процесса при его переносе?
14.3. Приведите обоснования применения вытесняющего и невытесняющего переноса процессов.
14.4. Почему невозможно определить истинное глобальное состояние?
14.5. В чем состоят различия между централизованным и распределенным алгоритмами обеспечения взаимоисключений в распределенной системе?
14.6. Дайте определение двух видов распределенных взаимоблокировок.
14.6. Рекомендуемая литература
Все темы, представленные в этой главе, изложены в [GALLOO].
В [MILO96] подробно рассматриваются механизмы переноса процессов, а также их реализаций. Другими заслуживающими внимания обзорами являются [ESKI90] и [SMIT88]. В [NUTT94J описывается несколько примеров реализации переноса процессов в операционных системах. В [FIDG96] представлены различные подходы, применяющиеся для упорядочения событий в распределенных системах, а также делается вывод, что предпочтительным является подход, изложенный в данной главе.
Алгоритмы управления процессами в распределенной системе (реализующие взаимоисключение и предотвращающие взаимоблокировку) можно найти в [SINH97] и [RAYN88]. Более формальное изложение содержится в [RAYN90], [GARG96] и [LYNC96].
ESKI90 Eskicioglu M. Design Issues of Process Migration Facilities in Distributed Systems. — Newsletter of the IEEE Computer Society Technical Committee on Operating Systems and Application Environments, Summer 1990.
FIDG96 Fidge C. Fundamentals of Distributed System Observation. — IEEE Software, November 1996.
GALL00 Galli D. Distributed Operating Systems: Concepts and Practice. — Upper Saddle River, NJ: Prentice Hall, 2000.
GARG96 Garg V. Principles of Distributed Systems. — Boston: Kluwer Academic Publishers, 1996.
LYNC96 Lynch N. Distributed Algorithms. — San Francisco, CA: Morgan Kaufmann, 1996.
MILO96 Milojicic D., Douglis F., Paindaveine Y., Wheeler R., Zhou S. Process Migration.TOG RI Technical Report, December 1996. Available at http:www.opengroup.org/~dejan/papers/index.htm.
NUTT94 Nuttal M. A Brief Survey of Systems Providing Process or Object Migration
Facilities, — Operating Systems Review, October 1994.
RAYN88 Raynal M. Distributed Algorithms and Protocols. — New York: Wiley, 1988.
RAYN90 Raynal M., Helary J. Synchronization and Control of Distributed Systems and Programs. — New York: Wiley, 1990.
SING94 Singhal M., Shivaratri N. Advanced Concepts in Operating Systems. — New York: McGraw-Hill, 1994.
SINH97 Sinha P. Distributed Operating Systems. — Piscataway, NJ: IEEE Press, 1997.
SMIT88 Smith J. A Survey of Process Migration Mechanisms. — Operating Systems Review, July 1988.
