linux驱动基础试题

合集下载

Linux基础(习题卷9)

Linux基础(习题卷9)

Linux基础(习题卷9)第1部分:单项选择题,共60题,每题只有一个正确答案,多选或少选均不得分。

1.[单选题]Linux系统的联机帮助命令是()。

A)tarB)CdC)MkdirD)Man答案:D解析:2.[单选题]Linux系统通过 命令给其他用户发消息。

A)lessB)mesg yC)writeD)echo to答案:C解析:3.[单选题]DHCP客户端在广播IP租约请求时使用的端口()A)TCP 67B)TCP 68C)UDP 67D)UDP 68答案:C解析:4.[单选题]下面关于Shell的说法,不正确的是哪个?( )A)操作系统的外壳B)用户与Linux内核之间的接口C)一种和C类似的高级程序设计语言D)一个命令语言解释器答案:A解析:5.[单选题]操作系统作业管理的主要功能是( )。

A)作业调度与控制B)作业提交C)作业准备D)编制程序答案:A解析:6.[单选题]NFS工作站要挂载远程NFS服务器上一个目录时,下列( )是服务器端必需的。

D)以上全部都需要答案:D解析:7.[单选题]Linux命令中可以用于补齐命令的键是( )。

A)ESCB)TabC)BackspaceD)空格答案:B解析:8.[单选题]哪个命令可以用于配置Red Hat Linux 启动时自动启动 httpd 服务?A)serviceB)ntsysvC)useraddD)startx答案:B解析:9.[单选题]以下文件中,保存用户账号信息的是()A)/etc/usersB)/etc/shadowC)/etc/passwdD)/etc/fstab答案:C解析:10.[单选题]LILO使用的配置文件是A)/lilo/lilo.confB)/var/lilo.confC)/etc/lilo.confD)/boot/lilo/lilo.conf答案:C解析:11.[单选题]下面关于文件"/etc/sysconfig/network- scripts/ifcfg-eth0"的描述哪个是正确的?( )。

Linux平台驱动试卷 (答案)

Linux平台驱动试卷 (答案)

湖南科技学院二○ 一四 年 下 学期期末考试电信、电科 专业 2011 年级 Linux 平台驱动 试题考试类型:闭卷 试卷类型: A 卷 考试时量: 120 分钟一、选择题(每题3分,共30分)1) 嵌入式系统,是以(B )为中心,以计算机为基础,并且软硬件可定制,适用于各种应用场合,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统A.LinuxB.应用C.数据处理D.产品 2) 嵌入式系统的四大组成部分,分别是:嵌入式微处理器、外围硬件设备、( D )、用户应用程序A.嵌入式底层驱动B.嵌入式系统调用C.嵌入式根文件系统D.嵌入式操作系统3) 目前人们所指的嵌入式微处理器一般是指( D )位A.4bitB.8bitC.16bitD.32bit4) Linux 系统中,内核以(D )区分设备。

A.设备节点名B :设备设备节点号 C.设备名称 D 。

设备号 5) 对交叉编译描述正确的是(B )A.在同一平台完成编译和运行B.在一种平台上能编译出不同平台上运行的程序C.使用同一交叉编译器编译出来的可执行文件是跨平台运行的D.动态库是跨平台的,不需要交叉编译6) s5pv210上电首先执行的代码来自于那里 ( A)A.iROMB.iRAMC.NAND flashD.SD卡7)将C源程序编译成目标文件(*.o),而不进行链接的编译选项是(D)A.-oB.-E -oC.-S -oD.-c -o8)通常情况下,kmalloc函数能分配的最大内存是(C)A.4KB.64KC.128KD.4M9)Linux系统启动后,一般将设备文件放在以下那个目录( B)A . /etcB . /dev C. /sys D. /var10)对于嵌入式C程序描述正确的是?(C )A. 必须以_start作为程序入口B. 必须以main函数作为程序入口C. 必须设置堆栈D. 裸机可执行程序是ELF格式的二、填空题(本题共5小题,每空1分共10分)1)Linux系统驱动设备分为字符设备、块设备和网络设备三大类。

驱动程序基础知识单选题100道及答案解析

驱动程序基础知识单选题100道及答案解析

驱动程序基础知识单选题100道及答案解析1. 驱动程序的主要作用是()A. 优化硬件性能B. 连接硬件和操作系统C. 提供用户界面D. 管理文件系统答案:B解析:驱动程序主要负责连接硬件设备和操作系统,使得操作系统能够识别和控制硬件。

2. 以下哪种不是常见的驱动程序类型()A. 显卡驱动B. 音频驱动C. 办公软件驱动D. 网卡驱动答案:C解析:办公软件不属于硬件,不需要专门的驱动程序。

3. 安装新硬件后,首先要安装的是()A. 应用程序B. 驱动程序C. 系统补丁D. 杀毒软件答案:B解析:为了让新硬件正常工作,首先要安装对应的驱动程序。

4. 驱动程序通常由()提供A. 硬件制造商B. 操作系统开发商C. 第三方软件公司D. 以上都有可能答案:D解析:硬件制造商、操作系统开发商和第三方软件公司都可能提供驱动程序。

5. 驱动程序版本更新的主要目的是()A. 增加新功能B. 修复漏洞C. 提高兼容性D. 以上都是答案:D解析:驱动程序版本更新可以实现增加新功能、修复漏洞、提高兼容性等目的。

6. 不正确安装驱动程序可能导致()A. 硬件无法正常工作B. 系统崩溃C. 数据丢失D. 以上都有可能答案:D解析:不正确安装驱动程序可能引发各种问题,包括硬件无法正常工作、系统崩溃、数据丢失等。

7. 以下哪种方式获取驱动程序最可靠()A. 从随机附带的光盘获取B. 从硬件制造商官网获取C. 从第三方下载网站获取D. 使用驱动精灵等工具自动获取答案:B解析:从硬件制造商官网获取的驱动程序通常是经过严格测试和适配的,最为可靠。

