1. 在原始代码中,按下F12,中断响应后,中断服务程序会调用func?它实现的是什么功能?
答:判断是否为F1-F12的扫描码,若是,则将查func_table中的4个字节的转义字符序列放入缓冲队列中。若不是,则不处理并返回。
2. 在你的实现中,是否把向文件输出的字符也过滤了?如果是,那么怎么能只过滤向终端输出的字符?如果不是,那么怎么能把向文件输出的字符也一并进行过滤?
答:没有把向文件输出的字符也过滤哦。因为shell处理的时候,没有让ECHO置位,所以不是在copy_to_cooked中将字符放到write_q,然后调用con_write进行回显的。而是shell通过上层的sys_write系统调用将tty->secondary队列中的字符显示出来的,从而将按下的键显示在屏幕上。而在sys_write的实现过程中调用了tty_write函数。所以只修改tty_write后,按键回显当然也变成*了。
如果不使用shell那么回显的按键就是它本身,不会显示为*了。因此要想将向文件输出的字符一并进行过滤,需要修改file_write函数,设置标志,如果为F12按下状态,将从内核态读出的数据转为‘*’赋给用户空间即可 。
ertwer12
- 粉丝: 34
- 资源: 13
最新资源
- 09-新员工成长计划表员工版.doc
- 08-新员工成长地图.ppt
- 02-新员工成长手册.docx
- 10-新员工成长记录表.docx
- 11-【其他】04-新员工岗前培训试题.docx
- 11-【其他】07-新员工入职培训跟踪表.docx
- 08-【考核管理】10-新员工培训评估表.doc.docx
- 11-【其他】01-新员工入职培训引导表.docx
- 09-【确认书】01-新员工入职培训确认书.docx
- 08-【考核管理】07-新员工培训考核表.doc.docx
- 07-【培训考试】03-新员工培训考试试题.docx
- 06-【培训手册】10-新员工培训手册.docx
- 08-【考核管理】01-新员工培训和考核管理制度.doc.docx
- 06-【培训手册】03-新员工培训手册范本.docx
- 06-【培训手册】04-公司员工培训手册.docx
- 03-【培训流程】08-培训管理流程.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
- 4
- 5
前往页