linux驱动基础试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
L i n u x驱动基础试题(时间:1个小时)
一、选择题(每题4分,共40分,包括单选和多选,多选、少选均不得分)
1.Linux系统中将设备进行分类管理,下列设备中(ACD)属于字符设备,(BC)属于块设备
[A]键盘[B]硬盘[C]闪存设备[D]帧缓存设备[E]网卡
2.Linux系统中,内核以(D)区分设备
[A]设备节点名[B]设备节点号[C]设备名称[D]设备号
3.Linux系统中设备节点可以创建在(A)
[A]/dev目录下[B]根目录下[C]/tmp目录下[E]以上都可以
4.Linux驱动程序运行在(A)
[A]内核空间[B]用户空间[C]用户空间和内核空间
5.Linux系统中设备驱动程序是以模块形式组织的,编译驱动时可以用哪种方式编译(AB)
[A]静态编译进内核[B]动态编译
6.内核中,设备的主设备号用(B)位来表示,次设备号用(D)位来表示
[A]8[B]12[C]16[D]20[E]24[F]32
7.Linux系统中哪些种类的设备有设备节点(BD)
[A]定时器[B]字符设备[C]块设备[D]网络设备
8.通常情况下,kmalloc函数能分配的最大内存是(C)
[A]4K[B]64K[C]128K[D]4M
9.能保证物理空间上连续的内存分配函数是(AB)
[A]__get_free_pages[B]kmalloc[C]vmalloc[D]malloc
10.Linux系统中通过add_timer添加的timer是(A)
[A]一次的[B]循环的[C]以上两种都可以
二、简答题(每题6分,共60分)
系统中以模块方式组织设备驱动程序,请列举在一个模块程序中必不可少的组成部分。(可以写个Helloworld模块的程序)
2.请从定义、性质、操作方式等方面对比说明字符设备和块设备。
3.请列举Linux设备驱动程序中,程序延缓执行的机制。
4.简述Linux设备驱动中使用中断的步骤。
5.简述信号量和自旋锁的异同和使用时的注意事项。
6.简述命令mknod/dev/zeroc15的做用和命令各个部分的含义,并写出创建一个块设备节点的命令。
7.简述命令insmod,rmmod,lsmod的功能。
8.驱动程序中采用动态申请设备号的,我们如何得到对应设备的设备号?
9.简述设备驱动程序和普通应用程序的异同点。
10.简述mmap机制的作用和使用mmap的好处。