13|中断初始化trap_init:你的键盘是何时生效的?
闪客
你好,我是闪客。
上一讲我们说到管理内存前划分出的三个边界值,以及主内存初始化函数 mem_init,也算是迈出了 main 函数的第一步。
这一讲我们要来探索“中断”隐藏的奥秘,建立一个中断描述符表 idt,来管理各种中断。
trap_init 方法
话不多说,我们先看一个方法。
这个方法是干嘛的?不着急,先来听我抛出一个问题。
当你的计算机刚刚启动时,你按下键盘是没有任何效果的,但是过了一段时间后,再按下键盘就有效果了,也就是计算机会给出反应,最简单的反应就是直接将键盘字符显示在屏幕上。
那我们今天就来刨根问底一下,到底过了多久之后,按下键盘才有效果呢?我们带着这个问题,打开 trap_init 方法看一看。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了操作系统中断初始化的过程,重点讲解了中断描述符表的建立和中断处理程序的设置。文章首先提出了一个问题:在计算机启动后,按下键盘多久才会生效?然后通过分析 trap_init 方法的代码,解释了中断描述符表的建立过程,以及 set_trap_gate 和 set_system_gate 方法的作用。接着介绍了批量设置默认中断的过程,最后通过 tty_init 方法设置了键盘中断处理程序,使键盘生效。总结来说,本文通过讲解中断初始化的过程,帮助读者了解了操作系统中断处理的基本原理和流程。
该试读文章来自《Linux0.11 源码趣读》,如需阅读全部文章,
请先通过赠一得一解锁课程
请先通过赠一得一解锁课程
赠一得一
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(4)
- 最新
- 精选
- Ethan键盘是怎么发出0x21号中断的,或者说硬件发出怎样的信号CPU接收到可以理解为0x21中断,这个是每家键盘生产商默认遵守的吗,还是和CPU型号有关?2023-03-06归属地:上海24
- 夜未眠用户程序是如何主动进入中断的?2023-03-10归属地:云南
- Ethan小白请教下,怎么发现set_trap_gate定义在哪个源文件里面的?2023-03-06归属地:上海
- liiiiiii开始期待第三期2023-02-21归属地:广东
收起评论