美文网首页
第2章 从内核出发

第2章 从内核出发

作者: 涵仔睡觉 | 来源:发表于2020-11-08 16:33 被阅读0次

    内核开发的特点:

    • 内核编程时既不能访问C库也不能访问标准C头文件(大部分常用的C库函数在内核中都已经得到实现)
    • 内核编程时必须使用GNU C(内核开发者总要用到gcc提供的语言扩展部分,而gcc是多种GNU编译器的集合),内核中C语言的扩展部分包含:
      • 内联函数
      • 内联汇编:使用asm()指令在C函数中嵌入汇编指令
      • 分支声明:对于条件选择语句,gcc内建一条指令用于优化,在一个条件经常出现(likely()宏)或很少出现(unlikely()宏),编译器可以根据这条指令对于条件分支选择进行优化。
    • 缺乏像用户空间那样的内存保护机制
    • 难以执行浮点运算
    • 内核给每一个进程只有一个很小的定长堆栈
    • 由于内核支持异步中断、抢占和SMP,因此必须时刻注意同步和并发
    • 要考虑可移植性的重要性(如保持字节序、64位对齐、不假定字长和页面长度等)

    相关文章

      网友评论

          本文标题:第2章 从内核出发

          本文链接:https://www.haomeiwen.com/subject/jwshbktx.html