www.yzc577.com为什么linux中.text 假造内存段不是从0肇始的?

( www.yzc577.com )

别的,为什么.text段关于32bit/64bit体系辨别肇始于0x08048000/0x00400000, 关于这个确定数值的取值有什么决议要素?

据我所知,这个数字没什么特别含义,这个数值便是大佬们拍脑袋定的。
文档里说:假造内存不从0末尾是为了可以预留一个充足大的read only堆,每个次序都可以在这里树立独自的2级页表。一个2级页表是0x00400000

From the Linkers and loaders book:

On 386 systems, the text base address is 0x08048000, which permits a reasonably large stack below the text while still staying above address 0x08000000, permitting most programs to use a single second-level page table. (Recall that on the 386, each second-level table maps 0x00400000 addresses.)

(看完/读完)这篇文章有何感想! www.yzc577.com的分享…

发表评论

电子邮件地址不会被公开。 必填项已用*标注