linux 设备管理
设备文件
$ ls -l
brw-rw---- 1 root disk 8, 1 Sep 6 08:37 sda1
crw-rw-rw- 1 root root 1, 3 Sep 6 08:37 null
prw-r--r-- 1 root root 0 Mar 3 19:17 fdata
srw-rw-rw- 1 root root 0 Dec 18 07:43 log
字符b(block)、c(character)、p(pipe) 和s(socket)代表设备文件
块设备
程序从块设备中按固定的块大小读取数据。是块设备的一种。我们能够轻松地将磁盘划分成数据区块。因为磁盘的容量是固定的,索引起来也很方便,所以进程能够通过内核访问磁盘上的任意区块。
字符设备
字符设备处理流数据。你只能对字符设备读取和写入字符数据,如前面例子中的/dev/null。 字符设备没有固定容量,当你对字符设备进行读写时,内核对相应的设备进行读写操作。字符设备的一个例子是打印机,值得注意的是,内核在流数据送达设备和进程后不会备份和再次验证。
管道设备
命名管道设备和字符设备类似,不同的是输入输出端不是内核驱动程序,而是另外一个进程。
套接字设备
套接字设备是跨进程通信经常用到的特殊接口。它们经常会存放于/dev目录之外。套接字文件代表Unix域套接字,