- 2
- 0
- 约8.06千字
- 约 9页
- 2019-10-29 发布于天津
- 举报
切换虚拟终端
概述
linux使用虚拟终端,这些虚拟终端对应/dev/tty1~/dev/tty8,它们由系统初始化时打开。这个过程也在键盘的中断服务程序中完成。用户用ALT+1..8或ALT+箭头来切换终端。每个虚拟终端对应一个tty_struct和一个termios结构。Termios结构存储输入输出及控制模式,一些底层参数。Tty_struct 和终端的关系如同task_struct 和进程的关系。一个tty被打开,就对应一个tty_stract,对终端的一切处理都围绕tty_strct 进行。Termios也被tty_struct的一个指针指向。当然,tty_struct 和 termios 结构相对独立,tty被完全关闭时,tty_struct也就不在存在,而termios 依然存在。
另:
1与虚拟终端相对的是实终端。它对应/dev/tty0 或/dev/console 二者设备号均为4,0(2.0.35)系统初始时tty的初始化分早期和晚期。早期初始化支持实终端,晚期初始化支持虚拟终端。此时/dev/tty0 或/dev/console 对应当前终端。
2 伪终端正如其名,与控制台终端除了最高层的输入输出功能类似外,底层的实现大相径庭。
终端切换的流程:
Keyboard_interrupt
Keyboard_interrupt
Key_handler(
原创力文档

文档评论(0)