10.01.2013 13:22, Dmitrii Kashin пишет:
> Сегодня игрался с gdb и обнаружил интересную вещицу.
>
> Я запустил 2 экземпляра gdb с одним и тем же исполняемым файлом (назовем
> его - test). Дизассемблировал функцию main(), и обнаружил, что адреса в
> обоих экземплярах gdb - совпадают.
>
> Походу, я что-то не так понимаю. Я полагал, что когда я запускаю процесс
> - ему выделяется свое адресное пространство. И таким образом, если я
> запущу два экземпляра программы 'test', адрес функции main первого
> экземпляра должен отличаться от адреса одноименной функции второго
> экземпляра, т.к. они находятся в разных адресных пространствах.
>
> Судя по всему, что-то из этого работает не так, как мне казалось. Вот я
> и хотел бы узнать у знающих людей, что именно.
>
Прочтите что нибудь на тему защищенного режима.
Хоть в той же википедии.
Если коротко - адреса программы в непривилегированном режиме не обязаны
совпадать с адресами физической памяти.
Благодаря этому, в частности, программа может выделить себе больше
памяти чем есть физически и адресоваться к ней.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/50eeadf7.40...@mail.ru

Ответить