linux虚拟终端1和虚拟终端2,一文让你详细了解虚拟终端和控制台的区别

原标题:一文让你详细了解虚拟终端和控制台的区别

本篇主要介绍终端和控制台的区别,其次列出几种不同的终端类型(ttyXXX)

要明白这两者关系,还得从很久很久以前的计算机使用开始说起。

历史:

首先说一下终端(terminal):

e2681270ee5ff71af27fe97c490ddfdc.png

最早的计算机价格很高,因此为了充分利用计算机资源,一般都是支持多用户同时登陆使用的。这样的话,一台电脑就需要连接很多键盘和显示器来提供给每个人使用。在以前专门有这种能直接连接到计算机上的设备(键盘和显示器),使用简单的通信电路进行连接(通常是串口),这个电路只是用来提供数据的传输和显示,没有处理数据的能力,只负责连接到计算机上登录。既然可以允许多个键盘和显示器同时连接到计算机上,所以当时的操作系统就已经是多用户多任务的了(为了充分利用价格昂贵的计算机资源)。这样的每一套连接的键盘和显示器能够通过串口连接到计算机的设备就叫做终端。

终端设备两个(右),计算机和控制台(左)

控制台(console)又是什么呢?

496c740a495d972910262ba76cd42769.png

8e9cb01fc0de8e0e4df7331c3ca2d065.png

在各个领域都有控制台的存在比如:

调音台 飞机控制台

控制台从字面意思来看,就是一个直接用于控制设备的台面,台面上有很多按钮显示屏等。

在计算机领域也同样存在,把那套直接与计算机组装在一起的键盘和显示器就称作控制台。

请注意:它和终端的区别,终端是通过串口线(额外的物理连线)连接到计算机上的,而

控制台是计算机本身就有的设备,一个计算机只有一个控制台。在计算机启动的时候,所有的启动信息都会打印到控制台上,而不会显示到终端上。也就是说,控制台是计算机的基本组成设备。而终端是为了充分利用计算机多出来的附加设备。

在计算机操作系统中什么信息会打印到控制台而不在终端上呢?比如内核启动信息和运行日志,都是显示到控制台上,但不会显示到终端上。这是区分控制台和终端的重要依据。

现在:

随着计算机越来越便宜,目前都是个人笔记本(单独用户的),不再链接上真正意义上的硬件终端设备了。终端和控制台由很久以前的硬件概念,演化成了软件概念。

现在说的linux终端都是使用软件虚拟出来的终端(虚拟终端)。他用软件的方式模拟出硬件通信方式。比如Ubuntu的 ctrl + alt + f2 ~ f6. 是6个虚拟终端,就好比以前6个人共用一台计算机所使用的套键盘和显示屏一样。只不过这里是用软件模拟出来的。这也是为什么叫做虚拟终端(VT, Virtual Terminal的缩写)的原因。

终端(terminal): 在Ubuntu中按下 ctrl + alt + f2 ~ f6.

dad52f4f85d24ac00eba2902eb80e25a.png

05b8c7b2e01becaf641bc49df07c1ec9.png

控制台(console): 在 Ubuntu中按下 ctrl + alt + f1 .

(ctrl + alt + f1): tty1 console (ctrl + alt + f2): tty2 terminal

做实验说明:

1、ctrl + alt + f1 ~ f6.

可以发现只有 f1 显示有系统启动时的打印信息,也就表明tty1 是控制台。

2、echo "hello world" > /dev/console

在linux中一切设备皆文件,包括控制台设备,它对应得文件是 /dev/console , 如上命令就是往控制台上打印 hello world。但是在Ubuntu中无论在tty1~6 中的那个终端执行都会显示到当前虚拟终端上。也就是说,此时linux把当前的终端当做控制台来看待了。这样看来,linux已经淡化了控制台和终端的区别。但是在其他类UNIX系统上,控制台和终端就会有很明显的区别,比如freeBSD系统。

e9d53b30142f4fa92c2a0e76a812f748.png

22b490c58d3525eb1a7fb5fc4d89fa86.png

(ctrl + alt + f1): tty0 console (ctrl + alt + f1): tty2 terminal

如下图:

还有另外一些信息也会在控制台上显示,比如那个终端登录,系统启动日志等,全都显示

在这个真正的控制台上。在这里就明显的区分出了控制台和终端了,只不过他们都是现在用

软件模拟出来的,跟以前的硬件实现是一个意思。

好了明白了终端和控制台区别之后。

最后总结一下:很久以前需要共享计算机时,控制台和终端都是物理硬件加上他们的驱动和软件。现在不需要多人共享,但是仍然保留着用用软件模拟的控制台和终端设备文件现在的linux也在把控制台和终端的概念慢慢的淡化。对于普通用户,可以理解控制台和终端就是:可以用于输入命令并显示程序运行结果的窗口。不用严格区分。

终端设备类型(tty):Teletypes的缩写

tty也是一个UNIX命令,用来指出当前终端设备的名称。

终端是一种字符型设备,它有多种类型,通常用tty来简称各种类型的终端设备

1、串行端口终端(Serial Port Terminal) : /dev/ttySn

2、伪终端(Pseudo Terminal):/dev/pty/

3、控制终端: /dev/tty

4、控制台: /dev/ttyn, /dev/console

终端相关的一些Linux命令:

who/w :显示有哪些终端登录

who am i : 显示当前终端是哪一个

tty : 显示当前终端的设备文件

