Linux Kernel Hack (1)
来源:互联网 发布:美国制造业回流 知乎 编辑:程序博客网 时间:2024/05/27 03:27
- Linux内核和Unix内核有什么区别?
- Linux支持动态加载内核模块。
- Linux支持SMP机制。传统Unix不支持SMP
- Linux内核可以是抢占。(Solaris and IRIX 同样支持Preemptive)
- 不区分Thread和Process。
- 忽略了Unix中一些不合适的特性。
- Linux体现了自由精神。
- 内核开发的特点。
下图为内核中基本结构和主要模块.
- 内核不能访问C库。libc太大,不适合内核开发。
- 内核开发必须使用GNU C。应为:
- 支持inline 函数
- 支持在C中嵌入汇编代码
- 分枝申明用于优化(likely() ,unlikely())
- 没有内存保护机制。内核监视用户空间的内存非法访问,并强制结束用户进程,内核本身的内存错误会导致Oops ! Kernel panic
- 不轻易使用浮点数。内核对浮点处理不是很完美,(需要人工保存和恢复浮点处理器,很繁琐) 栈的容量小而固定。32Bit机器为8K, 64位机器为16K
- 内核很容易出现race conditions。
- 中断为异步的, 不考虑当前正再执行的代码段.
- Linux内核为Preemptive.
- 内核注重可移值性. 代码应该和系统结构无关.
- Linux Kernel Hack (1)
- Linux Kernel Hack (2)
- Linux 2.6内核配置说明(13----Kernel hacking内核hack选项)
- Linux Kernel development (1)
- Kernel-mode API spying - an ultimate hack
- Kernel-mode API spying - an ultimate hack
- Kernel-mode API spying - an ultimate hack
- 《Linux Kernel Development》chapter 1 Introduction to Linux Kernel
- linux kernel reading(1)
- Linux Debugging 1 - Kernel Introduction
- Linux Kernel Memory Management (1)
- linux kernel学习 (1) - 进程
- ARMv7:Linux Kernel引导 <1>
- Hack and / - Linux Troubleshooting
- Linux Hack ,use history
- linux hack tool
- linux kernel
- Linux Kernel
- Closings in Letters and E-Mail Messages
- 为什么用委托
- 复用:太多还是太少
- FTP传输过程详解
- 关于C#值类型,引用类型,值传递,引用传递
- Linux Kernel Hack (1)
- 认识Struts
- 关于Java栈与堆的思考
- http://blog.csdn.net/Mailbomb/category/60005.aspx?PageNumber=2
- hibernate核心接口
- 网线-水晶头的制作
- Grails is a breath of fresh air for Java developers
- 使用c#建立虚拟目录
- 35岁前成功的方法