【tips】flash,字符设备与块设备 I/O 操作的不同
发布时间:2020-12-15 17:26:50 所属栏目:百科 来源:网络整理
导读:?http://blog.chinaunix.net/uid-9525959-id-2980833.html Flash 的编程原理都是只能将 1 写为 0,而不能将 0 写为 1。所以在 Flash 编程之 前,必须将对应的块擦除,而擦除的过程就是把所有位都写为 1 的过程,块内的所有 字节变为 0xFF。 ?? 字符设备与块
?http://blog.chinaunix.net/uid-9525959-id-2980833.html Flash 的编程原理都是只能将 1 写为 0,而不能将 0 写为 1。所以在 Flash 编程之 前,必须将对应的块擦除,而擦除的过程就是把所有位都写为 1 的过程,块内的所有字节变为 0xFF。 ?? 字符设备与块设备 I/O 操作的不同如下。 ? (1)块设备只能以块为单位接受输入和返回输出,而字符设备则以字节为单位。 大多数设备是字符设备,因为它们不需要缓冲而且不以固定块大小进行操作。 ? (2)块设备对于 I/O 请求有对应的缓冲区,因此它们可以选择以什么顺序进行响 应,字符设备无须缓冲且被直接读写。对于存储设备而言调整读写的顺序作用巨大, 因为在读写连续的扇区比分离的扇区更快。 ? (3)字符设备只能被顺序读写,而块设备可以随机访问。虽然块设备可随机访问, 但是对于磁盘这类机械设备而言,顺序地组织块设备的访问可以提高性能,如图 13.1 所示,对扇区 1、10、3、2 的请求被调整为对扇区 1、2、3、10 的请求。而对 SD 卡、 RamDisk 等块设备而言,不存在机械上的原因,进行这样的调整没有必要。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |