该磁盘可能被另一个进程锁定。_Linux内存子系统——Locking Pages(内存锁定)

2d304d242ecdb57132fd7f22ee794de9.png

作者:Velscode

出自:博客园

原文:cnblogs.com/velscode/p/13681890.html


为什么需要锁定内存

一个背景知识pagefault

用户在分配出一部分虚拟内存时,其背后可能并没有真正的物理内存与之对应,只有在用户真正需要访问内存时,系统才会为这段虚拟内存分配实际的物理内存,这个过程叫做pagefault(缺页异常)。这个过程对用户来说是不感知的,所以用户可以总是假定他要使用的虚拟内存背后有实际的物理内存

1. 速度

当用户只是执行简单的内存访问时,pagefault流程对用户来说虽然是不感知的,耗时可以忽略不记,但是对于一些时间敏感型进程,尤其是实时进程,可能无法容忍执行速度的下降。

这种情况下,程序员可以先把所需要使用到的内存全部锁定,为它们提前分配好实际的物理内存,这样在访问时,就可以省去pagefault流程,提升程序执行速度。

2. 安全

如果你把一些秘密存放在虚拟内存中(比如用户输入的密码),当虚拟内存被swap到磁盘后,就可能导致泄露。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值