6.3.4.5. 其他¶
6.3.4.5.1. 设备号¶
Linux系统中一个设备号由主设备号和次设备号构成,Linux内核用主设备号来定位对应的设备驱动程序(即是主设备找驱动),而次设备号用来标识它同个驱动所管理的若干的设备(次设备号找设备)。设备号可以通过 /proc/devices
查看。
6.3.4.5.2. TTY/PTS¶
在计算机早期,人们将一种被称作teletype的设备连到计算机上,作为计算机的终端,使得人们可以操作计算机。计算机为了支持这些teletype,于是设计了名为TTY的子系统。而后随着计算机技术的不断发展,teletype这些设备逐渐消失,但是内核TTY驱动这一架构没有发生变化,和系统中的进程进行I/O交互时还是需要通过TTY设备,于是出现了各种终端模拟软件。tty理解成一个管道(pipe),将输入输出连接起来。
对用户空间的程序来说,TTY与PTS是透明的,但是从内核的视角看,pts的另一端连接ptmx,tty的另一端连接内核的终端模拟器,ptmx和终端模拟器都只是负责维护会话和转发数据包。ptmx的另一端连接用户空间的应用程序,如sshd、tmux等,而内核终端模拟器的另一端连接的是具体的硬件,如键盘和显示器。