Linux中的主机、控制台和终端的起源

简介:

如果你见过一些台式机,那么它们大多是这样的。键盘、显示器、机箱可以分开。哪怕机箱和使用者不在一个房间,只要线路连通,还是可以使用电脑的。在早期,机箱和键盘、显示器确实是分开的。

你知道 Linux 中的主机、控制台和终端的起源么?

在 UNIX 诞生之初,计算机的价格非常昂贵。当时还没有个人计算机,大多数计算机都是大型、昂贵、不稳定的机器,必须存放在湿度和温度可控的环境中。贝尔实验室的 Thompson 开始寻找小并且便宜的计算机。那时大多数计算机需要 100,000 美元,1970 年他和同事们得到了一台 PDP-11,当时需要 10,800 美元。在数个月之内,他们将 UNIX 移植到了这台计算机内。但是 PDP-11 一次只能运行一个程序,于是他们修改了 UNIX 系统,使它能够一次运行多个程序,直到 1973 年这一目标才得以实现。

从上图中可以看出,PDP-11 机身上有很多按钮,这个操作面板被称为控制台。控制台与主机紧密结合并且无法远程操作,很多操作需要通过控制台完成(比如启动过程中遇到的问题),因为只用当主机启动并且网络连接正常后才能连接终端。由于大型计算机的价格十分昂贵,Thompson 和他的同事们希望 UNIX 能够称为一个多任务(即同时运行多个程序)、多用户系统。在那个年代,计算机还没有独立的键盘,而且由于其昂贵的价格,无法每人都拥有一台计算机。

Thompson 决定使用一种便宜的电传打字机:Teletype。直到如今,Linux 和 UNIX 系统中的文本输入输出环境仍然简写为 tty(TeleTYpe)。Teletype 相当原始,除了电源外,一切都是机械的。

下面这样设想一下,如果好多个用户都各自有一台自己的 Teletype,而“机房”(当时叫“玻璃屋”,因为当时很多公司通过玻璃墙来展示昂贵的大型计算机)中有一台昂贵的大型计算机 PDP-11,这台计算机上运行着可以多用户登录的 UNIX,这样,每个用户都可以通过使用便宜(相对于大型计算机)的 Teletype 来访问大型计算机,相当于每个用户都通过便宜的价格拥有了一台计算机。是的,当时 Thompson 也是这样想的,并且最终实现。这种想法至今都有大量的应用,比如服务器和终端的关系等。

大型计算机 PDP-11 被叫做主机,而用户的 Teletype 也被叫做终端(原指电线的末端)。因为主机和终端是分开的,所以不管是更换主机,还是用户更换终端都是互相独立的,主机和终端可以随着科技浪潮一直发展下去。粗略的说:计算机=主机+终端;终端=输入设备+输出设备。在这个例子中,计算机=PDP-11+电传打字机;而 Teletype=输入设备(键盘)+输出设备(纸)。

下来考虑这样一种情况,如果有多台主机放在机房里,同时有多台终端使用这些主机,那么怎么连接他们呢?这就要用到终端服务器了。终端服务器连接主机和终端,只用用户输入需要访问的主机,终端服务器就会建立他们之间的连接。如下图。

以上,就是 Linux 中主机、控制台和终端的由来。





本文作者:佚名
来源:51CTO
目录
相关文章
|
4天前
|
Ubuntu Linux 测试技术
Linux终端玩转bastet俄罗斯方块小游戏
【7月更文挑战第14天】Linux终端玩转bastet俄罗斯方块小游戏
18 7
|
22天前
|
Linux 网络安全 开发工具
Linux 管理远程会话 screen:掌握终端的多任务操作
`Linux screen` 命令让多任务管理变得更简单,尤其在SSH连接远程服务器时。创建新会话如`screen -S backup`,查看会话`screen -ls`,退出`exit`。高级功能包括直接在会话中运行命令,如`screen vim memo.txt`,会话共享以协同工作,以及通过`screen -r`或`-D -r`重新连接或强制恢复断开的会话。提高效率,确保任务不间断运行。
13 1
|
1月前
|
Linux
【GEC6818开发板】Linux驱动中printk无法在终端输出显示
【GEC6818开发板】Linux驱动中printk无法在终端输出显示
|
1月前
|
网络协议 Linux 网络安全
Linux命令hostnamectl:掌握系统主机信息的利器
`hostnamectl`是Linux系统管理的关键工具,用于查看和设置主机名、内核信息等。它集成在`systemd`中,通过修改配置文件交互。命令特点包括综合显示多种信息、简单语法和设置功能。例如,`hostnamectl status`显示系统详情,`sudo hostnamectl set-hostname NEWHOSTNAME`用于更改主机名。使用时注意权限、备份配置、更新网络和重启相关服务,避免频繁更改。
|
1月前
|
Linux Shell 数据处理
探索Linux的`infokey`命令:终端键绑定的查询工具
探索Linux的`infokey`命令用于查询终端键绑定。它显示按键如何映射到命令,帮助用户理解终端行为。`infokey`与`ncurses`库配合,提供查询、清除和定制输出的功能。例如,`infokey -d`显示所有键绑定,`infokey -k "\e[11~"`检查F1键绑定。使用前确保安装了`ncurses`库,注意终端兼容性和权限问题。定期检查键绑定,备份配置,阅读文档以优化终端体验。
|
1月前
|
Linux 数据处理 数据库
探索Linux的`infocmp`命令:终端配置的得力助手
`infocmp`是Linux下用于查看和比较`terminfo`数据库中终端类型描述的命令。它显示终端的控制序列、按键映射等信息,并能找出不同终端的配置差异。通过参数如`-c`(以termcap格式输出)、`-d`(比较差异)和`-1`(单列显示)等可定制输出。例如,`infocmp $TERM`显示当前终端配置,`infocmp xterm vt100`比较两者差异。了解终端类型和选择合适输出格式是有效使用的关键。
|
1月前
|
Linux Unix 安全
【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(一)
【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(一)
|
1月前
|
Linux Unix Windows
【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(二)
【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(二)
|
15天前
|
JavaScript Linux Shell
探索Linux中的`script`命令:记录你的终端会话
`script`命令在Linux中记录终端会话,用于重现交互、教学和调试。它启动新shell,捕获所有输入输出到文件,默认文件为`typescript`。主要选项包括追加输出 `-a`,执行单个命令 `-c`,实时写入 `-f`,静默模式 `-q` 和添加时间戳 `-t`。示例用法:记录脚本执行`script -a log.sh script.sh`,或带时间戳记录`script -t timestamps.log`。注意文件权限、磁盘空间和敏感信息处理。
|
25天前
|
安全 前端开发 Linux
深入了解Linux命令pinentry-curses:保护敏感输入的终端工具
`pinentry-curses`是GnuPG的一部分,用于CLI中安全输入密码或PIN。它利用curses库创建一个隐藏输入的终端界面,增强安全性。适用于GnuPG及其它需要安全输入的场景。特点包括安全隐藏输入、用户友好、灵活配置。常用参数如`--password`、`--title`等。在GPG加密文件时,可以结合`--pinentry-mode curses`使用。记得在安全环境下操作,勿明文显示密码,保持软件更新,并使用强密码。