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

时间: 2024-11-08 18:27:02

Linux中的主机、控制台和终端的起源的相关文章

Linux中6个有趣的终端工具介绍

  1. pv 命令 你也许曾经看到过电影里的模拟字幕, 它们好像是被实时敲打出来的. 如果我么能在终端里实现这样的效果, 那不是很好? 这是可以做到的. 我们可以安装通过 'apt' 或者 'yum' 工具在 Linux 系统上安装 'pv' 命令. 安装命令如下. 代码如下: # yum install pv [在基于 RedHat 的系统上] 代码如下: # sudo apt-get install pv [在基于 Debian 的系统上] 'pv' 命令安装成功之后, 我们尝试运行下面的

Linux中在主机上实现对备机上目录及文件的操作的C代码实现

需求描述 编写程序,完成在主机上实现对备机上目录及文件的操作.例如,主机为A,备机为B,要求编写的程序运行在A机上,该程序实现在B机上创建文件目录及拷贝文件的操作. 需求分析 我们先不考虑用程序实现需求,如果是让我们用手工实现需求中描述的操作,我们会怎么做呢?大家也许都会想到使用telnet的方式.也就是说,在A机上使用telnet远程到B机上去,然后在B机上执行创建目录和拷贝文件的操作. 我们也可以在程序中使用telnet来完成上述需求. 程序编写 我们可以使用两种方式来执行telnet命令,

vmware虚拟机中linux与windows主机共享目录的文件不同步

问题描述 vmware虚拟机中linux与windows主机共享目录的文件不同步 rt,我虚拟机中装了一个 ubuntu12.04,见了共享目录,然后也看到共享的文件了,但是,我再windows下改了文件内容以后,去虚拟机打开,发现内容还是原来的,或者就直接出错,最后一部分丢了,哪位大神给讲一下这是什么问题,有什么好的解决办法可以让文件及时同步没,或者有没别的虚拟机可以搞定这个,谢谢谢谢谢谢谢谢谢...... 解决方案 在虚拟机上安装sambe服务器,"sudo apt-get install

linux中主机远程唤醒(WOL,Wake on Lan)的几种方法

现在许多新的PC机(尤其是主板集成网卡的机器)都支持远程唤醒功能(WOL,Wake on Lan),通过远程唤醒,可以方便管理员实现计算机的自动开启.当然被远程唤醒的主机需要具备以下条件: 主板(和网卡)支持WOL功能,有些机器还需要在BIOS中设置开启该功能: 主机在关闭状态时需要是插电的,即计算机的主板和网卡为通电状态(此时整个计算机的用电量很小),才能够监听到网络中对自己的"唤醒数据包": 管理员需要记下被唤醒主机网卡的MAC地址(物理地址),这样才能够通过相应的方法唤醒该主机:

Linux 有问必答:如何从VirtualBox中从主机访问NAT客户机

Linux 有问必答:如何从VirtualBox中从主机访问NAT客户机 提问: 我有一台运行在VirtualBox上的使用NAT的虚拟机,因此虚拟机会被VirtualBox分配一个私有IP地址(10.x.x.x).如果我想要从主机SSH到虚拟机中,我该怎么做? VirtualBox对虚拟机支持几种不同的网络方式,其中一种是NAT网络.当虚拟机启用NAT后,VirtualBox会自动在虚拟机和主机之间进行网络翻译,因此你不必在虚拟机和主机之间配置任何东西.这也意味着NAT中的虚拟机对于外部网络以

Linux中设置com1口,让超级终端通过com1口进行登录

Linux中设置com1口,让超级终端通过com1口进行登录 第一步:确认有/sbin/agetty,编辑/etc/inittab,添加 7:http://www.aliyun.com/zixun/aggregation/19060.html">2345:respawn:/sbin/agetty /dev/ttyS0 9600 9600bps是因为连路由器时缺省一般都是这种速率,也可以设成 19200.38400.57600.115200 第二步:修改/etc/securetty,添加一行

Linux中如何修改主机名

Linux中如何修改主机名? vi /etc/sysconfig/network,修改HOSTNAME一行为"HOSTNAME=主机名"(没有这行?那就添加这一行吧),然后运行命令"hosthttp://www.aliyun.com/zixun/aggregation/11696.html">name 主机名". 一般还要修改/etc/hosts文件中的主机名. 这样,无论你是否重启,主机名都修改成功

如何在Linux中找出所有在线主机的IP地址

你可以在 Linux 的生态系统中找到很多网络监控工具,它们可以为你生成出网络中所有设备的摘要,包括它们的 IP 地址等信息. 然而,实际上有时候你只需要一个简单的命令行工具,运行一个简单的命令就能提供同样的信息. 本篇教程会向你展示如何找出所有连接到给定网络的主机的 IP 地址.这里我们会使用 Nmap 工具来找出所有连接到相同网络的设备的IP地址. Nmap (Network Mapper 的简称)是一款开源.强大并且多功能的探查网络的命令行工具,用来执行安全扫描.网络审计.查找远程主机的开

linux中lnmp虚拟主机安全配置总结

nginx实际上只是一个反向代理服务器,它接收到请求以后会看当前请求是否是.php文件,如果是则转交给php-fpm来处理,获得结果后再发给用户.所以有两个权限需要考虑:第一是nginx的权限,第二是php-fpm的权限.如下图,nginx和php-fpm都要读取这个文件,所以权限分配是要考虑的重要一项. 防御跨站要防御的有三点,第一是防止其他用户列网站目录,防止自己的一些敏感文件名被看到及访问:第二是防止其他用户读取自己的文件,防止配置信息泄露:第三就是防止其他用户写shell在自己目录. p