8. 对于Windows 操作系统,驱动程序文件的扩展名通常是()A..exeB..dllC..sysD..inf答案:C解析:.sys 是Windows 操作系统中常见的驱动程序文件扩展名。

9. 在Linux 系统中,驱动程序通常被编译进()A. 内核B. 应用程序C. 库文件D. 脚本答案:A解析:在Linux 系统中,很多驱动程序会被编译进内核。

Linux基础(习题卷26)

Linux基础(习题卷26)

Linux基础(习题卷26)第1部分:单项选择题,共60题,每题只有一个正确答案,多选或少选均不得分。

1.[单选题]Linux系统引导将启动 ( )进程A)initB)gettyC)syslogdD)lpd答案:A解析:2.[单选题]下面不是 vi 工作模式的是( )A)末行模式B)插入模式C)命令模式D)检查模式答案:D解析:3.[单选题]实时操作系统(RTOS)内核与应用程序之间的接口称为。

A)输入/输出接口B)文件系统C)APID)图形用户接口答案:C解析:4.[单选题]在 Linux 系统中,通过使用文件链接命令(ln)功能,可实现一个文件被下述哪种形式来处理()。

A)仅一个文件名称B)不超过两个文件名称C)每个目录可有一个文件名称D)两个或更多个文件名称答案:D解析:5.[单选题]LINUX根分区的大小为( )比较合适A)512KBB)5GBC)1MBD)和内存同样的大小答案:B解析:B)有40个包等待通过这个路由进行传输C)10.13.5的网段可以通过本地的在eth1设备上的NIC配置D)IP地址为10.13.5.0的主机现在是激活的答案:A解析:7.[单选题]怎样了解您在当前目录下还有多大空间?A)df .B)du /C)du .D)df答案:D解析:8.[单选题]设与某资源相关联的信号量初始值为 3,当前值为 1,若 M 表示该资源的可用个数,N 表示等待资源的进程数,则 M,N 分别是( )。

A)0,1B)1,0C)1,2D)2,0答案:B解析:9.[单选题]( )。

想要将当前目录下的voa_paper目录拷贝到/tmp目录下,可以执行命令()。

A)cpB)cpC)cpD)cp答案:C解析:10.[单选题]答案:( )。

要将在Linux系统中安装软件包vlc-2.0.4-5.el6.i686.rpm,应该执行命令( )。

A)rpmB)rpmC)rpmD)rpm答案:C解析:11.[单选题]两个旅行社甲和乙为旅客到某航空公司订飞机栗,形成互斥资源的是( )。

《linux设备驱动程序设计》课程试卷A及答案

《linux设备驱动程序设计》课程试卷A及答案

《linux设备驱动程序设计》课程试卷A适用专业:考试日期:闭卷所需时间:120分钟总分:100分一、填空题(每空1分,共10分)1.驱动程序全称为______________,是一种可以使计算机和________通信的特殊程序。

2.Linux设备驱动程序可以分为__________、__________、___________三类。

3.Linux内核主要由以下五个子系统组成____________、______________________、_______________、________________二、问答题(每题10分,共70分)1.什么是设备驱动?请详细说明(10分)2.无操作系统和有操作系统的设备驱动的区别在哪里?为什么要使用操作系统?(10分)3.驱动程序可以分为哪两类?请举例说明(10分)4.LINUX中引入了“模块”的概念,那么什么是“模块”?它有什么特点?(10分)主设备号和次设备号是什么?LINUX中如何使用它们?(10分)5.MAKEFILE的用途是什么?下面是一个简单的MAKEFILE文件,试分析其每句的功能(10分)aaa = hello.ohello:global.o $(aaa)hello.o: global.hglobal.o:global.hclean:rm *.o hello7. 常用的驱动编写相关的命令有以下几个,请分别写出它们的用途:(10分)printkInsmodLsmodRmmodDmesg三、程序阅读(共20分)下面是一个比较完整的驱动程序例子,请阅读代码,详细写出每段的意义(每空2分,共20分)头文件略MODULE_LICENSE("GPL");#define MAJOR_NUM 252 ①static ssize_t hello_read(struct file *, char *, size_t, loff_t * off);static ssize_t hello_write(struct file *, const char *, size_t, loff_t * off);static int hello_open(struct inode *inode,struct file *filp);static int hello_release(struct inode *inode,struct file *filp);struct file_operations hello_fops ={open: hello_open,read: hello_read,write: hello_write,release:hello_release,}; ②static int global_var = 0;static int __init hello_init(void){int ret;ret = register_chrdev(MAJOR_NUM, "hello", &hello_fops);if (ret){printk("hello register failure!\n");}else{printk("hello register success!\n");}return ret;} ③static void __exit hello_exit(void){int ret;ret = unregister_chrdev(MAJOR_NUM, "hello");if (ret){printk("hello unregister failure\n!");}else{printk("hello unregister success!\n");}} ④static int hello_open(struct inode *inode,struct file *filp) {printk("this is hello_open!\n");return 0;} ⑤static int hello_release(struct inode *inode,struct file *filp) {printk("this is hello_release!\n");return 0;} ⑥static ssize_t hello_read(struct file *filp, char *buf, size_t len, loff_t *off){printk("this is hello_read!\n");if (copy_to_user(buf, &global_var, sizeof(int))){return 0;}return sizeof(int);} ⑦static ssize_t hello_write(struct file *filp, const char *buf, size_t len, loff_t *off){printk("this is hello_write!\n");if (copy_from_user(&global_var, buf, sizeof(int))){return 0;}return sizeof(int);} ⑧module_init(hello_init); ⑨module_exit(hello_exit); ⑩《linux设备驱动程序设计》课程试卷A答案一、填空题1 设备驱动程序设备2. 字符设备块设备网络设备3 进程调度内存管理虚拟文件系统网络接口进程间通信二,问答题1驱动程序(Device Driver)全称为“设备驱动程序”,是一种可以使计算机和设备通信的特殊程序。

