课堂练习6.2:对字符设备的访问

这篇博客主要探讨了Linux内核2.0版本中字符设备键盘的读取过程,包括sys_read函数的用户缓冲区地址、tty_read函数运行时read_q队列的状态、键盘中断处理程序中的队列变化、do_tty_interrupt函数执行前后队列状态、wake_up函数调用时的队列详情以及tty_read结束时secondary队列的状态。通过一系列的问题解答,深入解析了键盘输入数据的处理流程。
摘要由CSDN通过智能技术生成

第1关:键盘的读取过程分析

本关任务回答问题在版本 2 内核运行时会读取 0 号终端的(键盘)输入数据,请直接输入回车,并调试分析该读键盘过程,回答下列问题:
1.函数 sys_read 的参数中记录的用户缓冲区地址(段内偏移)是多少?
2.函数 tty_read 开始运行时,0 号终端的 read_q 队列的头指针(数组下标)和尾指针分别是多少?
3.键盘中断处理程序开始运行时,0 号终端的 read_q 队列的头指针和尾指针分别是多少?
4.函数 do_tty_interrupt 开始运行时,0 号终端的 read_q 队列的头指针和尾指针分别是多少?该队列中的未读取字符串是什么?0 号终端的 secondary 队列的头指针和尾指针分别是多少?
5.函数 wake_up 开始运行时,0 号终端的 read_q 队列的头指针和尾指针分别是多少?0 号终端的 secondary 队列的头指针和尾指针分别是多少?该队列中的未读取字符串是什么?
6.函数 tty_read 结束时,0 号终端的 secondary 队列的头指针和尾指针分别是多少?用户缓冲区的头 2 个字节是什么?

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ssaty.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值