Linux中的终端、控制台、TTY、PTY究竟是什么?他们与进程有什么关系?
历史回顾
控制台(Console)
- 控制台是一个直接控制设备的面板(属于设备的一部分),不可或缺的。
- 计算机设备的控制台:按键&指示灯(键盘&显示器)
- 早期的电子计算机必然有一个控制台
终端(Terminal)
终端是一台独立于计算机的机器。是能够用来和计算机进行交互的设备。
终端设备 <-- output 物理线缆 -->input计算机
TTY -- 即:TeleType Write 电传打字机,一种终端设备。
历史发展进程...
电传打字机已经淘汰
计算机上的输入设备和显示设备从主机独立出来
控制台与终端的物理表现形式逐渐趋近
计算机开始支持多任务处理
....
控制台 VS 终端
1.控制台是计算机的基本组成部分
2.终端是连接/使用计算机的附加设备
3.计算机只有一个控制台,但可以有多个终端
终端与进程
TTY演变为Linux中抽象概念,对于进程而言TTY是一种输入输出设备。
各种终端类型
类型 | 说明 | |
虚拟终端(Virtual Terminal) Linux中正牌的终端 | 将这一套键盘和显示器映射为6个终端设备 | /dev/tty1~tty6 tty0指代当前使用的终端 |
串口终端(Serial Port Terminal) | 将连接到串口的外设看作终端设备 | /dev/ttyS1 |
终端模拟器(Terminal Emulator) | 终端模拟程序/内核模拟模块 | Putty、MobaXterm、内核模块、伪终端 |
伪终端(Pseudo Terminal) | 运行在用户模式的终端模拟程序,分为主设备(pty master)和从设备(pty slave) | /dev/ptmx 、/dev/pts3 |
//未完待续...