linux考试试题及答案

linux考试试题及答案

Linux考试试题及答案一、选择题1、在/etc/fstab 文件中指定的文件系统加载参数中,那个参数一般用于CD-ROM 等移动设备(D )A. defaultsB. swC. rw 和 roD. noauto2、Linux 文件权限一共 10 位长度,分成四段,第三段表示的内容是(C)A. 文件类型B. 文件所有者的权限C. 文件所有者所在组的权限D. 其他用户的权限3、在使用 mkdir 命令创建新的目录时,在其父目录不存在时先创建父目录的选项是(D)A. -mB. -dC. -fD. -p4、一台主机要实现通过局域网与另一个局域网通信,需要做的工作是(C)A. 配置域名服务器B. 定义一条本机指向所在网络的路由C. 定义一条本机指向所在网络网关的路由D. 定义一条本机指向目标网络网关的路由5.下列提法中,不属于 ifconfig 命令作用范围的是(D)A. 配置本地回环地址B. 配置网卡的 IP 地址C. 激活网络适配器D. 加载网卡到内核中6、下列关于链接描述,错误的是(B)A. 硬链接就是让链接文件的 i 节点号指向被链接文件的 i 节点B. 硬链接和符号连接都是产生一个新的 i 节点C. 链接分为硬链接和符号链接D. 硬连接不能链接目录文件7、下列文件中,包含了主机DNS 配置信息的文件是(C )A. /etc/host.confB. /etc/hostsC. /etc/resolv.confD. /etc/networks8、那个命令可以从文本文件的每一行中截取指定内容的数据(D)A.cpB.ddC.fmtD.cut9、Linux 有三个查看文件的命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用(C)命令。

A.catB.moreC.lessD.menu10、对名为 fido 的文件用 chmod 551 fido 进行了修改,则它的许可权是(D)A.-rwxr-xr-xB.-rwxr--r--C.-r--r--r--D.-r-xr-x—x11、文件 exer1 的访问权限为 rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是(A)A.chmod a+x g+w exer1B.chmod 765 exer1C.chmod o+x exer1D.chmod g+w exer112、有关归档和压缩命令,下面描述正确的是(C)A.用 uncompress 命令解压缩由 compress 命令生成的后缀为.zip 的压缩文件B.unzip 命令和 gzip 命令可以解压缩相同类型的文件C.tar 归档且压缩的文件可以由 gzip 命令解压缩D.tar 命令归档后的文件也是一种压缩文件13、下列那一项不是进程和程序的区别(B)A.程序是一组有序的静态指令,进程是一次程序的执行过程B.程序只能在前台运行,而进程可以在前台或后台运行C.程序可以长期保存,进程是暂时的D.程序没有状态,而进程是有状态的14、下列关于/etc/fstab 文件描述,正确的是(D)A.fstab 文件只能描述属于 linux 的文件系统B.CD_ROM 和软盘必须是自动加载的C.fstab 文件中描述的文件系统不能被卸载D.启动时按 fstab 文件描述内容加载文件系统15、如果想配置一台匿名 ftp 服务器,应修改那个文件(C)A./etc/gatewayB./etc/ftpserversC./etc/ftpusersD./etc/inetd.conf16、关于进程调度命令,那一项是不正确的(B)A.当日晚 11 点执行 clear 命令,使用 at 命令:at 23:00 today clearB.每年 1 月 1 日早上 6 点执行 date 命令,使用 at 命令:at 6am Jan 1 dateC.每日晚 11 点执行 date 命令,crontab 文件中应为:0 23 * dateD.每小时执行一次 clear 命令,crontab 文件中应为:0 */1 * clear17、可以完成主机名与 IP 地址的正向解析和反向解析任务的命令是(A)A.nslookupB.arpC.ifconfigD.dnslook18、将光盘/dev/hdc 卸载的命令是(C)A.umount/dev/hdcB.unmount/dev/hdcC.umount/mnt/cdrom /dev/hdcD.unmount/mnt/cdrom /dev/hdc19、用 ftp进行文件传输时,有两种模式(C)E.Word 和 binaryF.txt 和 Word DocumentG.ASCII 和 binaryH.ASCII 和 Rich Text Format20、crontab 文件由六个域组成,每个域之间用空格分割,其排列如下(B)I.MIN HOUR DAY MONTH YEAR COMMANDJ.MIN HOUR DAY MONTH DAYOFWEEK COMMANDMAND HOUR DAY MONTH DAYOFWEEKMAND YEAR MONTH DAY HOUR MIN二、填空题1. 在Linux系统中,以文件方式访问设备。

linux驱动工程师面试题整理

linux驱动工程师面试题整理

下面的设备文件,供上层应用程/dev/1、字符型驱动设备你是怎么创建设备文件的,就是序打开使用的文件?命令结合设备的主设备号和次设备号,可创建一个设备文件。

答:mknod自动创建设备文件的方还有UDEV/MDEV评:这只是其中一种方式,也叫手动创建设备文件。

包括创建和删除设备文件,可以动态管理设备文件,式,UDEV/MDEV是运行在用户态的程序,一创建了设备文件。

运行在用户态意味着系统要运行之后。

那么在系统启动期间还有devfs共有三种方式可以创建设备文件。

