精华内容
下载资源
问答
  • linux设备分类

    千次阅读 2014-01-19 16:35:19
    linux驱动程序分为三类 1、字符设备 steam方式,顺序访问,没有缓冲 2.、块设备 block方式,随机访问,有缓冲 3、网络设备 破坏了linux设备的规则(任何设备可以按文件访问),是通过socket调用的,所以单独列...

    linux驱动程序分为三类

    1、字符设备 steam方式,顺序访问,没有缓冲

    2.、块设备 block方式,随机访问,有缓冲

    3、网络设备 破坏了linux设备的规则(任何设备可以按文件访问),是通过socket调用的,所以单独列出来。

    展开全文
  • Linux设备驱动分类

    2020-03-26 23:31:18
    Linux系统的设备分为字符设备(char device),块设备(block device)和网络设备(network device)种。 字符设备是指存取时没有缓存的设备。块设备的读写都有缓存来支持,并且块设备必须能够随机存取(random access),...

    Linux系统的设备分为字符设备(char device),块设备(block device)和网络设备(network device)三种。

    字符设备是指存取时没有缓存的设备。块设备的读写都有缓存来支持,并且块设备必须能够随机存取(random access),字符设备则没有这个要求。典型的字符设备包括鼠标,键盘,串行口等。块设备主要包括硬盘软盘设备,CD-ROM等。一个文件系统要安装进入操作系统必须在块设备上。

    网络设备在Linux里做专门的处理。Linux的网络系统主要是基于BSD unix的socket机制。在系统和驱动程序之间定义有专门的数据结构(sk_buff)进行数据的传递。系统里支持对发送数据和接收数据的缓存,提供流量控制机制,提供对多协议的支持。

    展开全文
  • Linux 设备文件分类

    千次阅读 2015-08-21 13:50:27
    Linux 的一个重要特点就是将所有的设备都当做文件进行处理,这一类特殊文件就是设备...Linux系统的设备文件分为三类:块设备文件、字符设备文件和网络设备文件。 · 块设备文件通常指一些需要以块(如512 字节)的

    Linux 的一个重要特点就是将所有的设备都当做文件进行处理,这一类特殊文件就是设备文件,它们可以使用前面提到的文件、I/O 相关函数进行操作,这样就大大方便了对设备的处理。它通常在/dev 下面存在一个对应的逻辑设备节点,这个节点以文件的形式存在。


    Linux系统的设备文件分为三类:块设备文件、字符设备文件和网络设备文件。


    · 块设备文件通常指一些需要以块(如512 字节)的方式写入的设备,如IDE 硬盘、SCSI硬盘、光驱等。


    · 字符型设备文件通常指可以直接读写,没有缓冲区的设备,如并口、虚拟控制台等。


    · 网络设备文件通常是指网络设备访问的BSD socket接口,如网卡等。


    设备号

    设备号是一个数字,它是设备的标志。就如前面所述,一个设备文件(也就是设备节点)可以通过mknod命令来创建,其中指定了主设备号和次设备号。主设备号表明某一类设备,一般对应着确定的驱动程序;次设备号一般是用于区分标明不同属性,例如不同的使用方法,不同的位置,不同的操作等,它标志着某个具体的物理设备。高字节为主设备号和底字节为次设备号。例如,在系统中的块设备IDE 硬盘的主设备号是3,而多个IDE 硬盘及其各个分区分别赋予次设备号1、2、3……


    驱动层次结构


    Linux 下的设备驱动程序是内核的一部分,运行在内核模式,也就是说设备驱动程序为内核提供了一个I/O 接口,用户使用这个接口实现对设备的操作。下面显示了典型的Linux 输入/输出系统中各层次结构和功能。


    Linux设备驱动程序包含中断处理程序和设备服务子程序两部分。设备服务子程序包含了所有与设备操作相关的处理代码。它从面向用户进程的设备文件系统中接受用户命令,并对设备控制器执行操作。这样,设备驱动程序屏蔽了设备的特殊性,使用户可以像对待文件一样操作设备。


    设备控制器需要获得系统服务时有两种方式:查询和中断。因为Linux 下的设备驱动程序是内核的一部分,在设备查询期间系统不能运行其他代码,查询方式的工作效率比较低,所以只有少数设备如软盘驱动程序采取这种方式,大多设备以中断方式向设备驱动程序发出输入/输出请求。


    设备驱动程序与外界的接口


    每种类型的驱动程序,不管是字符设备还是块设备都为内核提供相同的调用接口,因此内核能以相同的方式处理不同的设备。Linux 为每种不同类型的设备驱动程序维护相应的数据结构,以便定义统一的接口并实现驱动程序的可装载性和动态性。Linux 设备驱动程序与外界的接口可以分为如下三个部分。


    · 驱动程序与操作系统内核的接口:这是通过数据结构file_operations(来完成的。


    · 驱动程序与系统引导的接口:这部分利用驱动程序对设备进行初始化。


    · 驱动程序与设备的接口:这部分描述了驱动程序如何与设备进行交互,这与具体设备密切相关。


    设备驱动程序的特点


    综上所述,Linux中的设备驱动程序有如下特点。


    (1)内核代码:设备驱动程序是内核的一部分,如果驱动程序出错,则可能导致系统崩溃。


    (2)内核接口:设备驱动程序必须为内核或者其子系统提供一个标准接口。比如,一个终端驱动程序必须为内核提供一个文件I/O 接口;一个SCSI设备驱动程序应该为SCSI子系统提供一个SCSI设备接口,同时SCSI子系统也必须为内核提供文件的I/O 接口及缓冲区。


    (3)内核机制和服务:设备驱动程序使用一些标准的内核服务,如内存分配等。


    (4)可装载:大多数的Linux 操作系统设备驱动程序都可以在需要时装载进内核,在不需要时从内核中卸载。


    (5)可设置:Linux 操作系统设备驱动程序可以集成为内核的一部分,并可以根据需要把其中的某一部分集成到内核中,这只需要在系统编译时进行相应的设置即可。


    (6)动态性:在系统启动且各个设备驱动程序初始化后,驱动程序将维护其控制的设备。
    如果该设备驱动程序控制的设备不存在也不影响系统的运行,那么此时的设备驱动程序只是多占用了一点系统内存罢了。


    字符设备驱动编写流程

    在上一节中已经提到,设备驱动程序可以使用模块的方式动态加载到内核中去。加载模块的方式与以往的应用程序开发有很大的不同。以往在开发应用程序时都有一个main函数作为程序的入口点,而在驱动开发时却没有main 函数,模块在调用insmod 命令时被加载,此时的入口点是init_module函数,通常在该函数中完成设备的注册。同样,模块在调用rmmod函数时被卸载,此时的入口点是cleanup_module函数,在该函数中完成设备的卸载。在设备完成注册加载之后,用户的应用程序就可以对该设备进行一定的操作,如read、write等,而驱动程序就是用于实现这些操作,在用户应用程序调用相应入口函数时执行相关的操作,init_module入口点函数则不需要完成其他如read、write之类功能。


    展开全文
  • Linux设备驱动程序分类转

    千次阅读 2008-10-29 17:08:00
    1.1 Linux设备驱动程序分类 Linux设备驱动程序在Linux的内核源代码中占有很大的比例,源代码的长度日益增加,主要是驱动程序的增加。在Linux内核的不断升级过程中,驱动程序的结构还是相对稳定。在2.0.xx到2.2.xx的...
    1.1 Linux设备驱动程序分类

      Linux设备驱动程序在Linux的内核源代码中占有很大的比例,源代码的长度日益增加,主要是驱动程序的增加。在Linux内核的不断升级过程中,驱动程序的结构还是相对稳定。在2.0.xx到2.2.xx的变动里,驱动程序的编写做了一些改变,但是从2.0.xx的驱动到2.2.xx的移植只需做少量的工作。

      Linux系统的设备分为字符设备(char device),块设备(block device)和网络设备(network device)三种。字符设备是指存取时没有缓存的设备。块设备的读写都有缓存来支持,并且块设备必须能够随机存取(random access),字符设备则没有这个要求。典型的字符设备包括鼠标,键盘,串行口等。块设备主要包括硬盘软盘设备,CD-ROM等。一个文件系统要安装进入操作系统必须在块设备上。

      网络设备在Linux里做专门的处理。Linux的网络系统主要是基于BSD unix的socket机制。在系统和驱动程序之间定义有专门的数据结构(sk_buff)进行数据的传递。系统里支持对发送数据和接收数据的缓存,提供流量控制机制,提供对多协议的支持。

    1.2 编写驱动程序的一些基本概念

      无论是什么操作系统的驱动程序,都有一些通用的概念。操作系统提供给驱动程序的支持也大致相同。下面简单介绍一下网络设备驱动程序的一些基本要求。

       1.2.1 发送和接收

      这是一个网络设备最基本的功能。一块网卡所做的无非就是收发工作。所以驱动程序里要告诉系统你的发送函数在哪里,系统在有数据要发送时就会调用你的发送程序。还有驱动程序由于是直接操纵硬件的,所以网络硬件有数据收到最先能得到这个数据的也就是驱动程序,它负责把这些原始数据进行必要的处理然后送给系统。这里,操作系统必须要提供两个机制,一个是找到驱动程序的发送函数,一个是驱动程序把收到的数据送给系统。是驱动程序把收到的数据送给系统。

       1.2.2 中断

      中断在现代计算机结构中有重要的地位。操作系统必须提供驱动程序响应中断的能力。一般是把一个中断处理程序注册到系统中去。操作系统在硬件中断发生后调用驱动程序的处理程序。Linux支持中断的共享,即多个设备共享一个中断。

       1.2.3 时钟

      在实现驱动程序时,很多地方会用到时钟。如某些协议里的超时处理,没有中断机制的硬件的轮询等。操作系统应为驱动程序提供定时机制。一般是在预定的时间过了以后回调注册的时钟函数。在网络驱动程序中,如果硬件没有中断功能,定时器可以提供轮询(poll)方式对硬件进行存取。或者是实现某些协议时需要的超时重传等。
    展开全文
  • Linux驱动是用户访问底层硬件的桥梁,驱动有可以简单分成三类: 字符设备、 块设备、 网络设备。 其中最多的是字符设备,其中字符设备的注册方法主要有三种: 杂项设备注册、 早期字符设备注册、 标准字符设备注册...
  • Linux 中,根据设备的类型可以分为三类:字符设备、块设备、网络设备。 字符设备: 应用程序按字节/字符来读写数据,通常不支持随机存取。我们常用的键盘、串口、I2C、SPI、音频都是字符设备。 块设备: 应用...
  • Linux系统中设备分类

    千次阅读 2018-04-24 18:02:33
    一般来说,Linux设备驱动程序分为4种:字符设备,块设备,网络设备及其他设备。其中字符设备和块设备可以像文件一样被访问。例如:驱动程序通常会实现open, close, write, read, seek等操作。网络设备Linux系统...
  • Linux设备节点、设备和设备驱动

    千次阅读 2017-09-15 14:44:38
    Linux设备分成三种基本类型: 字符设备块设备网络设备 设备驱动程序也分为对应的三类:字符设备驱动程序、块设备驱动程序和网络设备驱动程序。 设备节点相当于硬盘的inode一样的东西,立面记录了硬件设备的位置和...
  • Linux字符设备驱动注册种方法以及内核分析

    千次阅读 多人点赞 2018-10-07 15:59:38
    Linux驱动是用户访问底层硬件的桥梁,驱动有可以简单分成三类:字符设备、块设备、网络设备。其中最多的是字符设备,其中字符设备的注册方法主要有三种:杂项设备注册、早期字符设备注册、标准字符设备注册。以及...
  • linux 设备

    千次阅读 2017-09-01 22:19:36
    linux 设备树参考地址 http://blog.csdn.net/green1900/article/details/45646095 http://www.cnblogs.com/xiaojiang1025/p/6131381.html http://blog.csdn.net/21cnbao/article/details/84575461.为什么要使用...
  • linux设备驱动归纳总结(三):1.字符型设备之设备申请 ...操作系统:Ubunru 10.04 ...注:在今后驱动程序的学习中经常需要查看内核源代码,建议大家新加一个内核目录,去掉一些与S3C2440...内核驱动大致分为三类
  • Linux驱动()字符设备驱动框架

    千次阅读 2017-12-26 21:13:34
    现在我们来说一说字符设备驱动,我们一般讲驱动分为三类,字符设备、块设备、网络设备。字符设备和块设备是按照传输时的基本单位来划分的,字符设备就是传输时是按字符来传输的,比如串口、GPIO、SPI等。字符设备如...
  • Linux设备节点,驱动及设备

    千次阅读 2014-12-03 14:14:19
    Linux设备分成三种基本类型: 字符设备块设备网络设备 设备驱动程序也分为对应的三类:字符设备驱动程序、块设备驱动程序和网络设备驱动程序。 在Linux中,所有设备都以文件的形式存放在/dev目录下,都是通过文件的...
  • Linux设备驱动之字符设备(一)

    千次阅读 2016-06-22 15:27:59
    Linux中设备驱动的分类从上图可以看到Linux系统将各异的设备分为三:字符设备,块设备和网络设备。内核针对每一设备都提供了对应驱动模型架构,包括基本的内核设施和文件系统接口。字符设备:在传送过程中以...
  • linux设备分为三:字符设备,块设备和网络设备。
  • Linux设备管理

    2012-12-23 17:10:15
    按照设备的所属关系,将I/O设备分为以下两种: 1.系统设备 系统生成时登记于系统中的标准设备,属于系统的基本配置 2.用户设备 系统生成时未登记在系统中的非标准设备 按照设备信息交换的数据单位分类: 1....
  • Linux字符设备驱动

    千次阅读 2017-08-27 18:36:35
    1. Linux设备类型Linux内核中的设备可分为三类:字符设备、块设备和网络设备。 字符设备(Character device):适合面向字符的数据交换,因其数据传输量较低。对这种设备的读写是按字符进行的,而且这些字符是连续...
  • Linux无线设备驱动
  • linux设备管理

    千次阅读 2013-11-18 10:35:02
    Linux设备管理 Linux设备管理的主要任务是控制设备完成输入输出操作,所以又称输入输出(I/O)子系统。 它的任务是把各种设备硬件的复杂物理特性的细节屏蔽起来,提供一个对各种不同设备使用...
  • 课:linux内核对设备树的处理

    万次阅读 多人点赞 2018-11-22 11:52:55
    前面我们从内核文档了解到,对于设备树,它里面描述的信息可以分为部分: Linux uses DT data for three major purposes: platform identification, runtime configuration, and device population. 事实...
  • Linux设备驱动之字符设备驱动

    万次阅读 多人点赞 2016-07-01 19:36:15
    一、linux系统将设备分为3:字符设备、块设备、网络设备。 应用程序调用的流程框图: 种设备的定义分别如下, 字符设备:只能一个字节一个字节的读写的设备,不能随机读取设备内存中的某一数据,读取...
  • 五.linux设备驱动模型

    2019-09-29 16:19:14
    一.linux 设备驱动模型简介 1.1、 什么是设备驱动模型 1.2、 为什么需要设备驱动模型 1.3、 驱动开发的2个点 二.设备驱动模型的底层架构 2.1、kobject结构体 2.2、kobj_type结构体 2.3、kset结构体 .总线...
  • linux字符设备驱动框架(

    万次阅读 2018-11-21 10:56:53
    版权声明:本文为博主原创文章,未经博主允许不得转载。 ... 一、字符设备基础知识 1、设备驱动分类 ... linux系统将设备分为3:字符设备、块设备...
  • LINUX查看已注册设备

    千次阅读 2018-11-26 17:04:59
    Linux系统中,设备分为三类,字符设备,块设备和网络设备; 查看已注册的设备号使用命令:cat /proc/devices
  • (1)驱动框架 Linux将所有外部设备看成是一特殊文件,称之为“设备文件”,如果说系统调用是Linux内核和应用程序之间的接口,那么设备驱动程序则可以看成是Linux内核与外部设备之间的接口。设备驱动程序向应用...
  • linux设备驱动(一)

    万次阅读 2020-01-08 15:47:24
    文章目录基本概念什么是设备驱动无操作系统下的驱动有操作系统下的驱动linux设备分类字符设备块设备网络设备内核的组成源码目录结构内核主要组成部分进程调度SCHED内存管理MM虚拟文件系统VFS网络接口NET进程间通信...
  • Linux设备驱动简介

    2015-08-28 21:39:57
    设备驱动按照设备的功能来分类,可以分为三类: ①字符设备 ②块设备 ③网络接口
  • linux驱动–字符设备注册与驱动参数传递设备驱动介绍上文中讲到,设备驱动分为三类,分别为:字符类设备、块类的设备、网络设备等。从Linux 2.6起引入了一套新的驱动管理和注制:Platform_device和Platform_driver。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 91,510
精华内容 36,604
关键字:

linux的设备分为三类

linux 订阅