内核开发 与 用户空间应用开发有很大不同。
内核编程不能访问 C库
内核编程时 必须使用GNU C
内核编程时 缺乏像用户空间那样的 内存保护机制。——很多事情需要我们自己注意,因为我们是内核。oops
内核编程时浮点数很难使用。
内核只有一个很小的定长堆栈
由于内核支持异步中断、抢占和SMP,因此必须时时注意同步和并发。
1. 不能使用用户空间的那些库。
内核虽然是 C语言编写的,但并不完全符合 ANSI C 标准。
内核 C语言涵盖了 ISO C 和 GNU C 扩展特性。