、写一个中断服务需要注意哪些?如果中断产生之后要做比较多的事情你是怎么做的?2的任务尽量放在后)答:中断处理例程应该尽量短,把能放在后半段(tasklet,等待队列等半段。

包括硬写一个中断服务程序要注意快进快出,在中断服务程序里面尽量快速采集信息,评:也就是中断上方式。

tasklet件信息,然后推出中断,要做其它事情可以使用工作队列或者半部和下半部。

第二:中断服务程序中不能有阻塞操作。

为什么?大家可以讨论。

第三:中断服务程序注意返回值,要用操作系统定义的宏做为返回值,而不是自己定义的之类的。

FAILOK,、自旋锁和信号量在互斥使用时需要注意哪些?在中断服务程序里面的互斥是使用自旋锁3 还是信号量?还是两者都能用?为什么?中断服务例程中的互斥使用使用信号量的进程可以睡眠。

答:使用自旋锁的进程不能睡眠,的是自旋锁,原因是在中断处理例程中,硬中断是关闭的,这样会丢失可能到来的中断。

、原子操作你怎么理解?为了实现一个互斥,自己定义一个变量作为标记来作为一个资源4 只有一个使用者行不行?自己定义一个变量怎么我没懂第二句是什么意思,答:原子操作指的是无法被打断的操作。

可能标记资源的使用情况?其他进程又看不见这个变量评:第二句话的意思是:定义一个变量,比如 int flag =0;if(flag == 0){flag = 1;操作临界区;flag = 0;这样可否?}呢?这两个函数在设计上要注insmod 一个驱动模块,会执行模块中的哪个函数?rmmod5、意哪些?遇到过卸载驱动出现异常没?是什么问题引起的?这两个函数在设计时要注意什么?卸载函数。

linux驱动面试题

linux驱动面试题

linux驱动面试题Linux驱动是指在Linux操作系统中,用于控制与硬件之间的交互和通信的软件模块。

在Linux的工作环境中,驱动程序起着至关重要的作用。

如果你准备参加Linux驱动的面试,以下是一些常见的Linux驱动面试题,希望可以对你有所帮助。

一、简述Linux驱动的作用和功能。

Linux驱动是一种软件模块,用来控制硬件设备与操作系统之间的通信和交互。

它负责将输入/输出请求传递给硬件设备,并处理来自硬件设备的中断和事件。

Linux驱动的功能包括设备初始化和配置、数据传输和处理以及错误处理等。

二、请简要介绍Linux驱动程序的加载过程。

当系统启动时,Linux内核首先会加载核心模块和驱动程序模块。

驱动程序模块是以目标硬件设备为基础的,它们包含了与设备通信所需的函数和数据结构。

一般情况下,系统会根据硬件设备信息自动加载对应的驱动程序模块。

加载驱动程序模块需要通过insmod或modprobe命令进行,这些命令可以在启动时自动执行。

三、请简述Linux驱动程序的实现方式。

Linux驱动程序的实现方式包括内核空间驱动和用户空间驱动。

内核空间驱动是指驱动程序运行在内核空间,直接与硬件设备进行交互。

用户空间驱动是指驱动程序运行在用户空间,通过系统调用和内核模块实现与硬件设备的通信。

内核空间驱动的优势是性能更好,但需要对内核进行编译和加载,而用户空间驱动的优势是开发更加容易,但性能会稍差。

四、请介绍Linux驱动程序中常用的数据结构和函数。

在Linux驱动程序中,常用的数据结构有file结构体、inode结构体和cdev结构体等。

file结构体用于表示一个打开的设备文件,可以通过它传递与设备相关的信息。

inode结构体用于表示一个文件的元数据信息,包括文件的权限、大小和创建时间等。

cdev结构体用于表示一个字符设备,包含了设备文件的操作函数和设备号等信息。

常用的函数包括register_chrdev、unregister_chrdev、request_irq和release_irq等。

linux基础考题

linux基础考题

linux基础考题以下是几道关于Linux基础的考题:1. 如何在Linux系统中查看当前的工作目录?答案:使用命令"pwd",它会显示当前所在的工作目录的绝对路径。

2. 如何在Linux系统中列出一个目录下的所有文件和子目录?答案:使用命令"ls",加上参数"-l",可以以长格式显示文件和目录的详细信息,加上参数"-a",还可以显示隐藏文件。

3. 如何在Linux系统中创建一个新的目录?答案:使用命令"mkdir",加上要创建的目录的名称,例如"mkdir new_dir",就可以在当前目录下创建一个名为"new_dir"的新目录。

4. 如何在Linux系统中复制一个文件到另一个目录?答案:使用命令"cp",加上要复制的文件的名称,以及目标目录的路径,例如"cp file.txt /path/to/destination",就可以将名为"file.txt"的文件复制到"/path/to/destination"目录下。

5. 如何在Linux系统中删除一个文件?答案:使用命令"rm",加上要删除的文件的名称,例如"rm file.txt",就可以删除名为"file.txt"的文件。

注意,删除操作是无法撤销的,请谨慎使用该命令。

6. 如何在Linux系统中查看一个文本文件的内容?答案:使用命令"cat",加上要查看的文件的名称,例如"cat file.txt",就可以将名为"file.txt"的文件的内容显示在终端上。

7. 如何在Linux系统中编辑一个文本文件?答案:使用命令"vi"或"nano",加上要编辑的文件的名称,例如"vi file.txt"或"nano file.txt",就可以使用相应的编辑器对名为"file.txt"的文件进行编辑。

Linux基础(习题卷2)

Linux基础(习题卷2)

Linux基础(习题卷2)第1部分:单项选择题,共155题,每题只有一个正确答案,多选或少选均不得分。

1.[单选题]不带有编辑功能但有翻页、按行滚动、搜索功能的命令是()A)catB)more和lessC)head 和 tail D vi答案:B解析:2.[单选题]当前目录下有一个getdata.sh文件,在键盘输入get字符后,按哪个键可帮助完成命令行的输入( )A)TabB)CtrlC)ShiftD)Alt答案:A解析:3.[单选题]显示一个文件最后几行的命令是: ( )A)tacB)tailC)rearD)last答案:B解析:4.[单选题]答案:( )。

