全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

TTY是什么?

发布时间:2023-10-14 20:39:31
发布人:xqq

一、TTY的起源

TTY较早出现在电传打字机(Teletypewriter)上,它是一种可以通过电信网络进行通信的打字机。20世纪50年代和60年代,计算机的交互方式主要是通过终端设备进行,而当时常用的终端设备就是电传打字机。在那个时代,计算机运行的程序通常会产生一系列文本输出,这些输出需要通过终端设备将结果展示给用户,而用户也可以通过键盘输入命令和数据给计算机。

随着计算机的发展,出现了更多种类的终端设备,例如打印机和显示器。为了使不同类型的终端设备都能与计算机进行通信,TTY 接口应运而生。TTY定义了一组标准化的通信规则和命令,使得计算机能够理解和处理不同终端设备的输入输出。

二、TTY的原理

TTY的原理是通过输入和输出流来实现与终端设备的通信。在计算机操作系统中,每个终端设备都对应一个TTY设备文件,通常位于”/dev/tty”目录下。当用户在终端设备上输入命令时,TTY设备会将输入的数据传输给计算机的输入流;而当计算机有输出数据时,TTY设备会从输出流读取数据并将其显示在终端设备上。

TTY接口的工作方式是基于字符流的,它不处理二进制数据,而是以字符为单位进行传输。当用户在终端上输入字符时,TTY设备会将字符逐个发送给计算机的输入流。计算机收到字符后,可以对其进行处理,例如执行相应的命令或将字符写入文件。同样地,当计算机有输出数据时,TTY设备会从输出流读取字符,并逐个显示在终端设备上,让用户能够看到计算机的响应结果。

TTY接口还支持特殊的控制字符和命令,用于处理终端设备的状态和行为。例如,Ctrl+C 可以用于中断当前正在执行的程序,Ctrl+D可以表示输入的结束。

三、TTY在现代计算机中的应用

虽然,现代计算机不再使用物理的电传打字机和终端设备,但TTY接口仍然存在于操作系统中,并且在某些场景下仍然发挥着重要作用。

虚拟终端:现代操作系统支持虚拟终端功能,允许用户在同一台计算机上同时打开多个虚拟终端。每个虚拟终端都对应着一个TTY 设备,用户可以通过切换虚拟终端来在不同的命令行界面之间进行操作。这在服务器管理和系统调试中非常有用。终端仿真器:终端仿真器是模拟物理终端设备的软件,它们允许计算机通过网络连接与远程设备进行通信。终端仿真器通常使用TTY 接口与远程设备进行交互,使得计算机和远程设备能够进行命令行交互。控制台输出:在操作系统启动阶段,计算机通常会将启动信息和错误信息输出到控制台,这些输出是通过TTY设备实现的。控制台输出对于系统的启动和故障排查至关重要。进程通信:在Unix/Linux 系统中,TTY接口也用于进程之间的通信。例如,通过管道(pipe)和终端设备相连,一个进程的输出可以作为另一个进程的输入,从而实现进程间的数据传递。

综上所述,TTY作为计算机与终端设备之间的标准化通信接口,在计算机科学和信息技术领域发挥着重要的作用。虽然,如今的计算机已经迈入了全新的时代,但值得铭记和珍视的是,TTY为计算机技术的进步和发展做出了重要贡献,它是计算机历史中不可忽视的一部分。

延伸阅读:终端仿真是什么

终端仿真是一种模拟物理终端设备的软件,它允许计算机通过网络连接与远程设备进行通信。终端仿真器使用网络协议来传输数据,并在本地设备上模拟终端设备的输入和输出。用户可以通过终端仿真器实现远程命令行交互,就像直接在计算机本地进行操作一样。

终端仿真器的原理是通过TTY 接口与远程设备进行通信。在计算机操作系统中,终端仿真器通常会创建一个虚拟TTY设备,然后将用户输入的命令传输给远程设备,接收远程设备的输出并显示在本地终端上。这样,用户就可以像使用本地终端一样使用远程设备。

#it技术干货

相关文章

多线程环境下,HashMap为什么会出现死循环?

多线程环境下,HashMap为什么会出现死循环?

2023-10-14
什么是setnx、Redlock、Redisson?

什么是setnx、Redlock、Redisson?

2023-10-14
为什么在 Linux 中“文件夹”被称为“目录”?

为什么在 Linux 中“文件夹”被称为“目录”?

2023-10-14
AtomicInteger 在高并发下性能不好,为什么?

AtomicInteger 在高并发下性能不好,为什么?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取