| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm: Общие вопросы > Критическая секция |
| Автор: zss 18.8.2004, 09:43 | ||||
| Как можно организовать критическую секцию ? к примеру в отладчике SoftIce это выглядит так KeEnterCriticalRegion
KeLeaveCriticalRegion
|
| Автор: oleg1973 18.8.2004, 15:42 | ||
а что ты под этим понимаеш? видимо имеется ввиду SEH переделать? |
| Автор: zss 18.8.2004, 20:41 | ||
Я имею ввиду создание некоего механизма синхронизации без использования вызовов NativeAPI, а чисто по адресам (если это правда возможно) |
| Автор: Chingachguk 19.8.2004, 01:37 |
| Если это в драйвере, то чем не подходит cli/sti ? Или вручную исправить [eax+D4] ? |
| Автор: zss 19.8.2004, 10:44 | ||
а запрет прерываний cli/sti - гарантирует монопольность доступа ? |
| Автор: Chingachguk 20.8.2004, 00:36 |
| Если драйвер в ring0, то должно быть так - свойство проца. Интересно ведут себя они в ring3, но я не проверял точно. |
| Автор: zss 20.8.2004, 08:22 |
| а пойдет ли этот код на многопроцессорной машине (и вообще - какие у него ограничения по сравнению со стандартными объектами синхронизации) |
| Автор: Chingachguk 21.8.2004, 19:15 |
| Это тонкий вопрос. Где-то на bugtraq.ru или wasm.ru я видел его обсуждение. В документации везде написано, что cli на нулевом уровне привилегий полностью блокирует выполняющийся код от всех внешних прерываний кроме NMI, но и его можно блокировать. Может, уточнишь задачу ? Возможно, есть и другие решения... |