标签:#设备文件

共 6 篇文章

设备文件

设备文件在类Unix系统中是一个设备驱动程序的界面,并如常规文件一樣出現在文件系统中。 在微软的MS-DOS、OS-2和Windows等操作系统中也有专门的设备文件。它们允许应用程序使用设备驱动程序,通过标准输入输出系统调用与驱动程序交互,从而简化了许多任务,也带来了与设备特性、功能无关的用户级I/O。 设备文件通常为周边设备提供简单的接口,如打印机。它也可访问这些设备的特定资源,如硬盘分区。它还可以访问没有连接到任何真实设备的系统资源…

Loop设备

/dev/loop(或称vnd (vnode disk)、lofi(循环文件接口))在类Unix系统中是一种伪设备,这种设备使得文件可以如同块设备一般被访问。 在使用之前,循环设备必须与现存文件系统上的文件相关联。这种关联将提供给用户一个应用程序接口,接口将允许文件视为块特殊文件(参见设备文件系统)使用。因此,如果文件中包含一个完整的文件系统,那么这个文件就能如同磁盘设备一般被挂载。 这种设备文件经常被用于光碟或是磁盘镜像。通过循环挂载…

/dev/random

/dev/random在类UNIX系统中是一个特殊的设备文件,可以用作随机数发生器或伪随机数发生器。 实现 并不是所有操作系统中的/dev/random的实现都是相同的。以下列举了一些操作系统中的实现。 Linux Linux内核中的是第一个以背景噪声产生真正的随机数产生的实现,它允许程序访问来自设备驱动程序或其它来源的背景噪声。 1994年,美國程式設計師曹子德(Theodore Y. Ts'o)第一次在Linux内核中实现了随机数发…

/dev/zero

/dev/zero在类UNIX系统中是一个特殊的设备文件。/dev/zero在被读取时会提供无限的空字符(ASCII NUL, 0x00)。它的典型用法包括用它提供的字符流来覆盖信息,以及产生一个特定大小的空白文件。BSD就是通过mmap把/dev/zero映射到虚地址空间实现共享内存的。使用mmap将/dev/zero映射到一个虚拟的内存空间,这个操作的效果等同于使用一段匿名的内存(没有和任何文件相关)。 下面的方法可以用于清空sda…

/dev/null

/dev/null(或称空设备)在类Unix系统中是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF。 在程序员行话,尤其是Unix行话中,/dev/null被称为比特桶或者黑洞。 使用 空设备通常被用于丢弃不需要的输出流,或作为用于输入流的空文件。这些操作通常由重定向完成。 /dev/null是一个特殊文件,而不是目录,因此不能使用Unix命令mv将文件移动到其中。使用rm命令才是Uni…

/dev/full

/dev/full(或常满设备)在类Unix系统中是一个特殊设备文件,总是在向其写入时返回设备无剩余空间(错误码为ENOSPC),读取时则与/dev/zero相似,返回无限的空字符(NULL, ASCII NUL, 0x00)。这个设备通常被用来测试程序在遇到磁盘无剩余空间错误时的行为。 $ echo "Hello world" > /dev/full bash: echo: write error: No space left on …