内存管理的问题

u010669964 2014-10-16 10:24:24
程序绝对装入为什么只能用在单道程序设计中??为什么不能用在多道程序设计中
...全文
437 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lm_whales 2015-09-02
  • 打赏
  • 举报
回复
有些指令,需要绝对地址, 地址重定位,就是解决绝对地址的问题的。 相对寻址类指令地址,以及立即数寻址类指令, 纯粹的寄存器寻址类指令, 是不需要内存中的绝对地址的, 因而也就不需要重定位。 如果编译连接后的程序中,没有读写任何绝对地址(包括,编译器生成的代码), 那加载在任何地址空间,都没有问题(代码完全一样,在哪里都能运行)
u010669964 2014-10-17
  • 打赏
  • 举报
回复
把A,B,C和D的代码放在内存中不同的位置也可以啊
jwj070524 2014-10-17
  • 打赏
  • 举报
回复
多道程序设计,就是内存里同时存在程序A,B,C的代码,cpu被定期调度执行不同的代码段。如果程序装入内存的方式是绝对装入,也就是每个程序被加载到内存的位置必须是固定的(已经在二进制代码中写死了),那请问怎么在内存中同时装载ABC并不发生冲突?,如果现在不发生冲突,若以后还有程序D要跑,那又如何解决潜在的冲突?
u010669964 2014-10-17
  • 打赏
  • 举报
回复
就是程序装入内存有三种装入方式,分别是绝对装入,可重定位装入和动态运行时装入,后面两种都可用在多道程序设计中,为什么第一种不可以???
赵4老师 2014-10-17
  • 打赏
  • 举报
回复
《深入解析Windows操作系统-Windows Internals》
赵4老师 2014-10-17
  • 打赏
  • 举报
回复
《程序员的自我修养——链接、装载与库》 《Windows PE权威指南》
碼上道 2014-10-16
  • 打赏
  • 举报
回复
不太明白楼主讲什么?

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