修改了内核函数 优化了部分代码