键盘敲入 A 字母时,操作系统期间发生了什么?

这篇具有很好参考价值的文章主要介绍了键盘敲入 A 字母时,操作系统期间发生了什么?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

键盘敲入 A 字母时,操作系统期间发生了什么?

关于8.1 键盘敲入 A 字母时,操作系统期间发生了什么?的总结,前面都介绍了,但是在最后总结操作系统发生了什么的时候,我觉得有点不详细,于是写一写自己的补充和理解,不一定正确。

  1. 键盘敲击之后,键盘控制器根据敲击的键生成扫描码,写入寄存器同时通过中断控制器向CPU发出中断请求。CPU接到中断请求后即停止正在执行的程序,保存现场,转入键盘中断服务程序。
  2. 中断服务程序从寄存器中读出键盘扫描码转换成Ascii码与扫描码一起存入键盘缓冲区。然后即返回原程序运行。

而显示是另外程序的事。有些程序选择只读不显示,比如游戏控制。有的程序不要求输入比如计算一百万位圆周率,键盘输入会一直存缓冲区,缓冲区(一般16个字符)满了就丢弃。有的程序需要即时操作,在读缓冲区之前会先清除缓冲区等你新鲜按键。比如赛车游戏,在开始加载时你瞎按了一些键。如果不清除,等赛车就位就可能先瞎转一气当一个程序需要键盘输入时,即查询键盘缓冲区,如果有按键即读入,如果没有就等待一直到键盘缓冲区中有新的输入。键盘中断与程序读键盘类似生产者与消费者。瓜农(操作系统)听到西瓜熟了的声音(中断)就去把瓜拣了放入仓库。用户(程序)想吃瓜就去仓库,如果有就抱走,如果没有就死等。如果西瓜成熟没有声音,瓜农就只好整天在瓜地转悠(轮询),这样效率很低。

这时候你可能会想,输入缓冲区只有一个,操作系统如何对应知道当前的输入对应哪一个程序?

焦点和活动窗口: 操作系统会跟踪当前的活动窗口,即用户正在与之交互的窗口。这个窗口可能是用户最后点击的窗口,或者是用户通过任务切换等方式设定的。操作系统知道哪个窗口是活动窗口,并因此决定将键盘输入发送到这个窗口。
活动窗口或应用程序会拥有一个事件队列。当键盘输入发生时,操作系统会创建一个键盘事件,并将其放入活动窗口的事件队列中。
应用程序通常在事件循环中不断地检查事件队列。当应用程序发现有新的键盘事件时,它会从事件队列中取出事件并执行相应的处理。这可能包括更新用户界面、执行特定操作或进行其他适当的响应。
文章来源地址https://www.toymoban.com/news/detail-677575.html



到了这里,关于键盘敲入 A 字母时,操作系统期间发生了什么?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu版本Linux操作系统上安装键盘中文输入法

    要在ubuntu版本Linux操作系统上安装键盘中文输入法 可以按照以下步骤进行操作: 1、Linux终端输入: sudo apt-get install ibus-pinyin 这将安装一个常用的中文输入法 “ ibus-pinyin ”。 2、重新启动系统:为了使输入法生效,需要重新启动您的系统 Linux终端输入: sudo reboot 3、在重启后

    2024年02月16日
    浏览(39)
  • keychron K3 键盘和 Windows11 操作系统的笔记本电脑通过蓝牙配对出现问题的解决方案

    最近一直使用良好的 keychron k3 键盘,忽然出现了一些问题。 我用的是 Windows11 操作系统。keychron k3 采用蓝牙模式连接。能够成功配对,但 Connected 状态只能持续1秒钟,随即就变成了 Paired 状态。 下图是短暂的1秒钟能够成功连接的状态: 同这台笔记本电脑连接的其他蓝牙设备

    2024年02月09日
    浏览(50)
  • 从输入URL到网页显示,期间发生了什么(详解)

    Internet上的每一个网页都具有一个唯一的名称标识,通常称之为 URL (Uniform Resource Locator, 统一资源定位器)。它是www的统一资源定位标志,简单地说URL 就是web地址,俗称“网址”。 URL格式 首先浏览器的第一步是对URL进行解析 ,从而 发送给Web服务器的请求信息。 假如说 没有

    2023年04月08日
    浏览(46)
  • MySQL执行流程_执行一条select语句,期间发生了什么

    MySQL执行流程 server层负责建立连接、分析和执行SQL 包括连接器、查询缓存、解析器、预处理器、优化器、执行器等,所有内置函数和所有跨存储引擎的功能在该层实现 存储引擎层负责数据的存储和提取 索引数据结构就是由存储引擎层实现,不同的存储引擎支持的索引类型也

    2024年02月04日
    浏览(40)
  • Oracle EBS AR 应收模块取应收余额及期间发生额(事务维度)

    最近用户有个看应收余额的需求,按照会计期间+客户+应收事务上的弹性域 维度出具。 刚开始想法比较简单,从应收模块穿透到子分类账去取,AR模块跟应收账款余额相关的有三部分 应收事务(含标准及贷项发票) 收款去核销收入 应收事务调整 于是就同通过下面的sql来进行

    2024年02月16日
    浏览(26)
  • SQL Server :已成功与服务器建立连接,但是在登录前的握手期间发生错误。

    学习sqlserver的时候,默认的身份验证是windows的身份验证。 而在进一步学习的时候希望改成sqlserver的身份验证。操作流程无非就是选中服务器——》右击属性 再按如下图选择,当然sqlserver有默认的身份验证账号,sa,操作教程也有,这里不谈。我也是按如此操作的 当然我画蛇

    2024年02月07日
    浏览(38)
  • 操作系统——操作系统用户界面

    操作系统入门知识合集 目录 3.1操作系统启动过程 3.1.1BIOS和主引导记录MBR 思考题:  3.1.2操作系统的启动过程 思考题: 3.2用户界面 3.2.1用户界面概念  思考题: 3.2.2系统调用 计算机有两种模式: 1.实模式:当计算机刚开机、刚上电、还没有加载操作系统的时候,计算器处于

    2024年02月02日
    浏览(42)
  • 【操作系统基础】操作系统的分类与发展

    这篇文章是操作系统基础的开始,收录于我是沐风晓月的《操作系统原理》专栏 操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其它软件方便的接口和环境,它是计算机系统中最基本的系统软件。 操

    2023年04月19日
    浏览(33)
  • 操作系统-笔记-第一章-操作系统的概念

    一、第一章——操作系统的概念 二、第二章——【进程】 二、第二章——【线程】​编辑 二、第二章——【进程调度】 二、第二章——【进程同步与互斥】 二、第二章——【锁】 三、第三章——内存管理 四、第四章——文件管理 五、第五章——输入输出管理 🚀 学习心

    2024年02月12日
    浏览(41)
  • 操作系统学习第5天(操作系统引导)

    操作系统(如Windows、Linux等)是一种程序,程序以数据的形式存放在硬盘中,而硬盘通常分为多个分区,一台计算机中又有多个或多种外部存储设备。操作系统引导是指计算机利用CPU运行特定程序,通过程序识别硬盘,识别硬盘分区,识别硬盘分区上的操作系统,最后通过程

    2023年04月11日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包