设备文件系统 设备文件在类Unix系统中是一个设备驱动程序的界面并如常规文件一樣出現在文件系统中 在微软的MSDOSOS和Windows等操作系统中也有专门的设备文件它们允许应用程序使用设备驱动程序通过标准输入输出系统调用与驱动程序交互从而简化了许多任务也带来了与设备特性功能无关的用户级IO 设备文件通常为周边设备提供简单的接口如打印机它也可访问这些设备的特定资源如硬盘分区它还可以访问没有连接到任何真实设备的系统资源如数据接受器和随机数生成器 在类Unix操作系统中包含两类设备节点分别为字符文件与块文件它们的区别是操作系统和硬件如何向它们读写数据它们合称为设备特定文件与之对应的是命名管道它既不连接到任何设备也不是一个文件 MSDOS的设备文件借鉴了Unix的特殊文件的概念MSDOS的早期版本并不支持文件目录层次设备文件的文件名被设定为保留字以区分普通文件新文件或新目录不能够使用这些设备文件的文件名 在支持chroot进程独立的Unix系统例如Solaris Containers中每个chroot环境中常规情况下都需要一个独立的dev它们的挂载点在主机的文件系统中各种地方显示通过限制设备节点只能放入dev内的chroot实例中chroot环境可以强制实行硬件隔离比Unix的文件系统权限还要严格的一种访问控制可以禁止特定应用程序访问或命名硬件 MSDOS通过开放设备文件的形式保证了设备包含性应用程序尝试访问正在被使用的设备时会无法访问设备节点Unix与Linux在并发控制上采取了多种设备驱动程序的原理