计算机操作系统--哈工大(3)
创始人
2024-06-02 05:12:20
0

多级页表与快表

2^20是地址映射的个数,即1MB,假设每一个映射需要4个字节,那么每个页表就是4MB

每个进程都需要自己的页表,所以10个进程页表就需要40MB

实际上大部分逻辑地址根本用不到

这部分终于搞懂每个数字表达什么了,感谢老师TAT

尝试一,只存放用到的页

用到的页才有页表项

但是页表中的页号不连续,所以需要比较查找折半,log(2^20)= 20,二分查找的前提是排序好的

速度会慢

尝试二,多级页表

页目录表+页表

时间换空间,空间换时间捏

快表

缓存,硬件设计可以直接根据页号找到,找到了有效的地址就叫做TLB命中

未找到就是TLB未命中,接下来就老老实实查找

程序的地址访问具有局部性,空间局部性

段页结合的实际内存管理 虚拟内存

段页同时存在:段面向用户 页面向硬件

重定位

分配段,建立段表;分配页,建立页表

过程:现在虚拟内存中割出一段空间,假装放进去(记好段表),在物理内存中找到地方,建立页表,用重定位具体的使用内存

fork函数

请求调页与内存换入

用换入换出实现大内存 请求的时候才换入然后建立映射

请求调页

发生缺页时引发中断,页错误处理程序将缺页换入,中断结束(重新执行缺页的那一页的请求)

内存换出

FIFO页面置换 先入先出

MIN算法

选最远将使用的页淘汰,是最优方案(在可预见的未来中最迟需要用到的)

LRU算法:

选最近最长一段时间没有使用的页淘汰(最近使用次数最少)

LRU准确实现 用时间戳

每次选择数字最小的那个淘汰

模拟起来很简单,但是实际放进操作系统中很难(每次地址访问都需要修改时间戳,需要维护一个全局时钟,需要找到最小值.....实现代价太大)

LRU准确实现 用页码栈

LRU近似实现-将时间计数变为是和否

将最近最少使用近似为最近是否使用

当缺页很少时

所有能指到的数字几乎都是1,没有0 .当发生缺页时,指针会转一圈将所有1换成0,然后将第一个被换成0的页牺牲,然后指向第二个页。等下一次发生缺页时又会转一整圈。这时,LRU就会退化为FIFO算法

原因:记录了太长的历史信息

方法:定时清楚R位 再定义一个扫描指针

clock算法

给进程分配多少页框(帧fream)

分配多少页合适? 分配的页数应该可以容纳一个局部

但是局部不好求 有很多求局部(工作集)的算法

相关内容

热门资讯

中证A500ETF摩根(560... 8月22日,截止午间收盘,中证A500ETF摩根(560530)涨1.19%,报1.106元,成交额...
A500ETF易方达(1593... 8月22日,截止午间收盘,A500ETF易方达(159361)涨1.28%,报1.104元,成交额1...
何小鹏斥资约2.5亿港元增持小... 每经记者|孙磊    每经编辑|裴健如 8月21日晚间,小鹏汽车发布公告称,公司联...
中证500ETF基金(1593... 8月22日,截止午间收盘,中证500ETF基金(159337)涨0.94%,报1.509元,成交额2...
中证A500ETF华安(159... 8月22日,截止午间收盘,中证A500ETF华安(159359)涨1.15%,报1.139元,成交额...
科创AIETF(588790)... 8月22日,截止午间收盘,科创AIETF(588790)涨4.83%,报0.760元,成交额6.98...
创业板50ETF嘉实(1593... 8月22日,截止午间收盘,创业板50ETF嘉实(159373)涨2.61%,报1.296元,成交额1...
港股异动丨航空股大幅走低 中国... 港股航空股大幅下跌,其中,中国国航跌近7%表现最弱,中国东方航空跌近5%,中国南方航空跌超3%,美兰...
电网设备ETF(159326)... 8月22日,截止午间收盘,电网设备ETF(159326)跌0.25%,报1.198元,成交额409....
红利ETF国企(530880)... 8月22日,截止午间收盘,红利ETF国企(530880)跌0.67%,报1.034元,成交额29.0...