Linux操作系统学习(虚拟内存)

 

 

一,局部性原理

因为局部性原理,我们读一个二维数组时,则会一行一行的访问的效率会比一列一列的访问的效率高 

 

二,虚拟内存

 磁盘中划分出一部分区域作为swap space(交换空间),之前磁盘分区的时候会留一部分作为交换空间,现在都是自动划分的

 虽然可以不用担心内存不足,因为后面有硬盘作为后备内存,但是速度会很慢

硬盘上的这部门swap space就是虚拟内存

1,虚拟内存是一个允许进程不需要完全在内存中的一种技术(部分装入)

2.如果内存只有两个G,但是进程可以有4G,可以实现大进程运行

3.虚拟内存将物理内存抽象成了一个统一的,以字节为单位的存储器,将物理内存的概念和逻辑内存的概念分离开来,我们只需要管逻辑地址,不需要管物理地址够不够

4.程序员可以不用关心物理内存的限制

三,请求调页

Linux没有采用分段,二是采用分页的方案

->请求调页式的虚拟内存,所有的页面只有被请求的时候才被加载

        ①基于分页方案②在内存中的页面叫内存驻留③如果内存驻留没有所需的页,则请求调页从swap space加载到内存,并写入页表④页表中的标志位可以用来标志是否在内存中

->从没有被访问过的页面,就没有必要加载进物理内存

请求调页的步骤:

 加载M->页表标志位invalid->缺页异常->中断处理(调页)->disk中找到页面->加载到memory->更新页表->通知重新加载

 

 页面置换的算法式影响调页性能的一个方面 

四,页面置换算法

1.先进先出

 2.最优置换

3.LRU算法

五,系统抖动

如果一个进程无法拿到足够它使用的页框,会很快的发生一次缺页,而此时内存又不够用,这时就会发生页面置换,然而被调出去的页面可能也是马上要使用的,最终很快又会发生一次缺页,就这样,反复,再反复出现这种情况,每次调用出去的都是即将要用的,这种高频率的调页动作就是系统抖动。

发生抖动是,进程花在调页的的时间要远远高于进程运行的时间

 cpu的利用率跟进程的并发量有关,但是超过一定的值之后就会发生抖动,利用率会直线下降

缺页异常频率:

 根据进程的PFF值调整进程的页框数量 ,不让他的页框太多,也不让他太少。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值