Linux内核开发的特点

概述

  1. 不能访问c库也不能访问标准的c头文件
  2. 必须使用GNU C
  3. 内核编程时缺乏像用户空间那样的内存保护机制
  4. 内核编程时难以执行浮点运算
  5. 内核给每个进程只有一个很小的定长堆栈
  6. 由于内核支持异步中断、抢占和SMP,因此必须时刻注意同步和并发
  7. 要考虑可移植性的重要性

无libc库抑或无标准头文件

对内核来说,完整的c库——哪怕是它的一个子集,都太大而且太低效了。
内核源代码文件不能包含外部头文件,就像它们不能用外部库一样。

GNU C

没有内存保护机制

如果一个用户程序试图进行一次非法的程序访问,内核就会发现这个错误,发送SIGSEGV信号,并结束整个进程。

此外,内核中的内存不分页。也就是说,每用掉一个字节,物理内存就减少一个字节。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值