地址空间重定位和链接器完成的重定位任务之间有什么区别据我所知,链接器完成的重定位任务包括将符号引用连接到符号定义的过程。地址空间当可执行文件被带入内存并且所有的地址引用都参考它被放置在内存中的地址的起始地址被解析时,重定位是关心的,而且我也想知道谁这个地址空间搬迁吗?重定位任务
Q
重定位任务
0
A
回答
1
处理器中有MMU(内存管理单元)。它为每个进程/程序提供了有限的内存空间。这就是现在程序中缓冲区溢出不能造成太大损害的原因。这样每个程序都在自己的记忆中。 OS处理这个。
编辑:
程序generaly从红色唯一位置(ROM /硬盘/闪存)上运行,他们需要堆栈临时值。对于c/C++中的情况来说,几乎可以实现,但是特殊的值被定义为char/int/long/float和数组。 这意味着链接器仅使用堆栈或程序本身中的数据(这只是一般性的只读)
当程序需要额外内存的大小无法在编译时定义它需要堆。堆被分配为白色malloc或新的(c/C++)
但是,因为从RAM读取通常比从其他类型的内存存储设备快,操作系统从RAM上的磁盘复制程序,并从那里开始执行程序。
1
是的,你说得对。操作系统中的进程加载器执行加载时重定位。它实际上充当运行时链接器。
相关问题
- 1. 重CRON任务
- 2. 与自定义任务C#任务重写功能
- 3. htaccess重定向不完整的任务
- 4. 跟踪重定向的蝗虫任务
- 5. 重定向之前运行的任务
- 6. IIS服务器重定向位置
- 7. 重新定位WCF服务端点?
- 8. QProgressBar和重任务
- 9. vb.net更新体位任务
- 10. 定位重复
- 11. 任务/预约超时后将Twilio任务重定向到新的TwiML
- 12. 将重复任务放在Grails应用程序中的位置?
- 13. IMAGE_REL_AMD64_ADDR64 64位重定位
- 14. rake任务指定
- 15. NodeJS定期任务
- 16. 锁定Java任务
- 17. rails定期任务
- 18. 定制ANT任务
- 19. Android重复性任务
- 20. 任务测序和重entracy
- 21. ADF任务流重置
- 22. scheduleWithFixedDelay并发重叠任务
- 23. 重写壳Ansible任务
- 24. Android异步任务重用
- 25. 重命名gulp任务
- 26. AngularJS - 计算重任务
- 27. spring @Scheduled 4任务重叠
- 28. 重新安排node.js任务
- 29. Android的重复任务
- 30. sencha touch重复任务
@ralu请你详细说明地址空间的重定位和由链接器完成的重定位之间的差异。??谢谢你的回答 – wantobegeek 2009-07-28 08:40:36