Статус
нашего
сайта:
ICQ Secrets Center is Online  ICQ Information Center


ICQ SHOP
     5-значные
     6-значные
     7-значные
     8-значные
     9-значные
     Rippers List
ОПЛАТА
СТАТЬИ
СЕКРЕТЫ
HELP CENTER
OWNED LIST
РОЗЫСК!New!
ICQ РЕЛИЗЫ
Протоколы ICQ
LOL ;-)
Настройка компьютера
Аватарки
Смайлики
СОФТ
     Mail Checkers
     Bruteforces
     ICQTeam Soft
     8thWonder Soft
     Other Progs
     ICQ Patches
     Miranda ICQ
ФорумАрхив!
ВАШ АККАУНТ
ICQ LiveJournal

Реклама

Наш канал:

irc.icqinfo.ru

Таненбаум Э.- Архитектура компьютера. стр.460


Таненбаум Э.- Архитектура компьютера. стр.460

Слабая состоятельность

В модели слабой состоятельности не гарантируется, что операции записи, произведенные одним процессором, будут восприниматься другими в том же порядке [59]. Один процессор может увидеть сначала операцию 1А, а потом 1В, другой — сначала 1В, потом 1А. Чтобы внести порядок в этот хаос, должны иметься переменные синхронизации памяти или поддерживаться операция синхронизации памяти. При синхронизации все незаконченные операции записи завершаются, и ни одна новая операция не может начаться, пока не будут завершены все предыдущие записи и не завершится сама синхронизация. Синхронизация приводит память в устойчивое состояние, когда не остается никаких незавершенных операций. Сами операции синхронизации являются секвенциально состоятельными, то есть если они инициируются несколькими процессорами, выбирается определенный порядок их выполнения, причем все процессоры воспринимают один и тот же порядок.

При слабой состоятельности время разделяется на строго последовательные периоды, разделенные операциями синхронизации (рис. 8.20). Никакого особого порядка для операций записи 1А и 1В не гарантируется, и разные процессоры могут воспринимать их по-разному, то есть с точки зрения одного процессора сначала может выполняться операция 1А, а затем 1В, а с точки зрения другого — сначала 1В, а затем 1А. Такая ситуация допустима. Однако для всех процессоров операция 1В выполнена раньше 1С, поскольку записи 1С, 2В, ЗА, ЗВ могли начаться только после того, как в ходе первой операции синхронизации завершились записи 1А, 1В и 2А. Таким образом, с помощью операций синхронизации программно можно вносить некий порядок в последовательность событий, хотя это занимает некоторое время, поскольку требует очистки конвейера памяти.

Таненбаум Э.- Архитектура компьютера.

Рис. 8.20. В слабо состоятельной памяти периодически выполняются операции синхронизации

Свободная состоятельность

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

В этой модели операция синхронизации разделяется на две разные операции. Чтобы считать или записать совместно используемую переменную, процессор (то есть его программное обеспечение) сначала должен выполнить операцию acquire с переменной синхронизации, что позволит ему получить монопольный доступ к общим данным. Далее процессор может делать с этими данными все, что ему требуется (считывать или записывать), а по завершении он должен выполнить операцию release с переменной синхронизации, чтобы показать, что он завершил работу. Операция release не требует завершения незаконченных записей, но сама она не может завершиться, пока не закончатся все ранее начатые операции записи. Более того, новые операции с памятью могут начинаться сразу же.


⇐ Предыдущая страница| |Следующая страница ⇒

.