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和系统调用才能被用户程序接收。所以说,设备驱动是应用程序访问系统设备以及进行数据传递的桥梁和通道。

  • 相关阅读:
    使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件
    Mybatis学习 PageHelper分页插件
    mysql 5.1.7.17 zip安装 和 隔段时间服务不见了处理
    使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境
    一位资深程序员大牛给予Java初学者的学习建议
    数据结构和算法学习 -- 线性表
    多线程的实现方式区别
    Log4j.properties属性文件
    Java自定义注解
    Spring配置属性文件
  • 原文地址:https://www.cnblogs.com/yuanqiangfei/p/15685620.html
Copyright © 2011-2022 走看看