我是靠谱客的博主 痴情柚子,最近开发中收集的这篇文章主要介绍[Unix学习笔记]block special files 和 character special files,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

今天在看APUE的文件类型时候,对书上的block special files 和 character special files 感到不明所以,于是去网上查阅了资料。在 http://unix.stackexchange.com 上找到了一个不错的解释。贴出来做一下笔记。

When a program reads or writes data from a file, the requests go to a kernel driver. If the file is a regular file, the data is handled by a filesystem driver and it is typically stored in zones on a disk or other storage media, and the data that is read from a file is what was previously written in that place. There are other file types for which different things happen.

When data is read or written to a device file, the request is handled by the driver for that device. Each device file has an associated number which identifies the driver to use. What the device does with the data is its own business.

Block devices (also called block special files) usually behave a lot like ordinary files: they are an array of bytes, and the value that is read at a given location is the value that was last written there. Data from block device can be cached in memory and read back from cache; writes can be buffered. Block devices are normally seekable (i.e. there is a notion of position inside the file which the application can change). The name “block device” comes from the fact that the corresponding hardware typically reads and writes a whole block at a time (e.g. a sector on a hard disk).

Character devices (also called character special files) behave like pipes, serial ports, etc. Writing or reading to them is an immediate action. What the driver does with the data is its own business. Writing a byte to a character device might cause it to be displayed on screen, output on a serial port, converted into a sound, ... Reading a byte from a device might cause the serial port to wait for input, might return a random byte (/dev/urandom), ... The name “character device” comes from the fact that each character is handled individually.

转载于:https://www.cnblogs.com/wxj233/p/6140002.html

最后

以上就是痴情柚子为你收集整理的[Unix学习笔记]block special files 和 character special files的全部内容,希望文章能够帮你解决[Unix学习笔记]block special files 和 character special files所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部