Навигация
Главная
Поиск
Форум
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
Реклама
Сейчас на сайте
Гостей: 11
На сайте нет зарегистрированных пользователей

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

База данных - рабочее место кассира на Delphi + бд Access
База данных студентов на Delphi (файл записей) + Блок схемы
Моделирование работы класса персональных компьютеров на GPSS + Отчет + Б...

Повторное использование страницы и ядро
Перед повторным использованием страницы ядро передает объект cookie функции hat_shootdown(), которая производит его сравнение со значениями cookie на других процессорах. Если какой-то процессор владеет cookie, более давним по сравнению со сравниваемым, это означает, что информация буфера о странице изжила себя и такой буфер является кандидатом на уничтожение.

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



Процедура hat_shootdown() выполняется в контексте процесса-инициато- ра. Сначала она захватывает глобальный объект простой блокировки (spin lock), что гарантирует проведение в один момент времени только одной операции перезагрузки. Затем операция посылает межпроцессорное прерывание всем процессорам, обладающим устаревшим объектом cookie. После начала обработки запроса каждым процессором инициатор освобождает объект блокировки и завершает изменение отображения страницы.
Процессы обрабатывают прерывание сразу после получения, не ожидая каких-либо действий, обеспечивающих синхронизацию. Они производят сброс своих буферов TLB и продолжают после этого работу в обычном режиме. Так как инициатор выполнил изменения преобразований адресов перед началом перезагрузки, все последующие операции доступа к странице со стороны исполнителей приведут к загрузке корректного вхождения TLB. Межпроцессорное прерывание обладает наивысшим уровнем приоритета. При его обработке запрещены любые другие прерывания, так как новая операция перезагрузки, начатая в тот же промежуток времени, в состоянии повлечь взаимную блокировку.
Средства синхронизации, используемые при реализации описанного алгоритма, намного проще и эффективнее по сравнению с методикой системы Mach. Основной причиной этого является поддержка ядром системы SVR4.2/MP гарантий не обращения к некорректным страницам, не имевшихся в ОС Mach.
Незамедлительная перезагрузка
При сбросе ядром системы корректности пользовательского РТЕ необходимо произвести безотлагательную перезагрузку буферов TLB на всех процессорах, где соответствующий процесс может быть активен. Такая необходимость проистекает из-за того, что ядро не может контролировать правила доступа к памяти прикладных процессов и не гарантирует отсутствие попыток обращения к недействительным адресам с их стороны. Методика немедленной перезагрузки сложнее по сравнению с предыдущей, так как в этом случае процессам-исполнителям приходится ждать, пока инициатор завершит изменение элементов РТЕ, и только после этого заканчивать обработку прерывания.
Алгоритм синхронизации прикладных вхождений TLB в системе SVR4.2/ МР схож со своим аналогом, реализованным в Mach. Ядро использует для этой цели дополнительный счетчик синхронизации, который играет роль семафора, разделяемого между инициатором и исполнителями. Последовательность операций продемонстрирована ранее.


Если ядру нужно сбросить корректность прикладного вхождения РТЕ процессора, сначала производится блокировка структуры hat и последующее овладение глобальным объектом простой блокировки (с целью предупреждения конфликтов с другими операциями перезагрузки). Дальнейшим этапом работы ядра является отправка межпроцессорного прерывания каждому процессору, разделяющему обрабатываемое адресное пространство (для этой цели используется список процессоров, хранящийся в структуре hat). После приема прерывания исполнители переходят в ждущий цикл с выходом по условию увеличения значения счетчика синхронизации.
В тот момент, когда все исполнители переключились в состояние ожидания, инициатор проводит операцию изменения вхождений таблицы страниц и инкрементирует счетчик синхронизации. Исполнители покидают цикл ожидания, сбрасывают свои TLB и возвращаются из обработки прерывания. Последней стадией операции перезагрузки является сброс локального буфера TLB инициатором и последующее освобождение объекта блокировки и структуры hat.
Описанный алгоритм позже был оптимизирован с учетом архитектуры Intel для случая необходимости изменения инициатором сразу же нескольких вхождений РТЕ в одном адресном пространстве. Такое может происходить, к примеру, при освобождении процессом сегмента памяти. Процессор І386 имеет двухуровневую таблицу страниц, в которой таблица страниц уровня 1 содержит РТЕ для таблиц второго уровня. В случае необходимости сброса нескольких РТЕ инициатор просто-напросто объявляет недействительными соответствующие вхождения таблицы первого уровня, после чего производит инкремент счетчика синхронизации.
Такой подход позволяет исполнителям завершить свою часть операции перезагрузки и продолжить работу в нормальном режиме без необходимости ожидания завершения модификации всех элементов РТЕ инициатором. Если легковесный процесс исполнителя пытается произвести обращение к устаревшей странице, то это приведет к страничной ошибке, так как вхождение таблицы первого уровня является некорректным. Загруженный в результате этого обработчик ошибки блокируется, поскольку структура hat по-прежнему остается блокированной инициатором.



Таким образом, исполнитель не может обратиться к противоречивым преобразованиям до того времени, пока инициатор не завершит свою часть работы и не загрузит корректное отображение. Несмотря на элегантность описанного метода, он является весьма специфичным и применяется лишь в архитектуре Intel и помогает лишь в ограниченном количестве ситуаций.
Опубликовал katy June 23 2015 06:16:37 · 0 Комментариев · 2783 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
Dreamsoft Progres...
Drag&Drop
Черный круг двига...
Исправление проц...
Binary2XMLDemo (Р...
SMExport
PrevInst
mp3tag
Последнее загруж...
Библия для програ...
Java Server Pages...
Приемы программир...
Время загрузки ...
IMtale
FilesInfo
Ведение справочны...
TsHintManager
Swat [Исходник на...
Эффект лампы на р...
Реализация ЭЦП по...

Топ загрузок
Приложение Клие... 100793
Delphi 7 Enterp... 98016
Converter AMR<-... 20298
GPSS World Stud... 17059
Borland C++Buil... 14239
Borland Delphi ... 10374
Turbo Pascal fo... 7390
Калькулятор [Ис... 6080
Visual Studio 2... 5228
Microsoft SQL S... 3674
Случайные статьи
Работа с изображен...
пару открытый/закр...
ЧТО ТАКОЕ НОРМАЛИЗ...
Онлайн-казино Фан-...
Листинг 2.13, 2.14
";" expected
Must be in 8087 mo...
клиентских машинах...
Моделирование сист...
Стандартные потоки
Сигналы SIGKILL и ...
Наследование
Перечислимые типы,...
Форматы архивации ...
Необходимые услови...
Живой диалог как и...
Обнаружение С-адре...
Первое знакомство
Игровые автоматы. ...
VW Polo
необходимые службы...
Здравый смысл
События Dynamic HTML
В случае схемы с о...
Применения неподви...
Статистика



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


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