大家好,欢迎来到IT知识分享网。
Intel MPK (Memory Protection Keys)
MPK是一种用户空间基于页的内存权限管理机制。
标记
权限控制
PKRU (protection key rights for user pages) 是一个32位的寄存器,用于存储每个key的访问权限。每个key具有两个对应的位(访问禁止 和 写禁止)。这些权限仅在数据访问时强制执行,而对指令提取无效。
指令RDPKRU和WRPKRU分别用于读和写PKRU,这两条指令都不是特权指令,在用户空间运行,不需要上下文切换,开销小(20cycles左右)。
硬件支持情况
与系统调用mprotect区别:
- 更新PKRU不需要系统调用,比mprotect快很多(MPK在标记页的时候需要进行系统调用)。
- MPK的保护时线程本地的,不同线程的访问权限可能不一致,与对应的PKRU有关,而mprotect会影响整个进程。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/106785.html

