Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Критическая секция, режим ядра 
:(
    Опции темы
zss
Дата 18.8.2004, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 708
Регистрация: 17.6.2004

Репутация: нет
Всего: 2



Как можно организовать критическую секцию ?

к примеру в отладчике SoftIce это выглядит так

KeEnterCriticalRegion
Код

mov  eax, fs:[0x00000124]
dec  dword ptr [eax + 0x000000D4]
ret


KeLeaveCriticalRegion
Код

mov  eax, fs:[0x00000124]
inc  dword ptr [eax + 0x000000D4]
jnz  _Ret
lea  ecx, [eax + 0x34]
cmp  [ecx], ecx
jnz  RtlNumberOfClearBits + 0x08C5
ret



PM MAIL ICQ   Вверх
oleg1973
Дата 18.8.2004, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



Цитата
Как можно организовать критическую секцию ?

а что ты под этим понимаеш?
видимо имеется ввиду SEH переделать?smile.gif


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
zss
Дата 18.8.2004, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 708
Регистрация: 17.6.2004

Репутация: нет
Всего: 2



Цитата(oleg1973 @ 18.8.2004, 15:42)
а что ты под этим понимаеш?

Я имею ввиду создание некоего механизма синхронизации без использования вызовов NativeAPI, а чисто по адресам (если это правда возможно)
PM MAIL ICQ   Вверх
Chingachguk
Дата 19.8.2004, 01:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 18



Если это в драйвере, то чем не подходит cli/sti ? Или вручную исправить [eax+D4] ?


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
zss
Дата 19.8.2004, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 708
Регистрация: 17.6.2004

Репутация: нет
Всего: 2



Цитата(Chingachguk @ 19.8.2004, 01:37)
Если это в драйвере, то чем не подходит cli/sti ? Или вручную исправить [eax+D4] ?

а запрет прерываний cli/sti - гарантирует монопольность доступа ?
PM MAIL ICQ   Вверх
Chingachguk
Дата 20.8.2004, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 18



Если драйвер в ring0, то должно быть так - свойство проца. Интересно ведут себя они в ring3, но я не проверял точно.


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
zss
Дата 20.8.2004, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 708
Регистрация: 17.6.2004

Репутация: нет
Всего: 2



а пойдет ли этот код на многопроцессорной машине (и вообще - какие у него ограничения по сравнению со стандартными объектами синхронизации)
PM MAIL ICQ   Вверх
Chingachguk
Дата 21.8.2004, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 18



Это тонкий вопрос. Где-то на bugtraq.ru или wasm.ru я видел его обсуждение. В документации везде написано, что cli на нулевом уровне привилегий полностью блокирует выполняющийся код от всех внешних прерываний кроме NMI, но и его можно блокировать.

Может, уточнишь задачу ? Возможно, есть и другие решения...


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0649 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.