notes-in-BUPT-SSE

OS Lecture7 :Main Memory


start from page 58 ppt

TLB

  是为了解决每次执行指令都需要两次访问内存 
  命中--> 一次块表 + 一次内存 访问   
没命中--> 一次块表+两次内存 访问

计算 有效访问时间EAT

p58

memory protection

protection bit

  valid/invalid bit attached to each entry in the page table  

PTBR

       页表基址寄存器   PTLR

       页表线长寄存器  

share pages

copy -> waste

share page ->

Structure of the page table

如果一个进程就超过了最大页表量该怎么办?

二级页表需要访问3次内存

访问内存次数增长快,怎么办?

Segmentation

STBR …基址…
STLR …线长…

segment table: base + limit

           base(contains the starting physical address where the segments reside in memory)  
           limit(specifies the length of segment)  
           不能直接映射,因为页表页的大小一样可以随便映射,但是段的大小不一,不能直接映射。

与分页最大的不同是? 不是叠加而是直接相加,因为得到的直接是基地址,而不是物理页框号

##总结

         分页:面向系统 离散 解决了外部碎片 但是存在少量内部碎片 提高了内存利用率 页是最小单元 依赖硬件 维度是1维的
         分段:面向用户 离散 段是最小单元 依赖程序本身 维度是2维的  

分段分页都涉及到了 操作系统,cpu,用户程序, 第一件事就是分离地址工作,是谁做的,cpu做的(上面的mmu), 第二件事是查表映射,是谁做的,cpu做的(上面的mmu),
第三件事是页表段表内容的更新,操作系统做的 第四件事是叠加(或直接相加),cpu做的。

操作系统做了什么?
页表段表内容的更新