当前位置: 首页 > 面试题库 >

可以从用户空间中找到mmap页面的脏污吗?

薛墨一
2023-03-14
问题内容

可以在Linux 2.6.30+下从用户空间访问(非共享)mmap页面的脏污吗?欢迎使用特定于平台的技巧和技巧。

理想情况下,我正在寻找一种位数组,即mmap’ed区域的每页(4kB?),如果自从对该区域进行mmap’ed处理以来已写入该页面,则将设置这些位。

(我知道,进行写入的过程可以跟踪此信息,但是如果内核仍然这样做,这样做似乎很愚蠢。)

谢谢,

克里斯。


问题答案:

请参阅/ proc / * / pagemap / proc / kpageflags接口。首先告诉您PFN的地址,其次告诉您给定PFN的脏位。

请参阅fs / proc / task_mmu.c,Documentation / vm / pagemap.txt,Documentation / vm
/ page-types.c。



 类似资料:
  • 问题内容: 我在Linux内核代码中遇到了这两个宏。我知道它们是编译器(gcc)进行分支优化的指令。我的问题是,我们可以在用户空间代码中使用这些宏吗?会进行任何优化吗?任何示例都将非常有帮助。 问题答案: 是的他们可以。在Linux内核中,它们被定义为 __builtin_expect宏是使用分支预测的特定于GCC的宏;它们告诉处理器条件是否可能为真,以便处理器可以在分支的正确“侧”上预取指令。

  • 问题内容: AngularJS开发人员指南- 表单 告诉有关表单和字段的样式和指令很多。对于每个CSS类: 和之间有什么区别? 问题答案: AngularJS开发人员指南-AngularJS使用的CSS类 @property {boolean} $ untouched如果控件尚未失去焦点,则为True。 @property {boolean} $ touched如果控件失去焦点,则为True。 @

  • 问题内容: 我正在尝试输出文件系统上的可用磁盘空间量。 如果我运行该命令,则可以通过以人为本并实际查看它来获得有关可用磁盘空间(以kb为单位)的良好信息。 我需要获取这些数据,并在我的shell脚本中的其他地方使用它。我最初考虑使用,但后来我的脚本无法移植到其他磁盘上,因为可用磁盘空间会发生变化,剪切将不会产生准确的结果。 如何仅获得示例的可用磁盘空间(以kb为单位)的输出? 问题答案: 要获取以

  • 问题内容: Linux内核内部用户内存和内核内存的区别是什么 (就给内核空间提供安全性而言)? 我可以从用户空间在内核地址空间中写入什么不同的方式? 我知道的一种方法是通过系统调用 。我们可以使用多个系统调用,但最后它们都是系统调用。即使在系统调用中,我们也将数据发送到内核空间,在此它(驱动程序或相应的模块)调用诸如copy_from_user()之类的函数将数据从用户空间复制到内核空间。在这里,

  • 问题内容: 我有一个谜题网站,并且这是一种糟糕的作弊方式。可以,即使只是部分可以,但是可以做到吗? 我想到的是用图像替换字母,但是还有什么比这更容易的吗? 问题答案: 您可以禁用它而不是禁用“查找”功能,以使“查找”不会找到单词!一种方法是使用CSS 声明注入单词。查找将找不到它们: 您也可以很容易地编写一些Javascript来自动为您生成所有必要的CSS规则。

  • 问题内容: 我知道udev在linux系统上运行,并且它通过netlink套接字接收从内核发送的uevent。 但是,我的问题是: 内核如何发出事件?它必须是通过添加/删除设备触发的,然后将事件发送给udev。内核如何做到这一点?(是否可以找到任何代码示例?) udev仅通过netlink套接字接收这些uevent。这是udev做到这一点的唯一方法。它是否正确? 当uevent从内核发出时,我知道