Навигация
Главная
Поиск
Форум
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
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Модуль Forms 65535
Имитационное мо... 60099
Реклама
Сейчас на сайте
Гостей: 2
На сайте нет зарегистрированных пользователей

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

Моделирование работы обрабатывающего участка цеха в GPSS
Игра Sokoban на Delphi + Блок схемы
Моделирование работы ЭВМ на GPSS + Пояснительная записка

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Соревнование за доступ к данным
Соревнование за доступ к данным возникает в том случае, если из двух разных потоков осуществляется доступ к одному и тому же месту в памяти и если как минимум один из этих потоков ведет запись данных, а доступ происходит последовательно.


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


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


Давайте начнем с одного из таких аппаратных примитивов и покажем, как он может использоваться для построения базисного примитива синхронизации. Од ним из типичных действий для создания операций синхронизации является ато- мирный обмен, при котором меняются местами значение регистра и значение ячейки памяти.
Чтобы посмотреть, как это можно использовать для создания базисного примитива синхронизации, предположим, что нам нужно создать простую блокировку где 0 будет свидетельствовать о доступности, а 1 о недоступности блокировки Процессор пытается установить блокировку путем осуществления обмена единицы, содержащейся в регистре, со значением ячейки памяти, которая отвечает за блокировку. Значение, возвращенное инструкцией обмена, будет равно единице, если доступ уже был запрошен каким нибудь из процессоров, и нулю в противном случае. Во втором варианте значение также изменяется на единицу, предотвращая любые другие конкурирующие обмены со стороны другого процессора, который также мог бы извлечь нуль.
Рассмотрим, к примеру, два процессора, каждый из которых пытается одновременно с другим процессором провести обмен: соревнования между ними не будет, потому что только один из процессоров проведет обмен первым, возвращая нуль а второй процессор, когда первый проведет этот обмен, вернет единицу. Ключевым моментом использования примитива обмена для осуществления синхронизации является атомарность операции: обмен неделим, и два одновременных обмена бу дут поставлены оборудованием в очередь. Два процессора, пытающиеся установить переменную синхронизации, установить ее одновременно не смогут.
Реализация отдельной атомарной операции с памятью создает ряд трудностей при разработке процессора, поскольку она требует как чтения из памяти, так и записи в нее путем выполнения одной непрерывной инструкции.
Альтернативный вариант предусматривает наличие пары инструкций, где вторая инструкция возвращает значение, показывающее, имела ли выполненная пара инструкций атомарный характер. Пара инструкций по-настоящему
если окажется, что все другие операции, выполненные любым из процессоров произошли до или после выполнения этой пары инструкций.


Таким образом когда пара инструкций действительно имеет свойства атомарности, никакой другой процессор не сможет изменить значение, вклинившись между этой парок инструкций.
Опубликовал katy June 26 2015 10:19:04 · 0 Комментариев · 2012 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
EditNew
Программирование ...
Время загрузки ...
Создание лабиринт...
Пример создания W...
Preview
Самоучитель Прогр...
Работа с базами д...
PHP 5 на примерах
HTMLredaktor
ComboBox97
DemoEdit [Исходни...
Алгоритмы шифрова...
База данных: Книж...
TrayIcon
Calendar
Dnavigator
Программирование ...
ZipForge
Пример работы с ф...

Топ загрузок
Приложение Клие... 100519
Delphi 7 Enterp... 91131
Converter AMR<-... 20098
GPSS World Stud... 15145
Borland C++Buil... 12885
Borland Delphi ... 9074
Turbo Pascal fo... 7105
Калькулятор [Ис... 5158
Visual Studio 2... 5028
FreeSMS v1.3.1 3557
Случайные статьи
Сайты платящие за ...
Логичность и миним...
Добавление в форму...
Управляющий термин...
В задаче строим сл...
Инвертирование мас...
Чтобы обеспечить д...
Задача управления ...
Арифметические выр...
Совместное примене...
Свойства цвета
• Рабочая станция ...
QuickTime
Операции управлени...
Параметры протокол...
В версии Android SDK
ПРИНЦИП РАБОТЫ СИС...
Сп 118.13330.2012
Метод Чёрчмена-Акофа
Мебельные петли
Алгоритм обработки...
NTLM (NT LAN Manag...
Многопроцессорные ...
Команда UPDATE
Лучшее решение для...
Статистика



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


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