读书笔记----从内核出发(2.6内核)

1 安装内核源代码方式:

解压以Linux-x.y.z.tar.bz2压缩方式的文件命令   tar xvjf Linux-x.y.z.tar.bz2

以zip解压方式  tar xvjf Linux-x.y.z.tar.gz

 

2 内核源代码树结构:

arch                      特定体系结构的源代码

crypto                   Crypto API

Documentation     内核源码文档

driver                    设备驱动程序

fs                          VFS和各种文件系统

include                  内核头文件

init                        内核引导和初始化

IPC                       进程间通信代码

kernel                   像调度程序这样的核心子系统

lib                         通用内核函数

mm                       内存管理系统和VM

net                       网络子系统

script                    编译内核所用的脚本

security                Linux安全模块

sound                  语言子系统

usr                       早期用户空间代码

 

3 内核的编译:

编译前要进体系结构的配置

基于图型编译命令 make menuconfig

配置好久可以编译,执行 make 但是如果只想看到错误和警告信息可执行

make >../some_other_file

 

 

4 模块的安装命令

make module——install 就可以把已经编译的模块安装到正确的主目录/lib下

 

5 内核开发的特点:

 内核编程时不能访问C库

 内核编程时必须使用GNU C

 内核编程时缺乏像用户空间那样的内存保护机制

 内核编程时浮点数很难使用

 内核只有一个很小的定长堆栈

 由于内核支持异步中断、抢占和SMP、因此必须时刻注意同步和并发

 

6 printk()和printf()之间的区别在于printk()允许通过指定一个标志来设置优先级

 

7 不要轻易在内核中使用浮点数

 

8 总结:Linux内核是没有内存保护和libc,比较小的堆栈和庞大的代码

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值