用命令ls -al显示出文件ffile的描述如下所示:-rwxr-xr-- 1 root root 599 Cec 10 17:12 ffile由此可知文件ffile的类型为()。

A)普通文件B)硬链接C)目录D)符号链接答案:A解析:5.[单选题]文件描述符的数据类型是()。

A)charB)file_tC)intD)flile_description答案:C解析:6.[单选题]TCP/IP协议分为四层,分别为应用层、传输层、网际层和网络接口层不属于应用层协议的是()答案:B解析:7.[单选题]RHEL7系统默认安装会创建几个分区?A)4B)3C)2D)1答案:C解析:8.[单选题]我们可以使用tar命令的____选项来还原一个.tar归档文件:A)aB)cC)dD)x答案:D解析:9.[单选题]在以下文件的物理结构中, 不利于文件长度动态增长的是( )。

A)连续结构B)链接结构C)索引结构D)散列结构答案:A解析:10.[单选题]以下关于Linux中的常用快捷健的描述中,错误的是____。

A)上或下方向键可以查看以往执行过的命令B)Ctrl+C组合键的功能是复制C)Ctrl+D组合键的功能是退出Shell终端,与exit命令相当。

D)Ctrl+L组合键的功能是清空屏幕答案:B解析:11.[单选题]在常用的信息显示命令中,whoami的功能是( )A)显示最先登录用户B)显示指定文件的相关信息C)显示用户自己的名称D)除A,B,C外其它功能答案:C解析:12.[单选题]( )。

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)[A] /dev目录下[B] 根目录下[C] /tmp 目录下[E] 以上都可以4.Linux驱动程序运行在( A )[A] 内核空间[B] 用户空间[C] 用户空间与内核空间5.Linux系统中设备驱动程序就是以模块形式组织的,编译驱动时可以用哪种方式编译( AB )[A] 静态编译进内核[B] 动态编译6.Linux 2、6 内核中,设备的主设备号用( B)位来表示,次设备号用(D )位来表示[A] 8[B] 12 [C ] 16 [D ] 20 [E] 24 [F] 327.Linux系统中哪些种类的设备有设备节点( BD )[A] 定时器[B] 字符设备[C ] 块设备[D ] 网络设备8.通常情况下,kmalloc函数能分配的最大内存就是( C )[A] 4K[B] 64K [C ] 128K [D ] 4M9.能保证物理空间上连续的内存分配函数就是( A B )[A] __get_free_pages [B] kmalloc [C ] vmalloc [D ] malloc10.Linux系统中通过add_timer 添加的timer就是( A)[A] 一次的[B] 循环的[C ] 以上两种都可以二、简答题(每题 6 分,共60 分)1、Linux系统中以模块方式组织设备驱动程序,请列举在一个模块程序中必不可少的组成部分。

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

Linux基础(习题卷21)

Linux基础(习题卷21)

Linux基础(习题卷21)第1部分:单项选择题,共60题,每题只有一个正确答案,多选或少选均不得分。

1.[单选题]在大多数linux发行版本中,图形方式的运行级定义为?A)1B)2C)3D)5答案:D解析:2.[单选题]以下那个不是vi/vim的三种基本模式?A)命令模式B)输入模式C)操作模式D)底线命令模式答案:C解析:3.[单选题]计算机系统中, 不属于 DMA 控制器的是( ).A)命令/状态寄存器B)内存地址寄存器C)数据寄存器D)堆栈指针寄存器答案:D解析:4.[单选题]以下( )指令可以将文件系统为iso9660类型的光盘设备/dev/cdrom挂载在目录/mnt/media上。

A)mountB)mountC)mountD)mount答案:D解析:5.[单选题]存放设备文件的目录为( )。

A)/devB)/etcC)/libD)/bin答案:A解析:6.[单选题]下面()不是Apahce基于主机的访问控制指令。

答案:D解析:7.[单选题]当系统工作负载增加时,CPU的_______将占很大比重。

A)用户时间B)系统时间C)空闲时间D)进程时间答案:A解析:8.[单选题]将光盘/dev/cdrom安装到/mnt/cdrom的命令是()。

A)mount /dev/cdromB)mount /mnt/cdrom /dev/cdromC)mount /dev/cdrom /mnt/cdromD)mount /mnt/cdrom /dev/hdc答案:C解析:9.[单选题]在GRUB配置文件中,以哪个关键字开头的行定义了用户的可见菜单标签?A)labelB)titleC)choiceD)menuitem答案:B解析:10.[单选题]下面有关shell的说法正确的是A)shell是用户与Linux操作系统内核之间的接口B)shell是操作员使用的程序C)shell是linux核心程序D)shell是Windows的命令行程序答案:A解析:11.[单选题]下面的叙述中,正确的是()。

linux驱动工程师面试题整理

linux驱动工程师面试题整理

1、字符型驱动设备你是怎么创建设备文件的,就是/dev/下面的设备文件,供上层应用程序打开使用的文件?答: mknod 命令结合设备的主设备号和次设备号,可创建一个设备文件。

评:这只是其中一种方式,也叫手动创建设备文件。

还有 UDEV/MDEV 自动创建设备文件的方式,UDEV/MDEV 是运行在用户态的程序,可以动态管理设备文件,包括创建和删除设备文件,运行在用户态意味着系统要运行之后。

那末在系统启动期间还有 devfs 创建了设备文件。

一共有三种方式可以创建设备文件。

2、写一个中断服务需要注意哪些?如果中断产生之后要做比较多的事情你是怎么做的?答:中断处理例程应该尽量短,把能放在后半段(tasklet,等待队列等)的任务尽量放在后半段。

评:写一个中断服务程序要注意快进快出,在中断服务程序里面尽量快速采集信息,包括硬件信息,然后推出中断,要做其它事情可以使用工作队列或者 tasklet 方式。

也就是中断上半部和下半部。

第二:中断服务程序中不能有阻塞操作。

