zoukankan      html  css  js  c++  java
  • 八、linux设备分为哪几类。

    1、linux设备

    Linux系统中的设备可以分为字符设备块设备网络设备这3类。
    (1)字符设备

      字符设备是能够像字节流一样被访问的设备,当对字符设备发出读写请求,相应的IO操作立即发生。Linux系统中很多设备都是字符设备,如字符终端、串口、键盘、鼠标等。在嵌入式Linux 开发中,接触最多的就是字符设备以及驱动。
    (2)块设备

      块设备是Linux系统中进行TO操作时必须以块为单位进行访问的设备,块设备能够安装文件系统。块设备驱动会利用一块系统内存作为缓冲区,因此对块设备发出读写访问,并不一定立即产生硬件I/O操作。Linux系统中常见的块设备有如硬盘、软驱等等。
    (3)网络设备

      网络设备既可以是网卡这样的硬件设备,也可以是一个纯软件设备如回环设备。网络设备由Linux的网络子系统驱动,负责数据包的发送和接收,而不是面向流设备,因此在Linux系统文件系统中网络设备没有节点。对网络设备的访问是通过socket调用产生,而不是普通的文件操作如 open/closc和 read/write等。

    2、驱动在linux中的地位

      驱动是Linux系统中设备和用户之间的桥梁,Linux系统中,访问设备必须通过设备驱动进行操作,用户程序是不能直接操作设备的。Linux系统中硬件、驱动和用户程序的关系如图2.2所示。

     

      驱动程序运行与内核空间,用户程序只能通过内核提供的系统调用,由经VFS 以及驱动程序才能访问和操作硬件,硬件设备传递的数据也必须经过驱动、VFS和系统调用才能被用户程序接收。所以说,设备驱动是应用程序访问系统设备以及进行数据传递的桥梁和通道。

  • 相关阅读:
    oracle 导入数据时提示只有 DBA 才能导入由其他 DBA 导出的文件
    oracle 常用语句
    android udp 无法收到数据 (模拟器中)
    android DatagramSocket send 发送数据出错
    AtCoder ABC 128E Roadwork
    AtCoder ABC 128D equeue
    AtCoder ABC 127F Absolute Minima
    AtCoder ABC 127E Cell Distance
    CodeForces 1166E The LCMs Must be Large
    CodeForces 1166D Cute Sequences
  • 原文地址:https://www.cnblogs.com/yuanqiangfei/p/15685620.html
Copyright © 2011-2022 走看看