正在看《Linux内核设计与实现》,P18页讲到,“不要轻易在内核中使用浮点数”,他的理由说得不够详细和清楚,为什么内核实现浮点数运算那么难呢?为什么在用户空间就可以很容易实现浮点数运算呢?
Linux 内核
这个大概原因是用户进程执行浮点指令时会触发DNA异常,有对相关的浮点运算寄存器做保护。如果内核使用浮点指令,则可能会触发DNA异常破环用户的浮点栈,对当前的用户进程造成干扰,因此需要透明地使用浮点运算器。首先要判断用户使用过处理器且现场已恢复,如果是则需要手动保护相关寄存器,然后再使用。
在任何时候,交换空间都限制着当前运行着进程能够分配的虚拟页面的总数。这句话怎么理解?
如果在linux内核中编译入一些多余的内核模块会影响系统运行速度吗?
是有说spin_lock_irqsave的flag那个参数不能往函数里面传吗??
如何在netfilter捕获的数据包中获取到源mac信息
如何修改父进程fork出来的子进程名?
为了支持PAE,内核需要将页表和页目录中的表项从32位扩为64位,这是为什么?
学习Linux的几点建议
最先进的战舰也使用Linux