为什么?大家可以讨论。

第三:中断服务程序注意返回值,要用操作系统定义的宏做为返回值,而不是自己定义的OK,FAIL 之类的。

3、自旋锁和信号量在互斥使用时需要注意哪些?在中断服务程序里面的互斥是使用自旋锁还是信号量?还是两者都能用?为什么?答:使用自旋锁的进程不能睡眠,使用信号量的进程可以睡眠。

中断服务例程中的互斥使用的是自旋锁,原因是在中断处理例程中,硬中断是关闭的,这样会丢失可能到来的中断。

4、原子操作你怎么理解?为了实现一个互斥,自己定义一个变量作为标记来作为一个资源惟独一个使用者行不行?答:原子操作指的是无法被打断的操作。

我没懂第二句是什么意思,自己定义一个变量怎么可能标记资源的使用情况?其他进程又看不见这个变量评:第二句话的意思是:定义一个变量,比如 int flag =0;if(flag == 0){flag = 1;操作临界区;flag = 0;}这样可否?5、insmod 一个驱动模块,会执行模块中的哪个函数? rmmod 呢?这两个函数在设计上要注意哪些?遇到过卸载驱动浮现异常没?是什么问题引起的?答: insmod 调用 init 函数, rmmod 调用 exit 函数。

华清__初级驱动试题

华清__初级驱动试题

驱动基础试题(时间:1个小时)一、选择题(每题 4 分,共40 分,包括单选和多选,多选、少选均不得分)1. Linux系统中将设备进行分类管理,下列设备中(ACD )属于字符设备,(BC)属于块设备[A] 键盘[B] 硬盘[C] 闪存设备[D] 帧缓存设备[E] 网卡2.Linux系统中,内核以(D)区分设备[A] 设备节点名[B] 设备类名称[C] 设备名称[D] 设备号3.Linux系统中设备节点可以创建在(D )[A] /dev目录下[B] 根目录下[C] /tmp目录下[D] 以上都可以4.Linux驱动程序运行在( A )[A] 内核空间[B] 用户空间[C] 内核空间和用户空间5.Linux系统中设备驱动程序是以模块形式组的,编译驱动时可以用哪种方式编译(AB )[A] 静态编译进内核[B] 动态编译6.Linux 2.6.35 内核中,设备的主设备号用( B )位来表示,次设备号用(D)位来表示[A]8 [B] 12[C]16 [D] 20[E] 24 [F] 327.Linux系统中哪些种类的设备有设备节点(BC)[A] 定时器[B] 字符设备[C] 块设备[D] 网络设备8.通常情况下,kmalloc函数能分配的最大内存是(C)[A] 4K [B] 64K[C]128K [D] 4M9.能保证物理空间上连续的内存分配函数是(AB)[A]__get_free_pages[B] kmalloc [C] vmalloc[D] malloc10.Linux系统中通过add_timer 添加的timer是(A)[A] 一次的[B] 循环的[C] 以上两种都可以二、简答题(每题 6 分,共60 分)1. Linux系统中以模块方式组织设备驱动程序,请列举在一个模块程序中必不可少的组成部分。

(可以写个Hello world模块的程序)#include <linux/init.h>#include <linux/kernel.h>#include <linux/module.h>static int __init fsmod_init(void){printk(KERN_INFO "Hello, Farsight!\n");return 0;}static void __exit fsmod_exit(void){printk(KERN_INFO "Goodbye, Farsight!\n");}module_init(fsmod_init);module_exit(fsmod_exit);MODULE_LICENSE("Dual BSD/GPL");MODULE_AUTHOR("KevinJiang<*******************>");MODULE_DESCRIPTION("This is an example for linux driver module");2. 请从定义、性质、操作方式等方面对比说明字符设备和块设备。

Linux基础(习题卷47)

Linux基础(习题卷47)

Linux基础(习题卷47)第1部分:单项选择题,共58题,每题只有一个正确答案,多选或少选均不得分。

1.[单选题]当台式机操作系统工作负载增加时, _______将会提高。

A)cpu工作频率B)内存容量C)系统响应时间D)空闲系统资源答案:C解析:2.[单选题]用户程序发出磁盘 IO 请求后, 系统的处理流程是.用户程序→系统调用处理程序→设备驱动程序 → 中断处理程序。

其中,计算数据所在磁盘的柱面号、磁头号、扇区号的程序是( )。

A)用户程序B)系统调用处理程序C)设备驱动程序D)中断处理程序答案:C解析:3.[单选题]Samba服务器的配置文件是 。

A)httpd.confB)inetd.confC)rc.DD)smb.conf答案:D解析:4.[单选题]有关归档和压缩命令,下面描述正确的是( )A)用uncompress命令解压缩由compress 命令生成的后缀为.zip 的压缩文件B)unzip命令和gzip命令可以解压缩相同类型的文件C)tar归档且压缩的文件可以由gzip命令解压缩D)tar命令归档后的文件也是一种压缩文件答案:D解析:5.[单选题]嵌入式微控制器相比嵌入式微处理器的的最大特点。

A)体积大大减小B)单片化C)功耗低D)成本高答案:B解析:6.[单选题]存盘并退出vi可用命令:wq,还可以用()命令解析:7.[单选题]在Redhat Linux中,如果只要显示/etc/passwd文件中以冒号分隔开的第一列和第六列的内容,以下哪个命令是正确的( )A)cutB)cutC)cutD)cut答案:C解析:explain:cut命令可以从一个文本文件或者文本流中提取文本列。

8.[单选题]改变当前所在目录的命令是: ( )A)pwdB)lsC)cdD)mkdir答案:C解析:9.[单选题]一个文件的权限-rw-rw-r--,这个文件所有者的权限是()。

