LDD3学习笔记(1):设备驱动简介

本文详细探讨了Linux内核中的模块与设备驱动的概念,解释了它们如何在系统运行时动态扩展内核功能,并阐述了不同类型的设备如何被分类及处理。此外,文章还强调了内存管理的安全性和内核版本的稳定性与开发状态的区别,以及版权条款的通用公共版权(GPL)。

1、几乎每个系统操作都被映射到具体的物理设备上,而任何设备的控制操作都由特定于要寻址的相关代码来进行,这些代码成为设备驱动。

2、linux可以在运行时扩展由内核提供的特性,既可以在系统运行时增加内核的功能(也可以删除)。

3、每块可以在运行时添加到内核的代码称为一个模块,每个模块由目标代码组成(既功能的实现)。

4、linux将设备分为三种基本类型:字符设备、块设备、网络设备。典型的字符设备如:/dev/tty1(串口),块设备如:/dev/sda(磁盘),网络设备如:eth0(网卡),在这里需要说明的是linux对网络设备(接口的)处理方式同普通的字符和块设备不同,不用进行read和write,同时linux没有将网络设备具体映射到一个设备节点,虽然有名字例如eth0,但是这个名字在文件系统中没有相应的入口,内核与网络设备驱动间的通讯是通过调用和报文相关传递相关的函数。

5、安全问题。从内核获取的内存都应该清零,或者初始化。在系统启动后可以通过capability机制来禁止内核加载模块,但是你需要具备一定的权限。

6、版本问题。偶数的内核版本通常是稳定版本(2.6.x),奇数版本通常是开发快照或者测试版本(2.7.X),代表了当前的开发状态。

7、版权条款。通用公共版权( GPL )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值