内核可以在Linux中使用虚拟内存
发布时间:2020-12-13 22:51:08 所属栏目:Linux 来源:网络整理
导读:参见英文答案 What can cause segmentation faults in C++? [closed]????????????????????????????????????9个 我的问题是linux内核是否可以使用虚拟内存,还是总是使用固定内存?另一个问题是,如果由于某些软错误,内核内存已损坏,会发生什么呢? Linux有没有
参见英文答案 >
What can cause segmentation faults in C++? [closed]????????????????????????????????????9个
我的问题是linux内核是否可以使用虚拟内存,还是总是使用固定内存?另一个问题是,如果由于某些软错误,内核内存已损坏,会发生什么呢? Linux有没有任何机制来保护自己免受此类错误的侵害? 解决方法
内核使用虚拟地址.分配的内存,函数指针等…都是虚拟地址.您只能在与某些设备通话或执行某种DMA时操纵物理地址.
“Linux”或“Linux内核”在许多架构上运行.这些架构中的一些可以具有存储器错误检测或校正硬件.我不知道这些设备是如何支持的. 但你说的是软错误.在随机地址中没有内核代码写入的保护.有些函数会测试它们捕获bug的参数,但如果你在内核模式下溢出缓冲区或堆栈,那么就会发生各种有趣的事情. Const数据和代码通常放在只读页面中,以便可以检测到写入. >在某些地方进行参数检查. 只读属性是可能的,因为内核使用虚拟内存 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |