作者mistel (Mistel)
看板Grad-ProbAsk
标题[理工] OS 相同资料区块共享是怎麽做到的?
时间Wed Oct 9 01:16:20 2019
https://i.imgur.com/nbxhowb.jpg
第八题
1.我只知道page很容易达成资料/程式码共享
但很难理解要怎麽把不同程式中相同的资料地址的virtual address去对到physical memory
中的同一页?
2.请问题目中的分段,分页式分段又是怎麽达到共享同一页资料呢?
另外穿插问一下计组的东西:
aliasing跟aliasing problem到底是什麽?
aliasing:一些分页被程式共享时(可能会被不同的虚拟位址存取),就有可能会发生alia
sing
《《《《为什麽不同的virtual address会存到同一页?
aliasing problem:一页的一个字组可能被快取到两个不同的地方
这又是为什麽QQ
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.137.50.75 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1570554982.A.996.html
1F:→ DLHZ: 1. table会让你能对到同一个page10/09 01:32
2F:→ DLHZ: 2. 也一样 我哪边要共用就靠table来存取同一个部分10/09 01:33
3F:推 GeniusPuddin: aliasing应该很好理解:记忆体只有一份 程式有很多个10/09 01:36
4F:→ DLHZ: aliasing指如果有两个程式a b都使用同一个page, a b可能有两10/09 01:38
5F:→ DLHZ: 个资料都在同个位址, a在修改资料也同时修改到b的造成错误10/09 01:38
6F:→ DLHZ: 如果要分享同个部分就会对到同个位址10/09 01:40
感谢两位
1、2我懂了
想问aliasing,为什麽在使用virtual address这种架构下才会造成这个问题?跟一般virtu
al转physical的关键差异是什麽?
※ 编辑: mistel (223.137.50.75 台湾), 10/09/2019 07:24:08
7F:推 ok8752665: 重点是virtual address不同 在cache的位置就不同10/09 08:46
8F:→ ok8752665: 明明对到同一个位置 写其中一个 另一个没改的话10/09 08:47
9F:→ ok8752665: 会造成inconsistent10/09 08:47
我懂了,总结一下就是因为program1跟program 2可能要同一页资料,但因为virtual addre
ss不同,所以cache抓上来的同一页可能在不同的cache block里,这样对吗?
※ 编辑: mistel (223.137.174.132 台湾), 10/09/2019 18:51:48
11F:→ ok8752665: 对阿 10/09 19:14