linux驱动基础试题
- 格式:docx
- 大小:8.30 KB
- 文档页数:4
linux基础知识试题及答案1. Linux操作系统是由谁发起的?A. 比尔·盖茨B. 理查德·斯托曼C. 林纳斯·托瓦兹D. 丹尼斯·里奇答案:C2. Linux系统中,哪个命令用于查看当前目录下的文件和文件夹?A. lsB. cdC. pwdD. mkdir答案:A3. 在Linux中,如何查看一个文件的内容而不编辑它?A. vi 文件名B. cat 文件名C. edit 文件名D. open 文件名答案:B4. Linux系统中,哪个命令用于改变当前工作目录?A. lsB. cdC. pwdD. mkdir答案:B5. 在Linux中,如何查看当前系统的运行时间和平均负载?A. uptimeB. topC. psD. who答案:A6. Linux系统中,哪个命令用于查看当前登录用户的信息?A. whoB. whoamiC. usersD. w答案:D7. 在Linux中,如何查看一个文件的权限?A. ls -l 文件名B. chmod 文件名C. chown 文件名D. touch 文件名答案:A8. Linux系统中,哪个命令用于解压tar.gz文件?A. tar -xvzf 文件名.tar.gzB. tar -xvf 文件名.tar.gzC. gzip -d 文件名.tar.gzD. gunzip 文件名.tar.gz答案:A9. 在Linux中,如何创建一个新用户?A. useradd 用户名B. adduser 用户名C. newuser 用户名D. createuser 用户名答案:A10. Linux系统中,哪个命令用于查看系统的磁盘空间使用情况?A. dfB. duC. diskusageD. space答案:A11. 在Linux中,如何查看系统的内存使用情况?A. freeB. topC. vmstatD. meminfo答案:A12. Linux系统中,哪个命令用于查看当前系统的版本信息?A. uname -aB. versionC. lsb_release -aD. cat /etc/os-release答案:A13. 在Linux中,如何查看一个进程的详细信息?A. ps -efB. topC. htopD. pstree答案:A14. Linux系统中,哪个命令用于查看网络配置信息?A. ifconfigB. ip addrC. netstatD. route答案:B15. 在Linux中,如何查看系统日志文件?A. cat /var/log/syslogB. less /var/log/syslogC. tail -f /var/log/syslogD. more /var/log/syslog答案:C。
湖南科技学院二○ 一四 年 下 学期期末考试电信、电科 专业 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系统驱动设备分为字符设备、块设备和网络设备三大类。
一、选择题1. Linux是一种什么类型的操作系统?A. 单用户操作系统B. 多用户操作系统C. 实时操作系统D. 以上都是答案:B2. Linux的内核主要是由哪个组织维护和开发?A. 微软B. 苹果C. Linux基金会D. 英特尔答案:C3. Linux的发行版中,以下哪个是最为流行的?A. DebianB. UbuntuC. Red HatD. SUSE答案:B4. 在Linux系统中,以下哪个是根目录?A. /homeB. /C. /usr答案:B5. Linux系统中,哪个命令用于查看系统信息?A. systeminfoB. infoC. uname -aD. whoami答案:C6. 在Linux系统中,以下哪个命令用于查看当前登录用户?A. whoB. usersC. whoamiD. w答案:A7. Linux系统中,以下哪个命令用于查看当前系统负载?A. loadavgB. uptimeC. topD. free答案:B8. 在Linux系统中,以下哪个命令用于查看文件内容?A. catB. moreD. head答案:A9. Linux系统中,以下哪个命令用于查找文件?A. findB. locateC. whereisD. grep答案:A10. 在Linux系统中,以下哪个命令用于创建文件?A. touchB. createC. makeD. write答案:A二、填空题1. Linux系统中的“用户”和“组”是通过文件________来管理的。
答案:/etc/passwd2. Linux系统中,_______是用户登录时的默认主目录。
答案:/home3. Linux系统中,_______命令用于查看当前工作目录。
答案:pwd4. Linux系统中,_______命令用于删除文件。
5. Linux系统中,_______命令用于移动或重命名文件。
答案:mv6. 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驱动试题笔试题:1参考答案:字符设备是指存取时没有缓存的设备,大多数字符设备只能顺序读写。
比如鼠标、键盘、声卡。
块设备的读写则都有缓存来支持,只能以块为单位进行读写,并且块设备必须能够随机存取(random access),即不管块处于设备的什么地方都可以对它进行读写,字符设备则没有这个要求。
比如硬盘、U盘、SD卡。
2、参考答案:查看驱动中的打印信息用dmesg命令。
查看内核中字符设备和块设备信息可以使用命令cat /proc/devices。
查看正在使用的中断号可以使用命令cat /proc/interrupts。
3、参考答案:Linux内核是一种单一大内核,如果没有模块机制,在调试阶段,我们需要修改内核中的某个驱动,必须把内核整个编译一遍,还要重新启动机器,这样操作会非常耗时。
有了模块,我们只需要对我们关心的驱动以模块方式单独编译,无须编译整个内核,也不需要重启机器。
4、参考答案:copy_to_user实现从内核空间向用户空间拷贝数据的功能。
copy_from_user实现从用户空间向内核空间拷贝数据的功能。
分别用于实现驱动中的read 和write函数。
如果交换数据都发生在内核空间中,可以直接使用内核定义的memcpy函数。
5、参考答案:主设备号用于区别不同的驱动程序,次设备号用于区别使用同一个驱动程序的同一类设备中的不同设备。
chartest使用和ttyS0一样的驱动程序。
6、参考答案:register_chrdev(MAJOR_NUMBER, DRIVER_NAME, &xxx_fops)该函数有三个参数,分别是主设备号,驱动名字和file_operations结构的指针7、参考答案:中断是一段程序,当外部设备引起中断时由CPU执行。
DMA是直接内存访问,用于外设与主存储器之间快速的交换数据,利用DMA,在交换数据时可以不通过CPU,提高了CPU的利用率。
注册中断使用request_irq(IRQ_NUMBER, (*handler), IRQ_FLAGS, DRIVER_NAME, dev_id)。
驱动程序基础知识单选题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基础(习题卷27)说明:答案和解析在试卷最后第1部分:单项选择题,共60题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]netstat的作用是A)显示进程处理状态B)运行图形处理软件C)让系统停机D)显示当前网络状态2.[单选题]下面哪个不是Linux中的通配符()。
A)*B)?C)[]D)\3.[单选题]运行级定义在:( )A)in the kernelB)in /etc/inittabC)in /etc/runlevelsD)using the rl command4.[单选题]在Linux 下为eth0指定IP 为192.168.1.2并激活eth0 设备所使用的命令是哪个( )A)ipconfig eth0 up 192.168.1.2B)ifconfig eth0 up 192.168.1.2C)ifconfig 192.168.1.2 up eth0D)ipconfig 192.168.1.2 up eth05.[单选题]用来分隔目录名和文件名的字符是( )A)dash (-)B)slash (/)C)period (.)D)asterisk(*)6.[单选题]在以下符号中,____表示有且仅有一个字符。
A)*B)?C)&D)$7.[单选题]()命令用来显示/home及其子目录下的文件名。
A)ls -a /homeC)ls -l /homeD)ls -d /home8.[单选题]在 vi 编辑器的命令模式中,在光标所在位置的右侧插入字符的命令是( )。
A)aB)oC)iD)A9.[单选题]在vi的Ex模式中,:e filename命令的作用是什么( )A)打开filename文件B)放弃对filename文件的修改,并退出C)保存对filename文件的修改D)高亮显示filename文件的当前光标所在行10.[单选题]磁盘是可共享设备,但在每个时刻( )作业启动它。
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适用专业:考试日期:闭卷所需时间: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基础(习题卷55)说明:答案和解析在试卷最后第1部分:单项选择题,共58题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]为匹配以001开头的行,我们可以使用如下的正则表达式:A)^001B)$001C)*001D)\0012.[单选题]( )。
在Linux系统中,()目录一般用来存放一些临时文件。
A)/procB)/sbinC)/tmpD)/var3.[单选题]在linux系统中的脚本文件一般以什么开头?A)$/bin/shB)#!/bin/shC)use /bin/shD)set shell=/bin/sh4.[单选题]启动init进程前,不需要经过步骤。
A)加载内核B)检测内存C)加载文件系统D)启动网络支持5.[单选题]已知某用户 stud1,其用户目录为/home/stud1。
如果当前目录为/home,进入目录/home/stud1/test 的命令是()。
A)cd testB)cd /stud1/testC)cd stud1/testD)cd home6.[单选题]( )。
下面哪个文件可以查看系统中所有已存在的用户信息()。
A)/etc/passwdB)/etc/usersC)/etc/passwordD)/etc/user.conf7.[单选题]文件fileA的符号链接为fileB,删除fileA后,在以下描述中,正确的是_______。
B)fileB仍存在,但是属于无效文件C)因为fileB未被删除,所以fileA会被系统自动重新建立D)fileB会随fileA的删除而被系统自动删除8.[单选题]_____ 属于SYSTEM Ⅴ进程间通信方式。
A)管道B)信号量C)软中断信号D)锁机制9.[单选题]在vi编辑器中需要删除4~7行之间的内容,应在末行模式下使用()A)4,7mB)4,7 coC)4,7dD)4,7s//g10.[单选题]以下哪个VIM命令可以给文件的每一行加上一个行号()A)e numberB)set nuC)/s/numberD)number11.[单选题]切换到用户主目录下的指令为( )A)cd ~B)cd -C)cd /homeD)cd /12.[单选题]与head命令相反的命令是( )A)catB)tailC)locateD)cd13.[单选题]异常是指是指令执行过程中在处理器内部发生的特殊事件中断是来自处理器外部的请求事件下列关于中断或异常情况的叙述中错误的是()。
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的好处。