免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1045 | 回复: 0
打印 上一主题 下一主题

《Linux设备驱动程序》(第三版)学习笔记(1)设备驱动程序简介 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-20 19:57 |只看该作者 |倒序浏览

                                                                第一章 设备驱动程序简介
作者:蔡伦辉
写在前面
作者一直支持GPL的精神。允许任何人自由使用、转载、复制和再分发,但必须保留作者署名,必须保证全文完整转载,包括完整的版权声明。
由于作者水平有限,因此不能保证文章内容准确无误,请批判阅读。如果你发现任何错误或对文章内容有任何建议,欢迎你与我联系:
Email: caiallen@tom.com  QQ群: 14765968
设备驱动程序的作用
设备驱动程序的作用是提供机制(需要提供什么功能),而不是提供策略(如何使用这些功能)。
内核功能划分
内核功能分为:
    1。进程管理
    2。内存管理
    3。文件系统
    4。设备控制
    5。网络功能
设备和模块的分类
Linux系统将设备分成三种基本类型,每个模块通常实现为其中某一类:字符模块,块模块或网络模块。
字符设备
    字符设备可以通过文件系统节点来访问。设备文件和普通文件之间的唯一差别在于对普通文件的访问可以前后移动访问位置,而大多数字符设备是一个只能顺序访问的数据通道。
块设备
    块设备也是通过文件系统节点来访问。Linux可以让应用程序像字符设备一样读写块设备,允许一次传递任意多字节的数据。因而,块设备和字符设备的区别仅仅在于内核内部管理数据的方式,也就是内核及驱动程序之间的软件接口,而这些对用户来说是透明的。
网络设备
    如何网络事务都经过一个网络接口形成。这个接口是个硬件设备,也可以是个纯软件设备。网络接口由内核中的网络子系统驱动,负责发送和接收数据包。网络驱动程序不需要知道各个连接的相关信息,它只要处理数据包即可。网络驱动程序在文件系统中不存在对应的节点。内核和网络设备驱动程序间的通信,完全不同于内核和字符以及块驱动程序之间的通信,内核调用一套和数据包传输相关的函数而不是read,write等。
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/51650/showart_426914.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP