终端、伪终端、虚拟控制台、系统控制台

终端

终端是一个大的概念,在Linux中把所有可以作为控制终端的设备统称为终端,比如伪终端、虚拟控制台、串口终端等等。

伪终端

伪终端简称为pty,是Unix/Linux系统提供的一种机制,它模拟了物理终端的行为方式,从而让连接的程序认为和普通的终端没有区别,因此被叫做伪终端。伪终端包含master端和slave端,都是成对出现的,以System V风格实现的伪终端为例(ubuntu):master端的字符设备为/dev/ptmx,而slave端的字符设备存在于/dev/pts/目录中以number形式存在。在master和slave中间实现了一个终端行规整模块,它是保证操作伪终端就和普通的物理终端一样的关键。

窗口终端模拟器

在Ubuntu系统中我们经常使用的Gnome-terminal、Terminator、xterm、Konsole等窗口终端模拟器都是基于伪终端技术开发的,窗口系统打开一个终端模拟器,可以按照正常操作一个物理终端的方式一样去控制系统。

虚拟控制台(virtual consoles)

虚拟控制台也叫虚拟终端,表示的是虚拟的控制台设备,为什么要叫做虚拟?那是因为历史原因,旧的系统包含多个物理控制台设备,而当下的情况是一个主机足以模拟了多个控制台,默认情况下系统会包含6个虚拟控制台,通过ALT+CTRL+[F1…F6]可以切换到[tty1…tty6]不同的虚拟控制台,tty0表示的是当前虚拟控制台的一个别名,tty1和tty2为X窗口系统,其余为虚拟字符终端。
虚拟控制台的设备文件名为:/dev/tty[0-63]:

0 = /dev/tty0     Current virtual console
1 = /dev/tty1     First virtual console
...
63 = /dev/tty63    63rd virtual console

系统控制台(console device)

系统控制台设备文件为/dev/console,该设备主要的功能是用于接收系统消息的控制台,系统消息不会被发送到tty上,而是发送给console设备,比如内核中的printk输出的信息都是传送给系统控制台的。Linux 2.1.71版本内核之前该设备是一个到tty0或者串口终端的一个链接,之后的版本都是一个内核实现的设备文件,它由内核来管理,比如通过cmdline中的console=/dev/ttyS1可以指定console设备为一个串口设备,此时/dev/console相当于是/dev/ttyS1的一个别名。另外只有单用户模式才会允许用户在console上登录。它的设备号是[5,1]:

crw------- 1 root root 5, 1 6月   3 09:00 /dev/console  ### System console
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值