A)read-onlyB)writeC)read-writeD)read-write-execute答案:C解析:10.[单选题]为匹配以001结尾的行,我们可以使用如下的正则表达式:A)^001B)$001C)001$D)\001答案:C解析:11.[单选题]添加用户时使用参数_______可以指定用户登录shell解释器。

Linux基础(习题卷20)

Linux基础(习题卷20)

Linux基础(习题卷20)说明:答案和解析在试卷最后第1部分:单项选择题,共60题,每题只有一个正确答案,多选或少选均不得分。

1.[单选题]以下哪个命令,不是Linux命令()A)PWDB)CDC)DIRD)IPCONFIG2.[单选题]写出file1,file2连接起来输出到文件file3中的命令( )。

A)cat file1 file2 < file3B)mv file1 file2 > file3C)mv file1 file2 < file3D)cat file1 file2 > file33.[单选题]下面______命令用于定义一个命令的别名。

A)RenameB)aliasC)exportD)type4.[单选题]( )。

()命令用于创建新文件。

A)cpB)mvC)rmD)touch5.[单选题]下面哪个命令可以压缩部分文件:A)tar -dzvf filename.tgz *B)tar -tzvf filename.tgz *C)tar -czvf filename.tgz *D)tar -xzvf filename.tgz *6.[单选题]下列选项中,可能会将进程唤醒的事件是( ) 。

ⅠI/O 结束 Ⅱ某进程退出临界区 Ⅲ当前进程的时间片用完A)仅ⅠB)仅ⅢC)仅Ⅰ.ⅡD)Ⅰ.Ⅱ.ⅢB)zC)xD)f8.[单选题]在下列同步机制中,可以实现让权等待的是( ).A)Peterson 方法B)swap 指令C)信号量方法D)TestAndSet 指令9.[单选题]什么命令用来只更新已经安装过的 rpm 软件包? ( )A)rpm -U *.rpmB)rpm -F *.rpmC)rpm -e *.rpmD)rpm -q *.rpm10.[单选题]怎样了解您在当前目录下还有多大空间?A)use dfB)use du /C)use du .D)use df .11.[单选题]下面对防火墙的描述中,不正确的是( )。

linux驱动面试题目汇总

linux驱动面试题目汇总

linux驱动⾯试题⽬汇总1、linux驱动分类2、信号量与⾃旋锁3、platform总线设备及总线设备如何编写4、kmalloc和vmalloc的区别5、module_init的级别6、添加驱动7、IIC原理,总线框架,设备编写⽅法,i2c_msg8、kernel panic9、USB总线,USB传输种类,urb等10、android boot 流程11、android init解析init.rc12、同步和互斥答案:Linux设备驱动的分类 (1)字符设备。

(2)块设备。

(3)⽹络设备。

字符设备指那些必须以串⾏顺序依次进⾏访问的设备,如触摸屏、磁带驱动器、⿏标等。

块设备可以⽤任意顺序进⾏访问,以块为单位进⾏操作,如硬盘、软驱等。

字符设备不经过系统的快速缓冲,⽽块设备经过系统的快速缓冲。

但是,字符设备和块设备并没有明显的界限,如对于Flash设备,符合块设备的特点,但是我们仍然可以把它作为⼀个字符设备来访问。

统⾥⽀持对发送数据和接收数据的缓存,提供流量控制机制,提供对多协议的⽀持。

⾃旋锁 ⾃旋锁是专为防⽌多处理器并发⽽引⼊的⼀种锁,它应⽤于中断处理等部分。

对于单处理器来说,防⽌中断处理中的并发可简单采⽤关闭中断的⽅式,不需要⾃旋锁。

⾃旋锁最多只能被⼀个内核任务持有,如果⼀个内核任务试图请求⼀个已被争⽤(已经被持有)的⾃旋锁,那么这个任务就会⼀直进⾏忙循环——旋转——等待锁重新可⽤。

要是锁未被争⽤,请求它的内核任务便能⽴刻得到它并且继续进⾏。

⾃旋锁可以在任何时刻防⽌多于⼀个的内核任务同时进⼊临界区,因此这种锁可有效地避免多处理器上并发运⾏的内核任务竞争共享资源。

事实上,⾃旋锁的初衷就是:在短期间内进⾏轻量级的锁定。

⼀个被争⽤的⾃旋锁使得请求它的线程在等待锁重新可⽤的期间进⾏⾃旋(特别浪费处理器时间),所以⾃旋锁不应该被持有时间过长。

如果需要长时间锁定的话, 最好使⽤信号量。

但是⾃旋锁节省了上下⽂切换的开销。

Linux驱动开发笔试集锦

