zoukankan      html  css  js  c++  java
  • 驱动开发--【字符设备、块设备简介】【sky原创】

    驱动开发

     
    字符设备,块设备,网络设备
     
    字符设备
    以字节流的方式访问,
    不能随机访问
    有例外,显卡、EEPROM可以随机访问
     
    EEPROM可以擦写1亿次,是一种字符设备,可以随机访问
    读写是直接访问硬件的
    flash 擦写次数有限,一百万次,容易有坏块
     
    块设备
    能随机访问
    以”块“为单位进行访问
    块大小一般为512字节
    块的大小由硬件决定
    是内核进行数据传输的基本单位
     
     
    硬盘结构:
    格式化分区是以柱面为单位的,即硬盘的柱面
    如果有10个盘面,就有十个柱面
     
    对于嵌入式设备
    如果是flash的话,结构如下:
    flash是以块为单位
    有些是页为单位,每页又有很多块
     
    字符设备和块设备根本使用的接口不同
    即两种架构
    块设备也可以用字符设备的驱动程序的架构来驱动,但是这样效率不高
     
    字符设备一般可以直接访问硬件来读取数据
     
    块设备一般要经过系统缓存来读取数据
    比如说以前的老u盘刚传完电影,直接拔下后可能读不出来这个电影,或者运行有问题,这是因为写入的时候是先写在缓存,再异步写入硬件的
     
     
    linux万物皆文件有例外,网络设备在linux中不体现为文件
    操作方式是以socket套接字的方式进行访问
     
    网络设备接收外部世界(本系统之外)的请求
     
    驱动程序的安装方法:
    1、直接编译内核
    2、需要的时候手动安装
     
     

    新浪博客:http://blog.sina.com.cn/u/2049150530
    博客园:http://www.cnblogs.com/sky-heaven/
    知乎:http://www.zhihu.com/people/zhang-bing-hua

     
     
     
     
     
  • 相关阅读:
    mac上python3安装HTMLTestRunner
    双目深度估计传统算法流程及OpenCV的编译注意事项
    深度学习梯度反向传播出现Nan值的原因归类
    1394. Find Lucky Integer in an Array
    1399. Count Largest Group
    1200. Minimum Absolute Difference
    999. Available Captures for Rook
    509. Fibonacci Number
    1160. Find Words That Can Be Formed by Characters
    1122. Relative Sort Array
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/4141879.html
Copyright © 2011-2022 走看看