按下键盘时,计算机系统中发生了什么?_世界信息
来源:面包芯语    时间:2023-06-14 12:27:11


(资料图片仅供参考)

今天,我们要聊的话题是“当我们按下键盘时,计算机系统中发生了什么”。

实际上,这个问题要是真写起来,大概能写成一本书。本文将从宏观的角度,介绍一下从按下按键到输出至屏幕的整个过程。

键盘中的硬件检测到的被称为keycode,存放在键盘里中的存储器中,这个存储设备被称为endpoint,USB控制器不断poll该endpoint,从而获取到keycode。

CPU检测到中断产生后丢下word进程(暂停)并转到kernel mode,此时CPU发现是USB产生的中断。因此,找到USB中断处理函数,该中断函数中开处理按键数据:

底层的USB层解析后发现是HID数据,然后将其交给HID层处理,HID处理后数据处理后交给输入层,输入层解析后keycode发现按下的是字符“M”,然后将其记录在设备文件(device file)中,在类Unix系统中就是/dev/input/event**。此时,数据正式从硬件来到的了计算机系统中:

怎么样,看似简单的按下键盘到屏幕显示字符着实不简单,这里涉及软硬件的密切配合,毫不夸张地说,你每次按下键盘后计算机系统中可能需要成千上万行代码的执行才能把按键最终显示在屏幕上,是不是很有趣!

好啦,今天的文章就到这里,希望这篇对大家理解计算机系统有所帮助。

关键词:

X 关闭

X 关闭