驱动工程师实现硬件对应用软件工程师的隐形。
设备驱动融入内核,在驱动程序中设计面向操作系统内核的接口,这样的接口由操作系统规定,对一类设备而言结构一致,独立于具体的设备。见下图:
驱动针对的对象是存储器和外设(包括CPU内部集成的存储器和外设),而不是针对CPU核。Linux将存储器和外设分为3个基础大类:
- 字符设备:指那些必须以串行顺序依次进行访问的设备,,如触摸屏、磁带驱动器、鼠标等;
- 块设备:可用任意顺序进行访问,以块为单位进行操作,如硬盘、软驱等,字符设备不经过系统的快速缓冲,而块设备经过系统的快速缓冲;
- 网络设备:在Linux系统中,网络设备面向数据包的接收和发送而设计,它并不对应于文件系统的节点。
源码学习是学习Linux驱动的最权威资料,阅读Linux源代码的最佳工具是Source Insight。
linux学习笔记-读《Linux设备驱动开发详解》~第一章 设备驱动概述
最新推荐文章于 2025-01-08 11:23:06 发布