- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
百度文库
Linux 驱动试题
笔试题:
1 参考答案: 字符设备是指存取时没有缓存的设备,大多数字符设备只能顺序读写。比
如鼠标、键盘、声卡。
块设备的读写则都有缓存来支持, 只能以块为单位进行读写, 并且块设备必须能够随机存取
(random access) ,即不管块处于设备的什么地方都可以对它进行读写,字符设备则没有这
个要求。比如硬盘、 U 盘、 SD 卡。
2 、
参考答案:查看驱动中的打印信息用 dmesg 命令。
查看内核中字符设备和块设备信息可以使用命令 cat /proc/devices 。
查看正在使用的中断号可以使用命令 cat /proc/interrupts 。
、
参考答案: Linux 内核是一种单一大内核,如果没有模块机制,在调试阶段,我们需要
修改内核中的某个驱动, 必须把内核整个编译一遍, 还要重新启动机器, 这样操作会非常耗
时。有了模块,我们只需要对我们关心的驱动以模块方式单独编译,无须编译整个内核,也
不需要重启机器。
、
参考答案: copy_to_user 实现从内核空间向用户空间拷贝数据的功能。
copy_from_user 实现从用户空间向内核空间拷贝数据的功能。 分别用于实现驱动中的 read
和 write 函数。如果交换数据都发生在内核空间中,可以直接使用内核定义的 memcpy 函
数。
百度文库
百度文库
、
参考答案: 主设备号用于区别不同的驱动程序, 次设备号用于区别使用同一个驱动程序
的同一类设备中的不同设备。 chartest 使用和 ttyS0 一样的驱动程序。
、
参考答案: register_chrdev(MAJOR_NUMBER, DRIVER_NAME, xxx_fops)
该函数有三个参数,分别是主设备号,驱动名字和 file_operations 结构的指针
、
参考答案:中断是一段程序,当外部设备引起中断时由 CPU 执行。 DMA 是直接内存
访问,用于外设与主存储器之间快速的交换数据,利用 DMA ,在交换数据时可以不通过
CPU ,提高了 CPU 的利用率。
注册中断使用 request_irq(IRQ_NUMBER, (*handler), IRQ_FLAGS, DRIVER_NAME,
dev_id) 。该函数共有 5 个参数,分别是要注册的中断号,中断处理程序的指针,中断标志
位,中断的名字和 dev_id 用于区别共享同一个中断的不同设备。
注销中断使用 free_irq(unsigned int, void *) 第一个参数是中断号,第二个参数一般是
NULL 指针。
、
参考答案: 在一般情况下,由于数据量比较小, 中断会比轮询更有效率。但是如果数据
百度文库
百度文库
量比较大的时候,如果采用中断,由于 CPU 花在进程切换和保存现场上的时间开销变得比
较大,所以这个时候通常采用轮询更有效率。
、
参考答案: 802.3 MAC Engine :实现 802.3 协议的核心,实现对以太网桢的发送和接
收。
Encoder/Decoder : Encoder/Decoder 部分实现对曼彻斯特的编码 / 译码工作。
10Base-T RX/RX filter Receiver/ Transmitter :实现对物理信号的发送和接收。
、
参考答案:发送数据 frame :
a.关中断
b.发送 skbuff 中的数据到硬件上
c.开中断
d.释放 skbuff
接收数据 frame :
a.读硬件获得数据长度
b. 根据长度分配 skbuff
百度文库
百度文库
c.从硬件上读数据到 skbuff 内
d. 通过 netif_rx 将 skbuff 提交到上层,也就是 IP 层 。
、
参考答案:发送数据 frame 的过程可能在线程的上下文中,关中断是为了保证数据发
送的一致性,而接收数据 frame 的过程主要在中断处理中,这个过程本身就是原子的,所
以不需要关中断。
、
参考答案: sk_buff 是在 Linux 网络协议的各个层次上都用到的一个数据结构,目的是
防止数据的重复拷贝。 sk_buff 的分配由最先使用它的模块分配,而由最后使用它的模块进
行释放,具体到网络设备来说,就是,发送的时候在网络协议的最高层,也就是 TCP 层负
责分配,而在设备驱动中当向硬件上发送完 sk_buff 中数据后释放 sk_buff ;而对于接受就
是在设备驱动的接收到以太网侦的时候分配 sk_buff 以容纳数据, 而在最高层, 也就是 TCP
层负责释放。
百度文库
您可能关注的文档
- 2020版高考政治一轮复习课后限时集训(十六)我国的人民代表大会制度解析版新人教版.doc
- 2020版高考数学复习第八单元第39讲两直线的位置关系练习文含解析新人教A.doc
- 2020版高考数学复习第十一单元第51讲合情推理与演绎推理练习文含解析新人教A版9.doc
- 20个历史故事我们需要知道.doc
- 23.1图形的旋转同步练习1含答案.doc
- 24.1圆的基本性质同步练习含答案.doc
- 24圆单元检测题2含答案.doc
- 250字的小学二年级学生日记欣赏.doc
- 26则重阳节的古诗词三年级.doc
- 2小丽同学欲通过实验证明二氧化锰是过氧化氢分解的催化剂.doc
- 湖北省荆州市沙市中学2025-2026学年高一上学期12月月考语文试题.docx
- 吉林省长春市第二实验中学2025-2026学年高二上学期11月期中考试数学含解析.docx
- 四川省字节精准教育联盟2026届高中毕业班第一次诊断性检测政治.docx
- 四川省字节精准教育联盟2026届高中毕业班第一次诊断性检测政治答案.docx
- 物理试卷(A卷)答案山西省三重教育2025-2026学年高二12月阶段性检测(12.17-12.18).docx
- 物理试卷(A卷)山西省三重教育2025-2026学年高二12月阶段性检测(12.17-12.18).docx
- Unit1Reading2课件牛津译林版七年级英语下册.pptx
- 物理试卷(A卷)答案浙江省2025学年第一学期浙江北斗星盟高二年级12月阶段性联考(12.18-12.19).docx
- 四川省字节精准教育联盟2026届高中毕业班第一次诊断性检测语文.docx
- Unit1MynamesGina第3课时考点讲解writing16张.pptx
最近下载
- Python编程:从入门到实践.docx VIP
- 庆元旦迎新年主题班会PPT课件.pptx VIP
- 贝叶斯网络应用实例一:胸部疾病诊所(ChestClinic).pdf VIP
- 2025年形象设计师(初级)职业技能鉴定参考试题库资料(含答案).pdf
- 中学语文教学中融入AI思维的策略论文.docx
- 股权激励与股权结构设计.ppt VIP
- 国家基层糖尿病防治管理指南(2025)解读.pptx
- 中医跟师心得体会10篇.docx VIP
- 无人机集群技术——智能组网与协同 课件 第8章 无人机集群任务分配.pptx
- 2025至2030中国飞行控制系统行业市场深度研究及发展前景投资可行性分析报告.docx VIP
原创力文档


文档评论(0)