当前位置:文档之家› linux驱动基础试题

linux驱动基础试题

Linux驱动基础试题(时间:1个小时)
一、选择题(每题 4 分,共40 分,包括单选和多选,多选、少选均不得分)
1. Linux 系统中将设备进行分类管理,下列设备中(ACD )属于字符设备,
(BC )属于块设备
[A] 键盘[B] 硬盘[C] 闪存设备[D] 帧缓存设备[E] 网卡
2. Linux 系统中,内核以(D )区分设备
[A] 设备节点名[B] 设备节点号[C] 设备名称[D] 设备号
3. Linux 系统中设备节点可以创建在(
[A] /dev 目录下[B] 根目录下A)
[C] /tmp 目录下[E] 以上都可以
4. Linux 驱动程序运行在(A )
[A] 内核空间[B] 用户空间[C] 用户空间和内核空间
5. Linux 系统中设备驱动程序是以模块形式组织的,编译驱动时可以用哪种方式编译
(AB )
[A] 静态编译进内核[B] 动态编译
6. Linux 2.6 内核中,设备的主设备号用(
[A] 8 [B] 12 [C ] 16 [D ] 20
B )位来表示,次设备号用

[E] 24 [F] 32
D )位来表示
7. Linux 系统中哪些种类的设备有设备节点(
[A] 定时器[B] 字符设备[C ]
BD )
块设备[D ] 网络设备
8. 通常情况下,kmalloc 函数能分配的最大内存是(C )
[A] 4K [B] 64K [C ] 128K [D ] 4M
9. 能保证物理空间上连续的内存分配函数是(A B )
[A] __get_free_pages [B] kmalloc [C ] vmalloc [D ]
malloc
10. Linux 系统中通过add_timer 添加的timer 是
(A )
[A] 一次的[B] 循环的[C ] 以上两种都可以
二、简答题(每题 6 分,共60 分)
1. Linux 系统中以模块方式组织设备驱动程序,请列举在一个模块程序中必不可少的组成部分。

(可以写个Hello world 模块的程序)
2•请从定义、性质、操作方式等方面对比说明字符设备和块设备。

3•请列举Linux设备驱动程序中,程序延缓执行的机制。

4.简述Linux设备驱动中使用中断的步骤。

5.简述信号量和自旋锁的异同和使用时的注意事项。

6.简述命令mknod /dev/zero c 1 5的做用和命令各个部分的含义,并写出创建一个块设备节点的命令。

7.简述命令insmod,rmmod,lsmod的功能。

8.驱动程序中采用动态申请设备号的,我们如何得到对应设备的设备号?
9.简述设备驱动程序和普通应用程序的异同点。

10.简述mmap机制的作用和使用mmap的好处。

相关主题