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
Сайт не всегда оперативно обновляется, так что лучше ориентироваться на файлы документации выложенные в каталоге с ядром.