LDD:Ch 1 设备驱动程序简介

机制和策略(mechanism/policy)

机制是指要提供什么样的功能。
策略是指如何使用这些功能。

内核功能划分为以下的几个部分:

  • 进程管理,内核进程管理就是在单个/多个cpu上实现了多个进程的抽象。
  • 内存管理
  • 文件系统
  • 设备控制,也就是设备如何驱动的。
  • 网络功能。注意,所有的陆游和地址解析也是由内核来完成的。

Linux模块

linux有个很好的特性,内核提供的特性可以在运行时候扩展,也就是在内核启动后,可以向内核动态的添加/移除功能。可以在运行时候添加到内核的代码就叫做模块。
模块由目标代码组成(未link成可执行程序),用 insmod安装模块, rmmod移除模块。

设备分类

一般讲设备分为3中基本类型:

字符设备

char设备是一个像文件流一样被访问的设备。
字符设备驱动一般要实现open,close,read,write这几个基本操作。设备通过文件系统节点被访问,但是一般字符设备只能顺序访问,不能前后移动访问位置,常见的终端设备就是一个char设备。

块设备

块设备也是通过/dev目录下的文件系统节点来访问。一般块设备上会容纳文件系统,进行IO操作的时候是按照块为单位,如512字节每块进行存取。在内核中,块设备的驱动程序接口和字符设备驱动程序的接口完全不同,但是对于用户层来说这些差别被封装了。

网络接口

网络设备是以数据包为基础的,而不是基于流的,所以网络设备没有文件系统节点。内核调用一套和数据包传输相关的函数来和网络设备通信,和块设备完全不一样。

内核版本号

一般偶数编号的内核是正式版本(2.6.x),而奇数的是开发版本(2.7.x)。

内核邮件列表

linux-kernel邮件列表是linux内核开发者的聚集中心,是很重要的内核开发资料。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值