今天新学了内存管理 纠结了一天 刚才突然有点阔然开朗的感觉,就赶紧写下来,如有错误希望可以指正!
K位页内偏移量=页面大小为2^k个内存单元=A%L(那一页的第几行)
M位页号=一个进程最多允许有2^M个页面=A/L(书页号 第几页 共几页)
总之就是把进程理解成一本书,每一页就是页面。内存就是一本空白文件夹,运行时就把进程这本书的某一页复印放到内存文件夹某一个页码位置b。所以说“进程的各个页面是离散存放的,但是页面内部是连续存放的”
页表就是书和文件夹对应的目录,也放在文件夹中,页表项就是目录的每一行,由页号P和块号b组成。页号就是书本的第几页即书页号,块号就是把复印的进程的一页放到内存这本书的位置,页内偏移量W就是那一页的第几行。
逻辑地址空间A就是这本书到某一页的某一行所占的总字数。页面大小L就是一页能写多少字。所以页号P=A/L,第几行W=A%L
物理地址E就是在内存文件夹中到这一页某一行的所占的总字数,E=放在内存的哪一页b*每页的字数L+到某一行的字数W
(P.s.这本书和文件夹第一页页码Pb为0)
二级页表就是若页表很大,甚至有好几页,这时候就把这个页表也视为一本书,其他就同上了。
更新-附个自己做题时画的图 -二级页表