当前位置: 首页> 文旅> 文化 > 网站建设哪家合适_广州编程培训机构_如何快速推广一个新产品_北京网站seo哪家公司好

网站建设哪家合适_广州编程培训机构_如何快速推广一个新产品_北京网站seo哪家公司好

时间:2025/8/23 19:37:17来源:https://blog.csdn.net/phmatthaus/article/details/144859737 浏览次数:0次
网站建设哪家合适_广州编程培训机构_如何快速推广一个新产品_北京网站seo哪家公司好

接前一篇文章:Linux内核TTY子系统有什么(1)

本文内容参考:

Linux TTY子系统框架-CSDN博客

一文彻底讲清Linux tty子系统架构及编程实例-CSDN博客

linux TTY子系统(3) - tty driver_sys tty device driver-CSDN博客

Linux TTY 子系统框架_linux tty体系-CSDN博客

LinuxTTY 子系统2_tty子系统-CSDN博客

Linux TTY Driver_tty driver配置-CSDN博客

UART驱动学习二(TTY体系)_serdev-CSDN博客

解密TTY - QiuhaoLi - 博客园

特此致谢!

一、TTY是什么?

2. TTY的分类

上一回提到,TELETYPE变成了计算机的终端(即Terminal,远端之意)。Linux系统的终端设备一般分为控制台、伪终端pty、串口终端(/dev/ttySn)和其它类型。

(1)系统控制台(/dev/console)

/dev/console是系统控制台,是与操作系统交互的设备。系统所产生的信息会发送到该设备上。平时我们看到的PC只有一个屏幕和键盘,它其实就是控制台。目前只有在单用户模式下,才允许用户登录控制台/dev/console(可以在单用户模式下输入tty命令进行确认)。

console有缓冲的概念,为内核提供打印输出。内核把要打印的内容装入缓冲区__log_buff,然后由console来决定打印到哪里(比如是tty0、还是ttySn等)。console指向激活的终端历史上,console指主机本身的屏幕和键盘,而tty指用电缆链接的其它位置的控制台

某些情况下console和tty0是一致的,就是当前所使用的是虚拟终端,也是激活虚拟终端。所以有些资料中称/dev/console是到/dev/tty0的符号链接。但是这样说现在看来是不对的:根据内核文档,在2.1.71之前,/dev/console根据不同系统设定,符号链接到/dev/tty0或者其它tty*上;在2.1.71版本之后则完全由内核代码内部控制它的映射。

一个终端设备要实现console功能,必须向内核注册一个struct console结构,一般的串口驱动中都会有。如果设备要实现tty功能,必须要向内核的tty子系统注册一个struct tty_driver结构,注册函数在drivers/tty/tty_io.c中。一个设备可以同时实现console和tty_driver,一般串口都这么做。

内核的打印信息从哪个设备上显示出来?可以通过内核的cmdline来指定,比如: console=ttyS0 console=tty,可通过以下命令查看cmdline:

cat /proc/cmdline

在笔者电脑中的虚拟机中,此命令的执行结果为:

$ cat /proc/cmdline 
BOOT_IMAGE=/boot/vmlinuz-6.5.0-27-generic root=UUID=0ade49ec-d3a4-49f8-9775-384fca0229cf ro find_preseed=/preseed.cfg auto noprompt priority=critical locale=en_US quiet splash

可见,在笔者的虚拟机中,并未指定console。

$ ls /dev/console 
/dev/console
$ 
$ ls /dev/console -l
crw--w---- 1 root tty 5, 1 12月 29 21:44 /dev/console

如果不想去分辨这个设备是串口还是虚拟终端,有没有办法得到这个设备?有!通过/dev/console。

console=ttyS0时:/dev/console 就是ttyS0
console=tty时:/dev/console 就是前台程序的虚拟终端
console=tty0时:/dev/console 就是前台程序的虚拟终端
console=ttyN时:/dev/console 就是/dev/ttyN
console有多个取值时,使用最后一个取值来判断

不管你在哪里往/dev/console里写东西,这些东西总会出现在系统当前的焦点终端上。

更多内容请看下回。

关键字:网站建设哪家合适_广州编程培训机构_如何快速推广一个新产品_北京网站seo哪家公司好

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: