Audio Devices: /dev/snd/*, /dev/dsp, /dev/audio
有两套设备,一套是/dev/snd/*,由advanced linux sound achitecture system interface 使用;另一套是/dev/dsp,/dev/audio,由open sound system 使用。
把wav文件放到/dev/dsp目录下,可能被直接播放。
用户空间的 pulsestudio 把各种音源同设备联通。
Device File Creation
设备文件一般不需要我们创建,他们由Udev 和 devtmpfs创建。
mknode /dev/sda1 b 8 1 (a block device with a major Num 8 and a minor Num 1)
系统更新会创建更多的设备和major minor number。为方便管理,我们使用makedev来创建文件
devfs 是最初的尝试。因为它由缺陷,所以很快有了udev和devtmpfs。
udev
1.内核发现了设备
2.通知udevd,udevd 获取设备特性
3.udevd 创建设备文件,完成初始化
systemd-udevd 是udev的系统进程名
在启动阶段,设备文件是被需要的,所以udevd需要执行的非常快,才不会影响系统启动
devtmpfs
devtmpfs 是用来应对 系统启动的时候 需要设备可见。
The kernel 创建了 Device files, 然后 它通知 udevd。接着udevd 做 device initialization, 设置权限,和通知其他进程。
udevd 会在 /dev/disk/by-id 创建链接, 指向
disk 和 disk partition。这些链接的命名 由 interface type, manufacturer, model information, serial number 和 partition 组成.
devtmpfs 创建的文件系统,是在 memory 里。其他 processes can read/write it.