TTY终端
终端
终端是一个电子(或电气)设备,用于向系统输入数据(input),或者将系统接收到的数据显示出来(output),即我们常说的“人机交互设备”。 TTY(Teletypewriter)代表终端设备的概念,它允许用户与系统进行交互,在Linux中,TTY可分为如下几类:
- 物理终端(serial port terminal): 指使用计算机串行端口连接的终端设备,
/dev/ttyS* - 伪终端(pseudo terminal): 通常是通过ssh/telnet 登陆的终端,
/dev/pts/* - 控制终端(controlling terminal): 代表当前tty设备 /dev/tty
- 控制台终端(console): 指计算机的输出设备, 通常是printk信息输出的设备, /dev/ttyn、/dev/console
TTY 设备文件
TTY 设备在 Linux 文件系统 中的表现为设备文件,通常位于 /dev 目录下。常见的 TTY 设备文件包括:
/dev/tty:当前终端的设备文件。/dev/ttyN:虚拟控制台设备文件,其中N是控制台编号(例如,/dev/tty1对应第一个虚拟控制台)。/dev/pts/N:伪终端设备文件,其中N是伪终端编号。/dev/ttyS0:串口设备文件,/dev/ttyS1对应第二个串口设备,以此类推。
使用TTY
进程调度
进程
进程是程序在一个数据集合上的一次动态执行过程。它不仅包含代码,还包含当前的活动状态、内存、系统资源等。进程可以被分为 I/O 密集型(I/O-bound)和 CPU 密集型(CPU-bound)
I/O 密集型进程
大部分时间都在等待
- 数据库
- 摄像头
- 网络
- 网络
策略
策略决定调度程序什么时候让进程运行。