当前位置:新励学网 > 秒知问答 > 有谁知道键盘缓冲区的作用

有谁知道键盘缓冲区的作用

发表时间:2024-07-28 02:22:30 来源:网友投稿

首先从原理上解释一下键盘驱动工作原理,当我们GETCHAR的时候,实际上是用户态程序要求读键盘的内核态的缓冲区(在LINUX系统里其实是个队列),但是这时候该缓冲区内为空(那么该进程SLEEP,也就是您说的屏幕等待状态),这时如果你按下键盘,通过键盘中断驱动程序,把你输入的字符载入内核态的键盘缓冲区(入队列),同时唤醒因为读该缓冲区而SLEEP的进程.读取该字符后,因为是在内核态,而我们GETCHAR()函数就是把内核态内的数据,转移到用户态,内核台缓冲区因字符被读取而出队列(如果无其它情况,键盘的内核缓冲区队列为空),GETCHAR()函数是通过系统调用来实现的,该函数最终肯定是以RETURN来返回结果,而在我们调用GETCHAR()函数后,RETURN的结果以被放入寄存器中.

免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。

如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!