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

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

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

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

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

 

[[185557]]

 

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

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

 

[[185558]]

 

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

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

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

 

 

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

[[185560]]

 

责任编辑:庞桂玉 来源: 嵌入式Linux中文站
相关推荐

2014-03-21 11:08:17

Unix终端Unix

2010-09-02 15:54:26

路由器配置

2011-07-26 18:13:53

控制台

2022-08-08 09:34:33

Linux串行控制台

2023-02-02 09:33:04

Linux控制台程序

2019-08-23 09:58:18

Linux控制台命令

2011-12-23 10:51:24

Node.js

2011-07-06 15:25:33

Windows控制台

2010-03-22 18:42:23

2011-04-20 10:15:02

Linuxconsole口

2011-07-11 16:25:25

控制台

2011-07-11 13:52:45

Windows控制台

2011-03-24 10:08:38

Nagiosweb

2009-06-12 18:50:34

JBoss控制台密码设

2010-12-21 14:32:43

操作控制台

2011-07-11 13:43:45

Windows控制台

2010-03-01 13:54:57

2010-03-05 09:34:01

2010-12-28 10:36:41

Linux

2024-01-07 16:42:32

C++编程开发
点赞
收藏

51CTO技术栈公众号