回复主题: 世界上顶级杀毒软件McAfee,你还会继续用卡巴吗?
作者:henvelleng

如果你不知道什么是用户态内核态,那我再简单说一下。这个其实是cpu的运行级别,用户态和内核态之间不能随意访问(不同的内核有不同的方式),地址空间完全不同

用户态的程序使用libc提供的api,并且受到libc的保护,也就是说libc会帮你擦屁股。比如说内存泄露,只要把出问题的进程关掉,泄露的内存会立即自动被释放(通常在申请heap之后会判断一下有没有申请成功,如果内存泄露到一定程度自然会申请失败),但是内核态,内存泄露就完蛋了。加上linux kernel强制使用c语言,语言本身没有构造析构特性,析构全过程要自己写,按照反序一个一个释放资源,哪怕一个设备号没有释放都会导致kernel很快的死掉



[登录后才可回复]