当前位置: 首页 > 创领中心 > 网络优化

操作系统是怎样一步步接纳键盘按键的

  • 网络优化
  • 2024-11-15

大家好,我是岛主小风哥,你有没有想过,按下键盘按键后,相应的字符是怎样一步步显示在屏幕上的?

首先来看配件局部,你至少应该能想到必定得有键盘和CPU:

之后呢,cpu是怎样知道有键盘按下呢?

为了让键盘按下按键后能通知到CPU,须要借助键盘控制器,keyboard controller,这当然也是配件:

当按下按键时,键盘控制器能检测到键盘按键:

接着键盘控制器向CPU收回终止:

当CPU接纳到终止信号后暂停当然正在口头的代码,在此之前兴许CPU正在口头运行程序的代码,体现进去的就是你的程序就在运转:

当然也有或者CPU正在口头操作系统代码,但不论怎样,CPU接纳到终止信号后将暂停口头的指令而后跳转到一个提早性能好的地址,这个地址指向的就是内核中的解决函数,假定这个函数叫做do_irq()。

终止解决函数do_irq发现终止来自键盘,因此开局调用能解决键盘按键的内核代码,这段内核代码就是所谓的驱动,driver。

驱动程序解决键盘按键后发现按下的是字母a,而后呢?

在类Unix系统中,驱动程序会把字母a写到device file中,也就是设施文件,你可以像访问个别文件那样间接访问设施文件,但它并不是真正的文件。

如今,键盘按键曾经从配件环球到来的了软件环球,也就是内核中。

还是以Unix系统为例,在Unix中担任窗体治理的叫做X Window System,该系统由X server以及X client组成,图形运行程序就是x client,接纳来自x server的键盘信息,那么x server又是从哪里知道键盘信息呢?答案就是刚才提到的设施文件:

接上去X server会把键盘按键信息发送给正在失掉焦点的窗体,怎样发送呢?应用的就是进程间通讯技术,IPC:

这样,咱们的程序就可以取得键盘按键了。

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://clwxseo.com/wangluoyouhua/8965.html

猜你喜欢

热门资讯

关注我们

微信公众号