用AI控制气球导航,不怕WiFi被“吹”出服务区
|
页框号:最主要的一项,页表最主要的目的就是找到物理页号; 有效位:1表示有效,表示该表项是有效的,如果为0,表示该表项对应的虚拟页面现在不在内存中,访问该页面会引起缺页中断,缺页中断后会去物理空间找到一个可用的页框填回到页表中; 保护位:表示一个页允许什么类型的访问,可读可写还是可执行; 修改位:该位反应了页面的状态,在操作系统重新分配页框时有用,在写入一页时由硬件自动设置该位,重新分配页框时,如果一个页面已经被修改过,则必须把它这个脏页写回磁盘,如果没有被修改过,表示该页是干净的,它在磁盘上的副本依然是有效的,直接丢弃该页面即可。 访问位:该位主要用于帮助操作系统在发生缺页中断时选择要被淘汰的页面,不再使用的页面显然比正在使用的页面更适合被淘汰,该位在页面置换算法中发挥重要作用。 高速缓存禁止位:该位用于禁止该页面被高速缓存。 如何加快地址映射速度? 每次访问内存都需要进行虚拟地址到物理地址的映射,每次映射都需要访问一次页表,所有的指令执行都必须通过内存,很多指令也需要访问内存中的操作数,因此每条指令执行基本都会进行多次页表查询,为了程序运行速度,指令必须要在很短的时间内执行完成,而页表查询映射不能成为指令执行的瓶颈,所以需要提高页表查询映射的速度。 如何才能提高速度呢?可以为页表提供一个缓存,通过缓存进行映射比通过页表映射速度更快,这个缓存是一个小型的硬件设备,叫快表(TLB),MMU每次进行虚拟地址转换时,首先去TLB中查找,找到了有效的物理页框则直接返回,如果没有找到则进行正常的页表访问,页表中找到后则更新TLB,从TLB中淘汰一个表项,然后用新找到的表项替代它,这样下次相同的页面过来时可以直接命中TLB找到对应的物理地址,速度更快,不需要继续去访问页表。 这里之所以认为TLB能提高速度主要依靠程序局部性原理,程序局部性原理是指程序在执行过程中的一个较短时间,所执行的指令地址和要访问的数据通常都局限在一块区域内,这里可分为时间局部性和空间局部性: 时间局部性:一条指令的一次执行和下次执行,一个数据的一次访问和下次访问都集中在一个较短时间内; 空间局部性:当前指令和邻近的几条指令,当前访问的数据和邻近的几个数据都集中在一个较小区域内。 通过TLB可以加快虚拟地址到物理地址的转换速度,还有个问题,现在都是64位操作系统啦,有很大的虚拟地址空间,虚拟地址空间大那对应的页表也会非常大,又加上多个进程多个页表,那计算机的大部分空间就都被拿去存放页表,有没有更好的办法解决页表大的问题呢?答案是多级页表。
tips:页表为什么大?32位环境下,虚拟地址空间有4GB,一个页大小是4KB,那么整个页表就需要100万页,而每个页表项需要4个字节,那整个页表就需要4MB的内存空间,又因为每个进程都有一个自己的页表,多个进程情况下,这简直就是灾难。 这是一个很好的例子,说明了边缘计算如何使使用lpwan的物联网解决方案受益。与用于LPWAN物联网解决方案的自主车辆、智能家居或安全摄像头不同,延迟和带宽并不那么重要。在这个远程油箱监控示例中,每隔两个小时读取一次读数就足够了,所以减少毫秒级的延迟几乎不重要。 另外,每个油箱的数据量很低,只有燃油油位、电池电量和其他设备基本状态的字节数据,所以带宽峰值不受影响。 在这个例子中,云仍然扮演着一些角色。 虽然可以将某些逻辑移到边缘以节省电池寿命,但其他逻辑和分析更为数据密集型的计算更适合云计算。尽管每个储罐的数据都很低,但是来自数百万个储罐的汇总数据仍然非常庞大。将机器学习和预测性分析应用于此数据集以预测何时需要对储罐进行加注对于云而言是完美的。
此外,你可能希望根据这些预测的燃油水平,当前的道路状况和当前的燃油价格将驾驶员安排到油箱,这对于云计算来说也是完美的,在边缘没有意义。 (编辑:潍坊站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


