Реферат: Управление распределенными ресурсами - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

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

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Microsoft Word, 115 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

Управление распределенными ресурсами Базовые примит ивы передачи соо бщений в распределенных системах Единственным по-на стоящему важным отличием распределенных систем от централизованных является межпроцессная вза имосвязь . В централизованных системах связь м ежду процессами , как правило , предполагает нал ичие разделяемой памя ти . Типичный пример - проблема "поставщик-потребитель ", в этом случа е один процесс пишет в разделяемый буфер , а другой - читает из него . Даже наибол ее простая форма синхронизации - семафор - требу ет , чтобы хотя бы одно слово (переменная самого семафора ) б ы ло разделяемым . В распределенных системах нет какой бы то ни было разделяемой памяти , таким об разом вся природа межпроцессных коммуникаций должна быть продумана заново . Основой этого взаимодействия может служит ь только передача по сети сообщений . В самом простом случае системные средства обеспечения связи могут быть сведены к двум основным системным вызовам (примитивам ), один - для посылки сообщения , другой - для получения сообщения . В дальнейшем на их базе могут быть построены более мощные средства сетев ы х коммуникаций , такие как распределенная файловая система или вызов удаленных процедур , которые , в свою очередь , также могут служить основой для п остроения других сетевых сервисов . Несмотря на концептуальную простоту этих системных вызовов - ПОСЛАТЬ и ПОЛ УЧИТ Ь - существуют различные варианты их реализаци и , от правильного выбора которых зависит э ффективность работы сети . В частности , эффекти вность коммуникаций в сети зависит от спо соба задания адреса , от того , является ли системный вызов блокирующим или не б локирующим , какие выбраны способы буфериз ации сообщений и насколько надежным является протокол обмена сообщениями . Способы адресации Для того , чтобы послать сообщение , необходимо указать адрес получателя . В очень простой сети адрес может задаваться в виде константы , но в более сложных сетях нужен и более изощренный способ адресации . Одним из вариантов адресации на верхн ем уровне является использование физических а дресов сетевых адаптеров . Если в получающем компьютере выполняется только один процесс , то яд ро будет знать , что делать с поступившим сообщением - передать его этом у процессу . Однако , если на машине выполня ется несколько процессов , то ядру не извес тно , какому из них предназначено сообщение , поэтому использование сетевого адреса адаптера в качеств е адреса получателя п риводит к очень серьезному ограничению - на каждой машине должен выполняться только од ин процесс . Альтернативная адресная система использует имена назначения , состоящие из двух частей , определяющие номер машины и номер процес са . Однако адресация типа "машина-процесс " далека от идеала , в частности , она не гибка и не прозрачна , так как пользователь должен явно задавать адрес машины-получателя . В этом случае , если в один прекрасный день машина , на которой работает сервер , отказывает , то п р ограмма , в к оторой жестко используется адрес сервера , не сможет работать с другим сервером , устано вленном на другой машине . Другим вариантом могло бы быть назнач ение каждому процессу уникального адреса , кот орый никак не связан с адресом машины . Одним из с пособов достижения этой цели является использование централизованного ме ханизма распределения адресов процессов , который работает просто , как счетчик . При получен ии запроса на выделение адреса он просто возвращает текущее значение счетчика , а з атем наращи в ает его на единицу . Недостатком этой схемы является то , что централизованные компоненты , подобные этому , не обеспечивают в достаточной степени расширяем ость систем . Еще один метод назначения про цессам уникальных идентификаторов заключается в разрешении ка ж дому процессу выбо ра своего собственного идентификатора из очен ь большого адресного пространства , такого как пространство 64-х битных целых чисел . Вероя тность выбора одного и того же числа двумя процессами является ничтожной , а систем а хорошо расширяется. Однако здесь имеется одна проблема : как процесс-отправитель может узнать номер машины процесса-получателя . В сети , которая поддерживает широковещательн ый режим (то есть в ней предусмотрен т акой адрес , который принимают все сетевые адаптеры ), отправитель м о жет широковещ ательно передать специальный пакет , который с одержит идентификатор процесса назначения . Все ядра получат эти сообщения , проверят адрес процесса и , если он совпадает с идент ификатором одного из процессов этой машины , пошлют ответное сообщение " Я здес ь ", содержащее сетевой адрес машины . Хотя эта схема и прозрачна , но шир оковещательные сообщения перегружают систему . Так ой перегрузки можно избежать , выделив в се ти специальную машину для отображения высокоу ровневых символьных имен . При применении т акой системы процессы адресуются с по мощью символьных строк , и в программы вста вляются эти строки , а не номера машин или процессов . Каждый раз перед первой поп ыткой связаться , процесс должен послать запро с специальному отображающему процессу , обычно назыв а емому сервером имен , запрашивая номер машины , на которой работает процесс -получатель . Совершенно иной подход - это использование специальной аппаратуры . Пусть процессы выбир ают свои адреса случайно , а конструкция се тевых адаптеров позволяет хранить эти ад реса . Теперь адреса процессов не обнар уживаются путем широковещательной передачи , а непосредственно указываются в кадрах , заменяя там адреса сетевых адаптеров . Блокирующие и неблокирующие примитивы Примитивы бывают блокирующими и неблокирующими , иногда он и называются соответственно синхронными и асинхронными . При использовании блокирующего примитива , процесс , выдавший запрос на его выполнение , приостанавливается до полного завер шения примитива . Например , вызов примитива ПОЛ УЧИТЬ приостанавливает вызывающи й проце сс до получения сообщения . При использовании неблокирующего примитива управление возвращается вызывающему процессу н емедленно , еще до того , как требуемая рабо та будет выполнена . Преимуществом этой схемы является параллельное выполнение вызывающего п роцесса и процесса передачи сообщения . Обычно в ОС имеется один из двух видов примитивов и очень редко - оба . Одн ако выигрыш в производительности при использо вании неблокирующих примитивов компенсируется се рьезным недостатком : отправитель не может мод ифиц и ровать буфер сообщения , пока сообщение не отправлено , а узнать , отправлено ли сообщение , отправитель не может . Отсюд а сложности в построении программ , которые передают последовательность сообщений с помощь ю неблокирующих примитивов . Имеется два возможных выхода . Первое решение - это заставить ядро копировать с ообщение в свой внутренний буфер , а затем разрешить процессу продолжить выполнение . С точки зрения процесса эта схема ничем не отличается от схемы блокирующего вызова : как только процесс снова получа е т управление , он может повторно исполь зовать буфер . Второе решение заключается в прерывании процесса-отправителя после отправки сообщения , чтобы проинформировать его , что буфер снова доступен . Здесь не требуется копирование , что экономит время , но прерыва ние пол ьзовательского уровня делает программирование за путанным , сложным , может привести к возникнове нию гонок . Вопросом , тесно связанным с блокирующими и неблокирующими вызовами , является вопрос тайм-аутов . В системе с блокирующим вызовом ПОСЛАТЬ при отс утствии ответа вызыва ющий процесс может заблокироваться навсегда . Для предотвращения такой ситуации в некоторых системах вызывающий процесс может задать временной интервал , в течение которого он ждет ответ . Если за это время сообщение не поступает , вызов П ОСЛАТЬ зав ершается с кодом ошибки . Буферизуемые и небуферизуемые примитивы Примитивы , которые были описаны , являются небуферизуемыми прими тивами . Это означает , что вызов ПОЛУЧИТЬ с ообщает ядру машины , на которой он выполня ется , адрес буфера , в который сле дует поместить пребывающее для него сообщение . Эта схема работает прекрасно при усло вии , что получатель выполняет вызов ПОЛУЧИТЬ раньше , чем отправитель выполняет вызов П ОСЛАТЬ . Вызов ПОЛУЧИТЬ сообщает ядру машины , на которой выполняется , по какому адресу должно поступить ожидаемое сообщение , и в какую область памяти необходимо его поместить . Проблема возникает тогда , когда в ызов ПОСЛАТЬ сделан раньше вызова ПОЛУЧИТЬ . Каким образом сможет узнать ядро на ма шине получателя , какому процессу адресовано в новь п оступившее сообщение , если их несколько ? И как оно узнает , куда его скопировать ? Один из вариантов - просто отказаться от сообщения , позволить отправителю взять тай м-аут и надеяться , что получатель все-таки выполнит вызов ПОЛУЧИТЬ перед повторной перед аче й сообщения . Этот подход не сложен в реализации , но , к сожалению , отправитель (или скорее ядро его машины ) может сде лать несколько таких безуспешных попыток . Еще хуже то , что после достаточно большого числа безуспешных попыток ядро отправителя может сдела т ь неправильный вывод об аварии на машине получателя или о неправильности использованного адреса . Второй подход к этой проблеме заключа ется в том , чтобы хранить хотя бы неко торое время , поступающие сообщения в ядре получателя на тот случай , что вскоре буде т выполнен соответствующий вызов ПОЛУЧИТЬ . Каждый раз , когда поступает такое "неожид аемое " сообщение , включается таймер . Если задан ный временной интервал истекает раньше , чем происходит соответствующий вызов ПОЛУЧИТЬ , то сообщение теряется . Хотя этот мето д и уменьшает в ероятность потери сообщений , он порождает про блему хранения и управления преждевременно по ступившими сообщениями . Необходимы буферы , которые следует где-то размещать , освобождать , в о бщем , которыми нужно управлять . Концептуально простым спо с обом управления буферами является определение новой структуры данных , называемой почтовым ящиком . Процесс , который заинтересован в получени и сообщений , обращается к ядру с запросом о создании для него почтового ящика и сообщает адрес , по которому ему могу т поступать сетевые пакеты , после чего все сообщения с данным адресом будут помещены в его почтовый ящик . Такой спо соб часто называют буферизуемым примитивом . Надежные и не надежные примитивы Ранее подразумевал ось , что когда отправитель посылает сообщение, адресат его обязательно получает . Но реально сообщения могут теряться . Предположим , что используются блокирующие примитивы . Когд а отправитель посылает сообщение , то он пр иостанавливает свою работу до тех пор , пок а сообщение не будет послано . Однако нет н и каких гарантий , что после т ого , как он возобновит свою работу , сообще ние будет доставлено адресату . Для решения этой проблемы существует три подхода . Первый заключается в том , что система не берет на себя никаких обя зательств по поводу доставки сообщений. Реализация надежного взаимодействия становится ц еликом заботой пользователя . Второй подход заключается в том , что ядро принимающей машины посылает квитанцию-п одтверждение ядру отправляющей машины на кажд ое сообщение . Посылающее ядро разблокирует по льзова тельский процесс только после получ ения этого подтверждения . Подтверждение передаетс я от ядра к ядру . Ни отправитель , ни получатель его не видят . Третий подход заключается в использовании ответа в качестве подтверждения в тех системах , в которых запрос вс егда с опровождается ответом . Отправитель остается забло кированным до получения ответа . Если ответа нет слишком долго , то посылающее ядро м ожет переслать запрос специальной службе пред отвращения потери сообщений.
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Подняли по тревоге военный округ N.
Звонок из Москвы:
- Танки завелись?
- Конечно...
- Конечно - да, или конечно - нет?
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, реферат по программированию "Управление распределенными ресурсами", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru