开发者社区> 玄学酱> 正文

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
windows linux—unix 跨平台通信集成控制系统----系统硬件信息获取
控制集成系统需要了解系统的各项硬件信息,之前我们设计的时候,习惯使用c函数来搞,后来可能发现程序的移植性收到了一些影响,比如unix内核的一些c函数在linux下面是没有的: 比如   苹果达尔文内核的如下东西,linux里面就没有:    //kern_return_t kr; ...
932 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
23526 0
因主机名更改造成oracle控制台登录错误:ora-12545,ora-12541
因主机名更改造成oracle控制台登录错误:ora-12545,ora-12541         昨天临下班因嫌自己的计算机名太丑,就改成了别的。(当初装系统的时候太匆忙,没改,安装程序在名字后遍加了好多乱其八糟的字符)   今晨再启动oracle控制台的时候,报错“Ora-12545:因目标主机或者对象不存在,连接失败”,但是用sqlplus登录到没问题,不解。
802 0
Linux运行与控制后台进程的方法:nohup, setsid, &, disown, screen
我们经常会碰到这样的问题,用ssh登录了远程的Linux服务器,运行了一些耗时较长的任务,结果却由于网络等的不稳定导致任务中途失败。这是由于在用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程。
1023 0
如何实现一套鼠标键盘控制二台主机
原文http://www.cnblogs.com/pbuilder/archive/2012/11/08/2760304.html 公司给每个人分配了二台电脑,一台办公,一台搞开发,二套鼠标键盘,放在桌面上使用起来非常的不方便, 于是就想实现一套键盘实现控制二台电脑,刚开始的想法是找个硬件来切...
877 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
16589 0
通过DNS控制主机以及执行命令
本文讲的是通过DNS控制主机以及执行命令,即使在一些限制非常严格的环境下,DNS协议还是允许处理内部和外部的通讯的。所以通过dns就可以建立起目标主机和命令&控制服务器之间的通讯。由于命令和数据包都是在合法的dns查询中传输的,所以很不容易被检测到。
1366 0
+关注
玄学酱
这个时候,玄酱是不是应该说点什么...
20683
文章
438
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载