作者darkcc (will)
看板CSSE
标题Re: [问题] segmentation 与 paging
时间Mon Nov 17 11:18:58 2008
离上课已经有点遥远...有待补充...
segment是把程式跟资料分开那个吧...
分开之後程式归程式,资料归资料,程式是不可变动的,资料是运算过程会变动的
因此程式区块可以开唯读甚至共享,只要每个process都用自己的资料就好了
用virtual memory让程式不会直接碰到记忆体,也同样有保护作用
这样才不会有人偷偷改os或其他软体的资料...
再者由os负责协调各程式实体记忆体分配,多工才不会为了记忆体分配打架
因为看到的记忆体位置都是独立的,所以不会认床
当程式与实体记忆体没直接关联时os才可以在底层做手脚
page-in/out也是这样子才可以实现,随便找空间塞而不影响程式运作...
学到系统程式对这部分会比较清楚
※ 引述《clplusegg ()》之铭言:
: 这问题我也有在C_CPP板问 有人说可以来这问问看
: ------
: 1.发展segmentation 与 paging这两个技术的原因在哪 还有它们之间的不同处为何??
: 恐龙本上跟网路上写的我看的雾煞煞,只知道segmentation多出了base 与limit。
: 2.恐龙本还特别提到segmentation 在protection及sharing的好处
: 但paging之後发展的观念不也有加入valid-invalid及shared pages的想法?
: 还是其实两个都已经有这好处了?
: 3.关於virtual memory想问我想法有没有错
: 若是假设我现在没有virtual memory技术在,那是否就一定要整个process的资源都进到
: memory才能跑?
: 所以virtual memory是帮助process可以在用到时才把需要的page抓进来?
: 如果是这样的话那dynamic loading的想法不也是一样吗?
: -------
: 麻烦板上高手了
: 感谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.120.97.97
1F:推 clplusegg:感谢~第一点我看懂了! 第二点我还要再吸收一下OTZ! 11/19 01:50
2F:→ darkcc:不同层级的共享跟保护 11/19 10:44