Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 13
На сайте нет зарегистрированных пользователей

Пользователей: 13,368
новичок: Goosprin
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Программа тестирования (тест) - вступительные экзамены (математика, физи...
База данных студентов на Delphi (файл записей) + Блок схемы
Диплом RSA, ЭЦП, сертификаты, шифрование на C#

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

Также вам может показаться, что такая тема как http://mosgorlimo.ru/ никак не связана и даже не тематична. Хотя, может быть и связана. В любом случае все-таки зайдите на сайт mosgorlimo.ru. Тема аренда лимузинов низкие цены там представлена весьма широко. На том сайте можно узнать много интересного на тему аренда лимузинов низкие цены. Что означает вообще тема аренда лимузинов низкие цены, где найти аренда лимузинов низкие цены - про это написано на сайте mosgorlimo.ru. Это очень важная для многих людей тема - аренда лимузинов низкие цены. Спасибо сайту mosgorlimo.ru за информацию на тему аренда лимузинов низкие цены.



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



Синхронизация и предупреждение взаимоблокировок
Метод перезагрузки использует несколько механизмов синхронизации. Порядок следования операций является важным для его правильной работы [18]. Обработка прерываний устройств может привести к длительным простоям процессоров, поэтому важно запретить выполнение прерываний во время выполнения алгоритма. Блокировка ртар пресекает одновременную инициализацию перезагрузки TLB по отношению к одной и той же структуре ртар. Прерывания необходимо запрещать до блокировки таблицы страниц, так как захват межпроцессорного прерывания во время блокировки может привести к взаимоблокировке (deadlock) процессора.



Перед блокировкой ртар инициатор сбрасывает собственный индикатор активности с целью защиты от взаимной блокировки. Представим, что два процессора, П1 и П2, одновременно пытаются внести изменения в одну и ту же структуру ртар. Процессор П1 запрещает прерывания, блокирует ртар и посылает процессору П2 прерывание. В это время процессор П2 также налагает запрет на прерывания и блокируется по тому же объекту. Это приводит к тупиковой ситуации, так как процесс П1 находится в режиме ожидания подтверждения прибытия прерывания от П2, в то время как П2 дожидается освобождения ртар.
Сброс флага активности является эффективным способом подтверждения прерываний. В нашем примере П1 не заблокируется, поскольку процессор П2 сбросил свой флаг активности до попытки блокировки ртар. После того, как П1 освободит ртар, процессор П2 продолжит выполнение и обработает сообщение о необходимости сброса TLB, отправленное ему процессором П1.
Эффект от применения алгоритма перезагрузки далеко не всегда очевиден по отношению ко всем блокируемым ресурсам. Этот метод требует соблюдения четкой политики запрета определенных прерываний при захвате объекта блокировки. Представьте, что процессор П1 удерживает ресурс, разрешая при этом обработку прерываний. Процессор П 2 пытается захватить тот же ресурс, при этом прерывания на нем запрещены. Процессор ПЗ инициализирует выполнение алгоритма перезагрузки, а процессоры П1 и П2 выступают в роли исполнителей. Процессор ПЗ посылает П1 и П2 межпроцессорные прерывания и затем блокируется до тех пор, пока не получит подтверждения. Процессор П1 подтверждает получение и затем блокируется в ожидании освобождения ртар. Однако процессор П2 уже заблокирован с запрещением прерываний и вследствие этого не может увидеть или подтвердить факт приема. В результате возникает трехстороннее взаимоисключение. Для предупреждения подобных ситуаций система должна установить фиксированное состояние прерываний для каждого случая блокировки: блокировка может быть получена в собственность при «всегда» отключенных прерываниях, либо, наоборот, при «всегда» обрабатываемых прерываниях.
Некоторые итоги
Алгоритм перезагрузки TLB системы Mach помогает решить весьма сложную проблему без вовлечения каких-либо дополнительных аппаратных средств (кроме поддержки межпроцессорных прерываний). С другой стороны, эта техника является весьма затратной и плохо масштабируемой. Все исполнители должны находиться в состоянии ожидания до тех пор, пока инициатор производит изменение ртар. В больших системах, имеющих десятки и сотни процессоров, операция перезагрузки TLB может привести к простою по крайней мере нескольких CPU.
Представленный алгоритм является весьма сложным, но это необходимо сразу же по двум причинам. Во-первых, некоторые MMU автоматически записывают данные о вхождениях TLB в таблицы страниц при модификации битов изменения и ссылки. Такая модификация приводит к перезаписи вхождения ртар целиком. Во-вторых, программные и аппаратные размеры страниц, как правило, различны. Ядру при изменении отображения одной страницы иногда приходится производить обновление нескольких вхождений ртар. Такие изменения должны быть неделимы для всех процессоров системы. Единственным способом достижения эффекта неделимости является приостановка работы всех процессоров, использующих ртар, на время перегрузки вхождения.
На сегодняшний день существует множество других способов перезагрузки TLB. В следующем разделе вы увидите описание некоторых специализированных (ad hoc) решений, позволяющих уменьшить частоту операций сброса корректности TLB. Отдельные методы зависят от конкретных аппаратных характеристик машины, что упрощает решение проблемы. Например, в [18] описывается алгоритм, эффективно работающий на RP3 (IBM Research Parallel Processor Prototype, [16]). Этот алгоритм основан на том, что процессор RP3 не производит автоматической отложенной записи содержимого вхождений в оперативную память, а также использует тот факт, что большой размер физической страницы (16 Кбайт) избавляет от необходимости программной странице занимать сразу несколько физических страниц памяти. Другие разработки требуют изменения архитектуры диспетчера MMU с целью вовлечения аппаратной составляющей в процедуру перезагрузки TLB [21].
Группа компьютерных компаний, объединившаяся в Intel Multiprocessor Consortium, совместно разработала ОС SVR4/MP, вариант системы SVR4 для многопроцессорных машин, оборудованных CPU семейства Intel. Через некоторое время в UNIX Systems Laboratories создали SVR4.2/MP, версию операционной системы SVR4.2, поддерживающую многопроцессорную обработку, а также другие возможности (например, легковесные процессы). В этом разделе мы рассмотрим аспекты корректности буферов TLB в обеих реализациях.
Опубликовал katy June 23 2015 06:06:02 · 0 Комментариев · 3516 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Halcyon
Dynamic Titles дл...
PCX
Пятнашки и крести...
Srinilist
IPAddresseEdit
Удаление своего EXE
HtmlLerz PRO
Язык программиров...
SODA [Исходник на...
Система баннеро-о...
Delphi 2005 для .NET
CoolControls v3.0...
Swat [Исходник на...
C++ для начинающих
Простой текстовый...
ICQ
Berg
Создание отчетов ...
Приемы программир...

Топ загрузок
Приложение Клие... 100774
Delphi 7 Enterp... 97833
Converter AMR<-... 20268
GPSS World Stud... 17014
Borland C++Buil... 14191
Borland Delphi ... 10291
Turbo Pascal fo... 7373
Калькулятор [Ис... 5984
Visual Studio 2... 5207
Microsoft SQL S... 3661
Случайные статьи
Сортировка с помощ...
СМЕШИВАНИЕ ДАННЫХ ...
Настройка плагина ...
Вложенные классы
Кому адресована эт...
Использование «умн...
Логотип Матрикс
Нынешнее положение...
Другие достоинства...
Дополнительная пан...
Алгоритм unordered...
Создание простейше...
WTABLE (ВЗВЕШЕННАЯ...
Кардшаринг нтв
Как создать новый ...
Моделирование и си...
see(X)
Свойства ARM
Методики авторизац...
Графические данные...
Azino777
Исследование внутр...
Логичность и миним...
Операторы описания...
Табл. 15-6.
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?