Linux驱动开发笔试集锦
是 int main(int argc, char* argv[]) { } 12 不会 13 bootloader 是不是要初始化系统启动要使用的寄存器。启动操作系统 kernel 然后系统启动文件系统 14 ko 不清楚,so 是动态连接文件吧。 15 char**a={1,2,3;。。。;}蒙的 16
6. I2C 触摸屏芯片与 CPU 的数据传输流程?画出相关图例?(这题目记得不是太清楚了, 大概是考查 I2C 设备驱动的数据传输过程)
本 篇 文 章 来 源 于 Linux 公 社 网 站 () /Linux/2011-04/33960.htm
以下题目可能与原题目有差入,但力争使题目与原题目接近。
这是某个公司的 linux 内核驱动笔试题目,希望对各位要参加面试的朋友提供一点帮助,同时又要对公司果这样还是“那个”的话(^_^),请公司及时与偶联系,偶会第一时间将其删除,谢谢! (一)主要题型: 选择题(每题 3 分,约 20 题吧,具体什么题都有,包括网络、C 以及其他硬件方面的基础知识); 简答题(总分约 40 分,主要包括读 C 程序给出结果同时给出适当的解释及其他一些硬件方面的问题); (二)主要内容: 1、题目概述 (1)C 方面: 这一部分比较简单,主要是类似指针空间分配、strcpy(主要是考第一个参数是否有空间,结合指针空间 分配考)、二重指针、++及――(先加后加,先减后减)等,还有就是 volatile 及 register 修饰符的意思。 (2)其他方面: 这一部分比较杂,什么都可以考你,多半都是基础知识,尤其是硬件方面,华为的主要题目为:(主要列 出 C 以外的题目,我认为 C 是非常简单的,^_^) 2、具体题目 (1)选择题部分: 1、255.255.254.0 网段最多能支持多少主机?(大概有 5 个备选项) 2、10M 网卡传输过程中物理层采用什么编码?(SNAP?)(大概有 4 个备选项) 3、栈与队列的特点?(备选大概只有两个,A 为 FIFO,B 为 LIFO) 4、Cache 的工作方式划分?(大概也有 4 个答案,大概是:write-none,write-all,write-through,writeback)。 5、什么叫 NMI 中断?(四个备选项) 6、RISC 主要性能及特性?(大概有 6 个备选项) 7、在嵌入式系统中,所谓的北桥指的是什么? (2)简答题: 1、说说轮巡任务调度与抢占式任务调度的区别?(大概为 8 分吧,记不清了) 2、什么叫存储器高速缓存技术,其主要目的?(大概 6 分) 3、画出计算机组成的最小逻辑框图。(哼,这道题竟然 10 分) 4、谈谈 Volatile 与 Register 修饰符的作用?

linux驱动基础试题

linux驱动基础试题

Linux 驱动基础试题(时间:1个小时)一、选择题 (每题 4 分 ,共 40 分,包括单选与多选 ,多选、少选均不得分 )1. Linux 系统中将设备进行分类管理 ,下列设备中 ( ACD )属于字符设备 , ( BC ) 属于块设备2. Linux 系统中 ,内核以 (D ) 区分设备3. Linux 系统中设备节点可以创建在 ( [A] /dev 目录下 [B] 根目录下4. Linux 驱动程序运行在 ( A )[A] 内核空间 [B] 用户空间 5. Linux 系统中设备驱动程序就是以模块形式组织的 ,编译驱动时可以用哪种方式编译( AB )[A] 静态编译进内核 [B] 动态编译6. Linux 2 、6 内核中 ,设备的主设备号用 ( B) 位来表示 ,次设备号用 (D )位来表示[A] 8 [B] 12 [C ] 16 [D ] 20 [E] 24 [F] 327. Linux 系统中哪些种类的设备有设备节点 ( BD )[A] 定时器 [B] 字符设备 [C ] 块设备 [D ] 网络设备8. 通常情况下 ,kmalloc 函数能分配的最大内存就是 ( C )[A] 4K [B] 64K [C ] 128K [D ] 4M9. 能保证物理空间上连续的内存分配函数就是 ( A B )[A] __get_free_pages [B] kmalloc [C ] vmalloc [D ] malloc10.Linux 系统中通过 add_timer 添加的 timer 就是 ( A) [A] 一次的 [B] 循环的[C ] 以上两种都可以[A] 键盘 [B] 硬盘 [C] 闪存设备 [D] 帧缓存设备 [E] 网卡 [A] 设备节点名 [B] 设备节点号 [C] 设备名称 [D] 设备号A) [C] /tmp 目录下 [E] 以上都可以[C] 用户空间与内核空间二、简答题(每题 6 分,共60 分)1、Linux 系统中以模块方式组织设备驱动程序 ,请列举在一个模块程序中必不可少的组成部分。

linux驱动工程师面试题整理

linux驱动工程师面试题整理

1、字符型驱动设备你是怎么创建设备文件的,就是/dev/下面的设备文件,供上层应用程序打开使用的文件?答:mknod命令结合设备的主设备号和次设备号,可创建一个设备文件。

评:这只是其中一种方式,也叫手动创建设备文件。

还有UDEV/MDEV自动创建设备文件的方式,UDEV/MDEV是运行在用户态的程序,可以动态管理设备文件,包括创建和删除设备文件,运行在用户态意味着系统要运行之后。

那么在系统启动期间还有devfs创建了设备文件。

一共有三种方式可以创建设备文件。

2、写一个中断服务需要注意哪些?如果中断产生之后要做比较多的事情你是怎么做的?答:中断处理例程应该尽量短,把能放在后半段(tasklet,等待队列等)的任务尽量放在后半段。

评:写一个中断服务程序要注意快进快出,在中断服务程序里面尽量快速采集信息,包括硬件信息,然后推出中断,要做其它事情可以使用工作队列或者tasklet方式。

也就是中断上半部和下半部。

第二:中断服务程序中不能有阻塞操作。

为什么?大家可以讨论。

第三:中断服务程序注意返回值,要用操作系统定义的宏做为返回值,而不是自己定义的OK,FAIL之类的。

3、自旋锁和信号量在互斥使用时需要注意哪些?在中断服务程序里面的互斥是使用自旋锁还是信号量?还是两者都能用?为什么?答:使用自旋锁的进程不能睡眠,使用信号量的进程可以睡眠。

中断服务例程中的互斥使用的是自旋锁,原因是在中断处理例程中,硬中断是关闭的,这样会丢失可能到来的中断。

4、原子操作你怎么理解?为了实现一个互斥,自己定义一个变量作为标记来作为一个资源只有一个使用者行不行?答:原子操作指的是无法被打断的操作。

我没懂第二句是什么意思,自己定义一个变量怎么可能标记资源的使用情况?其他进程又看不见这个变量评:第二句话的意思是:定义一个变量,比如 int flag =0;if(flag == 0){flag = 1;操作临界区;flag = 0;}这样可否?5、insmod 一个驱动模块,会执行模块中的哪个函数?rmmod呢?这两个函数在设计上要注意哪些?遇到过卸载驱动出现异常没?是什么问题引起的?答:insmod调用init函数,rmmod调用exit函数。

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