Linux 文件与目录管理:特殊设备、带外通信及文件事件监控
1. 特殊设备介绍
在 Linux 系统中,存在一些特殊设备,它们拥有独特的用途。以下是对这些特殊设备的详细介绍:
| 设备名称 | 设备路径 | 主设备号 | 次设备号 | 写入操作 | 读取操作 |
| — | — | — | — | — | — |
| 零设备 | /dev/zero | 1 | 5 | 内核会静默丢弃写入的数据 | 返回无限的空字节流 |
| 满设备 | /dev/full | 1 | 7 | 总是触发 ENOSPC 错误,表示设备已满 | 返回空字符 (\0) |
这些特殊设备在测试应用程序处理极端情况和问题时非常有用,例如模拟满文件系统。同时,由于零设备和空设备会忽略写入操作,它们还提供了一种无开销的方式来丢弃不需要的 I/O。
2. 随机数生成器
Linux 内核提供了两个随机数生成器设备:/dev/random 和 /dev/urandom,它们的主设备号均为 1,次设备号分别为 8 和 9。内核的随机数生成器会从设备驱动程序和其他来源收集噪声,将这些噪声连接起来并进行单向哈希处理,结果存储在熵池中。内核会对熵池中的熵位数进行估计。
- /dev/random :从该设备读取数据时,会返回熵池中的熵。这些结果适用于为随机数生成器播种、进行密钥生成等需要强加密熵的任务。每次读取请求时,内核会减少对熵池中熵量的估计。如果估计值达到零,读取操作将阻塞,直到系统生成更多的熵,且熵估计值足够满足读取请求。
- /dev/urand
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



