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

     
     
     
     
     
  • 相关阅读:
    vgrant使用简易教程
    php数组常用函数总结
    php面向对象基础知识整理之类中的属性和方法的使用
    apache和nginx的区别
    thinkphp发送邮箱(以thinkphp5作为示例)。
    利用html2canvas将当前网页保存为图片.
    作为一名程序员该如何思考自己的职业人生?
    js常用返回网页顶部几种方法
    如何本地搭建centos7虚拟主机?
    Spark报错
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/4141879.html
Copyright © 2011-2022 走看看