Page 1 of 1

Именованные области

Posted: Fri Oct 23, 2009 7:29 pm
by vkos
У меня не работает выделение именованных областей памяти. Код примерно такой:

Code: Select all

mov	eax, 68
mov ebx, 22
mov ecx, str
mov edx, 0x1000
mov esi, 8
int 0x40
В результате в edx 30 (т.е нет памяти), даже если кол-во памяти снизить до 16 байт. Корректность передачи параметров проверял через отладчик.
Кто-нибудь знает, в чём здесь может быть ошибка (или же ошибка в ядре)?

Re: Именованные области

Posted: Fri Oct 23, 2009 8:37 pm
by Mario
Ядро какой ревизии?
Запрашивать меньше 4 Кб не имеет смысла, все равно менеджер потратит 4 Кб.

Re: Именованные области

Posted: Fri Oct 23, 2009 8:38 pm
by Nable
А приложение инициализировало локальную кучу? Для приложений со статическим распределением памяти (когда всё в одном блоке) работать с именованными областями нельзя, вроде так.

Re: Именованные области

Posted: Fri Oct 23, 2009 9:00 pm
by vkos
Mario
Запрашивать меньше 4 Кб не имеет смысла, все равно менеджер потратит 4 Кб.
Ну я просто на всякий случай проверил.
Nable
Спасибо, проблема была именно в этом - куча инициализировалась после именованной области.

Re: Именованные области

Posted: Fri Oct 23, 2009 9:31 pm
by vkos
Кстати, было бы очень неплохо упомянуть об этом в документации на сайте.

Re: Именованные области

Posted: Sun Oct 25, 2009 12:53 am
by Nable
В документации это упомянуто, по крайней мере в sysfunsr.txt. Я оттуда по памяти процитировал.

Re: Именованные области

Posted: Sun Oct 25, 2009 1:02 am
by Mario
Nable
Он подразумевал это

vkos
Сайт не всегда оперативно обновляется, так что лучше ориентироваться на файлы документации выложенные в каталоге с ядром.