В.А. Крюков - Операционные системы распределенных вычислительных систем
Описание файла
PDF-файл из архива "В.А. Крюков - Операционные системы распределенных вычислительных систем", который расположен в категории "". Всё это находится в предмете "распределённые системы" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Операционные системы распределенных вычислительных систем (распределенные ОС).(Крюков В.А.)Распределенная система - совокупность независимых компьютеров,котораяпредставляется пользователю единым компьютером (metacomputer), использованиекоторого не намного сложнее, чем использование персональной ЭВМ.Введение в ОС однопроцессорных ЭВМ.Два взгляда:менеджер ресурсов;один слой в множестве слоев абстрактных машин.Представление ОС как менеджера ресурсовУправлениепроцессамиУправлениепроцессорамиПроцессорыУправление файламиУправлениепамятьюПамятьУправлениеустройствамиУстройстваПредставление ОС как абстрактной машиныАбстрактная машинаИнтерфейс пользователяИнтерфейс программыЯзыки управленияСистемаСистемные вызовызаданиями КомандныекомандПроцессы ПамятьязыкиФайлыОкна, меню, пиктограммыИнформационныефункцииМесто ОС среди ПОПрикладное ПО(отдельные приложения, пакеты прикладных программ,информационные системы, САПР)Системное ПО(ОС + системы программирования, СУБД, графическиебиблиотеки, сервисные программы)История ОС.1940-е и 1950-е"Персональные ЭВМ" - "пультовый режим"Библиотека программ ввода-вывода, служебная программа.Инструкция оператору.Середина 1950-хПакетная обработка.
Однопрограммный и мультипрограммный режимы.Инструкция оператору -> паспорт задачи (простейший язык управления заданиями).Требования к аппаратуре:защита памяти;прерывания;привилегированный режим;таймер.Как обеспечить мультипрограммный режим без таких механизмов.Середина 1960-хРежим разделения времени.Терминалы, квантование, свопинг, страничная и сегментная организация (общие сегментыпамяти).11970-еМногопроцессорные ЭВМ, многомашинные комплексы, сети ЭВМ.1980-еПерсональные ЭВМ.1990-еMPP, открытые системы, Internet.2000-екластеры, распределенные системы, GRID, многоядерные и многопоточные процессоры.*********Лекция 21 Введение в параллельные и распределенные системы1.1 Достоинства многопроцессорных систем с общей памятью (мультипроцессоров)(1) Производительность(2) Надежность1.2. Недостатки(1) ПО (приложения, языки, ОС) сложнее, чем для однопроцессорных ЭВМ(2) Ограниченность при наращивании (физ.
размеры - близость к памяти, когерентностьКЭШей, 64 процессора - максимально достигнутое).1.2 Достоинства распределенных системРаспределенная система - совокупность независимых компьютеров, которая представляетсяпользователю единым компьютером.Примеры: сеть рабочих станций (выбор процессора для выполнения программы, единаяфайловая система), роботизированный завод (роботы связаны с разными компьютерами, нодействуют как внешние устройства единого компьютера, банк с множеством филиалов,система резервирования авиабилетов.Почему создаются распределенные системы? В чем их преимущества передцентрализованными ЭВМ?1-ая причина - экономическая.Закон Гроша (Herb Grosh) - быстродействие процессора пропорционально квадрату егостоимости. С появлением микропроцессоров закон перестал действовать - за двойную ценуможно получить тот же процессор с несколько большей частотой.2-ая причина - можно достичь такой высокой производительности путем объединениямикропроцессоров, которая недостижима в централизованном компьютере.3-я причина - естественная распределенность (банк, поддержка совместной работы группыпользователей ).4-ая причина - надежность (выход из строя нескольких узлов незначительно снизитпроизводительность).5-я причина - наращиваемость производительности.В будущем главной причиной будет наличие огромного количества персональныхкомпьютеровинеобходимостьсовместной работы без ощущения неудобства отгеографического и физического распределения людей, данных и машин.Почему нужно объединять PC в сети?1.
Необходимость разделять данные.2. Преимущество разделениядорогихпериферийныхустройств, уникальныхинформационных и программных ресурсов.3. Достижение развитых коммуникаций между людьми. Электронная почта во многихслучаях удобнее писем, телефонов и факсов.4. Гибкость использования различных ЭВМ, распределение нагрузки.5. Упрощение постепенной модернизации посредством замены компьютеров.2Недостатки распределенных систем:1. Проблемы ПО (приложения, языки , ОС).2.
Проблемы коммуникационной сети (потери информации, перегрузка, развитие и замена).3. Секретность.1.3 Виды операционных систем (сетевые ОС, распределенные ОС, ОСмультипроцессоров).Сетевые ОС - машины обладают высокой степенью автономности, общесистемныхтребований мало. Можно вести диалог с другой ЭВМ, вводить задания в ее очередьпакетных заданий, иметь доступ к удаленным файлам, хотя иерархия директорий можетбыть разной для разных клиентов.
Пример - серверы файлов (многие WS могут не иметьдисков вообще).Распределенные ОСединыйглобальныймежпроцессный коммуникационныймеханизм, глобальная схема контроля доступа, одинаковое видение файловой системы.Вообще - иллюзия единой ЭВМ.ОС мультипроцессоров - единая очередьпроцессов, ожидающих выполнения, однафайловая система.Сетевая ОСРаспределеннаяОСОС мультипроцессораКомпьютернаясистема выглядиткак виртуальныймультипроцессорОдна и та же ОСвыполняется навсех процессорахНЕТДАДАНЕТДА (оченьусловно все вДАСколько копий ОСимеется в памятиИмеется ли единаяочередьвыполняющихсяпроцессовИмеется хорошоопределеннаясемантикаразделения файловNN1НЕТНЕТДАОбычно НЕТДАДАглубину, начиная спараллельного)1.4. Принципы построения распределенных ОС (прозрачность, гибкость, надежность,эффективность, масштабируемость).(1) Прозрачность (для пользователя и программы).ПрозрачностьПользователь не должен знать, гдерасположениярасположены ресурсыПрозрачность миграцииРесурсы могут перемещаться безизменения их именПрозрачностьПользователь не должен знать,размножениясколько копий существуетПрозрачностьМножество пользователей разделяетконкуренцииресурсы автоматическиПрозрачностьРабота может выполнятьсяпараллелизмапараллельно без участияпользователя3(2) Гибкость (не все еще ясно - потребуется менять решения).Использование монолитного ядра ОС или микроядра.(3) Надежность.Доступность, устойчивость к ошибкам (fault tolerance).Секретность.(4) Производительность.Грануллированность.
Мелкозернистый и крупнозернистый параллелизм (fine-grainedparallelism, coarse-grained parallelism).Устойчивость к ошибкам требует дополнительных накладных расходов.(5) Масштабируемость.Плохие решения:централизованные компоненты (один почтовый-сервер);централизованные таблицы (один телефонный справочник);централизованные алгоритмы (маршрутизатор на основе полной информации).Только децентрализованные алгоритмы со следующими чертами:ни одна машина не имеет полной информации о состоянии системы;машины принимают решения на основе только локальной информации;выход из строя одной машины не должен приводить к отказу алгоритма;не должно быть неявного предположения о существовании глобальных часов.Литература1.
DISTRIBUTED OPERATING SYSTEMS. Andrew S. Tanenbaum, Prentice-Hall, Inc., 19952. ADVANCED CONCEPTS IN OPERATING SYSTEMS. Mukesh Singhal,Shivaratri, McGraw-Hill, Inc., 1994Niranjan G.3. CENTRALIZED AND DISTRIBUTED OPERATING SYSTEMS. Gary J. Nutt, Prentice-Hall,Inc., 19924. David W. Walker, "The design of a standard message-passing interface for distributed memoryconcurrent computers", Parallel Computing, v.20, n 4, April 1994, 657-673.(www.mpiforum.org)5. A. Geist, A.
Beguelin, J. Dongarra, W. Jiang, R. Manchek, V. Sunderam, “PVM 3 User’s Guideand Reference Manual”, Technical report, Oak Ridge National Laboratory ORNL/TM-12187 (1993).6. Таненбаум Э., Стен М. ван. Распределенные системы. Принципы и парадигмы. –СПб.:Питер, 2003. (ISBN 5-272-00053-6, страниц: 877).4Лекция 32 Операционные системы мультипроцессорных ЭВМОрганизация ОС:главный-подчиненный (master-slave, выделение одного процессора для ОС упрощает ее,но этот процессор становится узким местом с точки зрения загруженности инадежности);симметричная (наиболее эффективная и сложная).2.1Процессы и нитиПроцесс этовыполнение программы. Компоненты процесса - выполняющаясяпрограмма, ее данные, ее ресурсы (например, память), и состояние выполнения.Традиционно, процесс имеет собственноехарактеризуется следующей информацией:адресное пространство и его состояниетаблицы страниц (или сегментов);дескрипторы файлов;заказы на ввод-вывод;регистры;и т.п.Большой объем этой информации делает дорогимипереключение.операциисоздания процессов, ихПотребность в легковесных процессах, нитях (threads), которые совместно используют единоеадресное пространство процесса, возникла еще на однопроцессорных ЭВМ (физическиепроцессы или их моделирование, совмещение обменов и счета), но для использованиядостоинств многопроцессорных ЭВМ с общей памятью они просто необходимы.Процессы могут быть независимыми, которые не требуют какой-либо синхронизации иобмена информацией (но могут конкурировать за ресурсы), либо взаимодействующими.2.2.
Взаимодействие процессовЕсли приложение реализовано в виде множества процессов (или нитей), то эти процессы(нити) могут взаимодействовать двумя основными способами:посредством разделения памяти (оперативной или внешней)посредством передачи сообщенийПри взаимодействии через общую память процессы должны синхронизовать свое выполнение.Различают два вида синхронизации - взаимное исключение критических интервалов икоординация процессов.Критические секции – частный случай критического интервала, когда критический интервалоформлен в виде конструкции языка программирования.