Сетевое ПО Лекция 3 (Электронные лекции), страница 3
Описание файла
Файл "Сетевое ПО Лекция 3" внутри архива находится в следующих папках: Электронные лекции, 1 модуль СПО. PDF-файл из архива "Электронные лекции", который расположен в категории "". Всё это находится в предмете "сетевое программное обеспечение" из 6 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "сетевое программное обеспечение" в общих файлах.
Просмотр PDF-файла онлайн
Текст 3 страницы из PDF
Лекция 3(2014 г.)(Управление в сетевых системах)Такой подход неэффективен по двум причинам. Во-первых, процессможетдлительноевремяожидатьодновременнойдоступностивсехзатребованных ресурсов, в то время как реально он мог бы работать итолько с частью из них. Во-вторых, затребованные процессом ресурсы могутзначительное время оставаться неиспользованными, и в течение этоговремени они оказываются недоступными другим процессам.При использовании обоих методов нужно, чтобы процесс заранее могуказать свои требования к ресурсам.
Это не всегда возможно; примеромявляется приложение типа базы данных, в которую можно динамическидобавлять новые элементы.В качестве варианта подхода, при котором предварительные сведениятакого рода не нужны, рассмотрим два алгоритмаОба они были разработаны в контексте работы с базами данных, ипоэтому мы будем говорить не о процессах, а о транзакциях.В предложенных методах используются временные метки. В каждойтранзакции на протяжении ее времени жизни хранится временная метка,соответствующая времени ее создания.Таким образом, среди транзакций устанавливается строгий порядок.Если ресурс R, который используется транзакцией Т1, запрашивается другойтранзакцией Т2, конфликт разрешается с помощью сравнения их временныхметок.Соблюдение этого условия позволяет предотвратить образованиециклического ожидания.Есть две разновидности этого базового методаметод "ожидания-перезапуска" ("wait-die")метод "прекращения-ожидания" ("wound-wait").Предположим, что в текущий момент транзакция Т1 владеет ресурсомR, а транзакция Т2 генерирует запрос на этот ресурс.Алгоритм метода ожидания-перезапуска, который используетсяраспределителем ресурсов, показан на рис.
3.7 а.Сетевое ПО. Лекция 3(2014 г.)(Управление в сетевых системах)Временные метки двух транзакций обозначены как е(Т1) и е ( Т 2 ) .13Если транзакция Т2 старше, она блокируется до тех пор, покатранзакция Т1 не освободит ресурс R — либо сгенерировав запрос, либо врезультате того, что она будет "убита" при запросе другого ресурса.Если транзакция Т2 моложе, то она перезапускается с той же временнойметкой, что и раньше.Таким образом, при возникновении конфликта преимуществомобладает более старая транзакция.
Благодаря тому что "убитая" транзакциявосстанавливается со своей предыдущей временной меткой, она становитсястарше, и ее приоритет возрастает.Узлам не нужно знать о состоянии распределения всех ресурсов. Все,что нужно, — это временные метки транзакций, запрашивающих ресурс.Метод прекращения-ожидания (рис. 3.76)предоставляет немедленный доступ к запрашиваемому ресурсустаршейтранзакции,удаляявладеющуюэтимресурсоммладшуютранзакцию.В отличие от метода ожидания-перезапуска, транзакция не должнаждать, пока ей будет предоставлен ресурс, использующийся младшейтранзакцией.4.3 Избежание взаимоблокировокИзбежание взаимоблокировок — это метод динамического принятиярешения о том, может ли предоставление данного ресурса по запросу привестик взаимоблокировке.Избежаниераспределенныхвзаимоблокировокявляетсянепрактичным по таким причинам.1.
Каждый узел должен следить за глобальным состояниемсистемы, что требует значительных накладных расходов на хранение иобмен информацией.2. Процесс проверки безопасного глобального состояния долженбытьвзаимоисключающим.ВпротивномслучаевопросоСетевое ПО.
Лекция 3(2014 г.)(Управление в сетевых системах)предоставленииресурсадвумразличнымресурсам14можетрассматриваться на двух узлах, и они оба одновременно могут принятьрешение о том, что удовлетворение запроса является безопасным. Врезультате возникнет взаимоблокировка.3. В распределенной системе с большим количеством процессови ресурсов проверка безопасности состояния приводит к значительнымнакладным расходам на обработку запросов.4.4 Выявление взаимоблокировокПри методе выявления взаимоблокировок процессам позволено получатьнезанятые ресурсы по первому требованию, а наличие взаимоблокировокопределяется при их возникновении.Еслиобнаруженасоставляющихвзаимоблокировка,(constituent)процессов,квыбираетсякоторомуодинизпредъявляетсятребование освободить ресурсы, необходимые для снятия взаимоблокировки.Привыявлениираспределенныхвзаимоблокировоквозникаюттрудности, состоящие в том, что каждый узел обладает сведениями только освоих ресурсах, в то время как взаимоблокировка может включать в себяраспределенные ресурсы.В зависимости от того, как управляется система — централизовано,иерархически или распределённо — можно использовать различныеподходы.При централизованном управлении ответственность за выявлениевзаимоблокировок возлагается на один узел.Все сообщения с запросами и освобождениями ресурсов отправляютсяцентральному процессу, а также процессу, контролирующему данный ресурс.Поскольку центральный процесс обладает всеми необходимыми сведениями,он в состоянии определить наличие взаимоблокировки.Такой подход требует передачи большого количества сообщений; онтакже уязвим по отношению к отказу центрального узла.
Кроме того, неисключена возможность выявления фиктивных взаимоблокировок.15Сетевое ПО. Лекция 3(2014 г.)(Управление в сетевых системах)При иерархическом управлении узлы организованы в древовиднуюструктуру, в которой один из них выступает в роли корня дерева.На каждом узле, не являющемся листом, собрана информация ораспределении ресурсов между всеми зависимыми от него узлами. Этопозволяет выявлять взаимоблокировки, возникающие на более низких поотношению к корневому узлу уровнях.Другими словами, взаимоблокировка, в которой участвует какое-томножество ресурсов, будет выявлена тем узлом, который является общим"предком" всех узлов, ресурсы которых принимают участие в конфликте.Прираспределенномуправлениивсепроцессывыявляютвзаимоблокировку сообща. Вообще говоря, это означает необходимостьинтенсивного обмена информацией, включающей временные метки; врезультате возникают значительные накладные расходы..