chvt : 切换虚拟终端 chvt 2 等同于快捷键 (ctrl + alt + f2) ,注意:在图形界面不行

last : 显示每个终端的登录时间和持续时间等信息返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux内核是一种开源的操作系统内核,是Linux操作系统的核心组成部分。它提供了操作系统与硬件之间的抽象层,负责管理系统的资源、调度任务、提供驱动程序等功能。 Linux内核采用分层的架构,包括硬件抽象层、系统调用层、进程管理层、文件系统层和网络层等。硬件抽象层负责将不同硬件设备的接口统一起来,使得上层的软件可以方便地与硬件进行通信。系统调用层提供了一组API供用户进程调用,如文件操作、网络通信等。进程管理层负责进程的创建、销毁以及调度等任务。文件系统层负责文件的管理和存储。网络层负责网络协议的实现和网络通信。 Linux内核的工作原理可以简单概括为以下几个关键步骤。首先,当一台计算机启动时,BIOS会加载内核映像到内存中,并执行启动代码。然后,内核初始化各种数据结构、驱动程序和关键服务。接下来,内核创建一个初始的用户空间进程,称为init进程。init进程是所有其他进程的祖先进程。在此之后,内核根据调度算法来决定哪个进程可以使用CPU,并依次执行。同时,内核会提供一个中断机制,以便处理硬件事件的优先级。 内核还提供了许多系统调用供用户进程调用,以实现对各种功能的访问。当用户进程需要操作文件、创建进程或进行网络通信时,会通过系统调用将请求传递给内核,由内核代表用户进程执行相应的操作。内核通过调度算法来分配CPU时间片,并通过虚拟内存管理来管理内存资源的分配和回收。 总而言之,Linux内核是一个高度可配置和模块化的操作系统内核,通过分层架构和系统调用机制实现了对硬件的抽象和对用户进程的管理。了解Linux内核的架构和工作原理,有助于深入理解Linux操作系统以及开发和调试相关应用程序。 ### 回答2: Linux是一种开源的操作系统内核,其设计目标是为了在不同的计算机硬件平台上提供高效的、稳定的和安全的操作系统服务。 Linux内核的架构可以分为三个主要部分:进程管理、内存管理和文件系统管理。 在进程管理方面,Linux内核使用了多任务处理技术,可以同时运行多个进程。每个进程都有独立的地址空间和资源,通过调度算法可以合理分配CPU时间片,优化系统的响应速度和资源利用率。 在内存管理方面,Linux内核使用了虚拟内存技术,将物理内存和逻辑内存进行了映射,使得每个进程都有独立的地址空间。当物理内存不足时,Linux内核会通过页面置换算法将暂时不使用的页写入磁盘交换空间,以释放物理内存供其他进程使用。 在文件系统管理方面,Linux内核支持多种文件系统,包括传统的ext3和ext4文件系统,以及现代的Btrfs和XFS文件系统。它负责文件的读写操作,以及文件的权限控制和磁盘空间的管理。 Linux内核的工作原理可以简单概括为以下几个步骤:首先,启动引导程序将内核加载到内存中,并进行初始化。然后,内核分配一部分内存作为内核空间,用于存放内核代码和数据结构。接着,内核根据系统的硬件配置进行设备的初始化和驱动程序的加载。之后,内核根据系统的启动参数和配置文件进行一系列的初始化工作,包括启动系统服务和加载用户程序。最后,内核进入主循环,不断地处理中断、调度进程、管理内存和文件系统,以提供稳定的操作系统服务。 总之,Linux内核是一个复杂而高效的软件系统,它通过进程管理、内存管理和文件系统管理等功能,实现了操作系统的基本功能。了解Linux内核的架构和工作原理,有助于我们更好地理解和使用这个优秀的开源操作系统。 ### 回答3: Linux内核是一个开放源代码的操作系统内核,由一个核心程序和一组通用的系统工具组成。它是Linux操作系统的核心,负责处理硬件设备、管理系统资源、实现进程管理、文件系统和网络功能等。 Linux内核的架构可以分为两个层次:用户空间和内核空间。用户空间包括用户应用程序,如图形界面、终端程序等,它们通过系统调用接口与内核进行通信。内核空间包括内核核心的数据结构和程序,用于管理和控制硬件资源。 Linux内核的工作原理可以概括为以下几个方面: 1. 进程管理:内核负责创建、调度和终止进程。它使用进程描述符(task_struct)来跟踪进程的状态和资源使用情况,并根据调度算法分配CPU时间片给不同的进程。 2. 内存管理:内核负责管理系统的物理内存和虚拟内存。物理内存管理包括内存分配和释放,虚拟内存管理包括页面置换和页面回写等策略,以优化内存的使用效率。 3. 文件系统:内核提供文件系统接口,管理文件和目录的创建、读写和删除等操作。它通过虚拟文件系统层(VFS)将不同的文件系统统一管理,如ext4、NTFS等。 4. 设备驱动:内核提供了访问硬件设备的接口,通过设备驱动程序与硬件交互。不同的硬件设备需要不同的驱动程序,如网卡、显卡、声卡等。 5. 网络功能:内核提供TCP/IP协议栈和网络设备驱动程序,用于实现网络通信功能。它提供网络连接的建立、数据传输和断开等功能,支持各种网络协议,如HTTP、FTP、SSH等。 总的来说,Linux内核是一个非常复杂且功能强大的软件,它负责管理计算机的各种资源和提供操作系统的各种功能。通过深入理解其架构和工作原理,我们可以更好地理解和使用Linux操作系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值