王优秀|A 字母时,操作系统期间发生了什么...,键盘敲入( 四 )
我们先来看看CPU的硬件架构图:
文章图片
CPU里面的内存接口 , 直接和系统总线通信 , 然后系统总线再接入一个I/O桥接器 , 这个I/O桥接器 , 另一边接入了内存总线 , 使得CPU和内存通信 。 再另一边 , 又接入了一个I/O总线 , 用来连接I/O设备 , 比如键盘、显示器等 。
那当用户输入了键盘字符 , 键盘控制器就会产生扫描码数据 , 并将其缓冲在键盘控制器的寄存器中 , 紧接着键盘控制器通过总线给CPU发送中断请求 。
CPU收到中断请求后 , 操作系统会保存被中断进程的CPU上下文 , 然后调用键盘的中断处理程序 。
键盘的中断处理程序是在键盘驱动程序初始化时注册的 , 那键盘中断处理函数的功能就是从键盘控制器的寄存器的缓冲区读取扫描码 , 再根据扫描码找到用户在键盘输入的字符 , 如果输入的字符是显示字符 , 那就会把扫描码翻译成对应显示字符的ASCII码 , 比如用户在键盘输入的是字母A , 是显示字符 , 于是就会把扫描码翻译成A字符的ASCII码 。
得到了显示字符的ASCII码后 , 就会把ASCII码放到「读缓冲区队列」 , 接下来就是要把显示字符显示屏幕了 , 显示设备的驱动程序会定时从「读缓冲区队列」读取数据放到「写缓冲区队列」 , 最后把「写缓冲区队列」的数据一个一个写入到显示设备的控制器的寄存器中的数据缓冲区 , 最后将这些数据显示在屏幕里 。
显示出结果后 , 恢复被中断进程的上下文 。
-EOF-
Python学习交流群
【王优秀|A 字母时,操作系统期间发生了什么...,键盘敲入】为了让大家更加即时地沟通学习 , 我们建了一个Python学习交流群 , 有想入群的同学 , 可以添加下面小助手微信 , 他会拉大家入群哈~
推荐阅读
- 亻五哈哈|12的发布,我们承认苹果的优秀就那么难吗?,iPhone
- 三碗不够吃啊|【优秀企业推荐】滨州市印刷公司优秀企业推荐公示
- 和讯科技|知乎推出优秀视频答主扶持计划,五亿现金百亿流量
- 星翼嘉行|开一家优秀的直播公司需要具备什么条件?
- 长天一色秋水|【优秀企业推荐】内蒙古自治区物流公司优秀企业推荐公示
- 科学技术宅|这个国产品牌的手机,为何销量不佳?,设计优秀、辨识度高
- 科技Mentor|大内存+优秀拍照的5G手机,这三款手机不容错过!,预算2500左右
- 数码科技大爆炸|最优秀国产手机UI系统诞生!这三家手机厂商上榜:你用过吗?
- 巨裕话科技|有什么特殊含义?答案已确认了,手机4G信号栏的HD和字母“E”
- 网站推荐|优秀学习网站推荐(一)