Linux驱动试题(参考答案)
- 格式:doc
- 大小:29.00 KB
- 文档页数:4
湖南科技学院二○ 一四 年 下 学期期末考试电信、电科 专业 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系统驱动设备分为字符设备、块设备和网络设备三大类。
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)。
linux试题及答案1. 简介Linux是一个开源的、基于UNIX的操作系统,广泛应用于计算机领域。
本文将介绍一些常见的Linux试题及其答案,帮助读者了解Linux操作系统的基本概念和应用。
2. Linux基础试题2.1 什么是Linux操作系统?Linux是一个开源的、基于UNIX的操作系统,具有高度的稳定性、安全性和可扩展性。
2.2 如何在Linux系统中创建新用户?使用`adduser`命令可以创建新用户,例如:```$ sudo adduser newuser```2.3 Linux文件系统中的根目录是什么?Linux文件系统的根目录位于`/`,所有其他目录和文件都位于根目录下。
*示例代码和命令的格式根据需要自行确定,不局限于上述示例。
*3. Linux命令试题3.1 如何在Linux终端中列出当前目录下的所有文件和文件夹?使用`ls`命令可以列出当前目录下的所有文件和文件夹,例如: ```$ ls```3.2 如何在Linux中复制文件?使用`cp`命令可以复制文件,例如:```$ cp file1.txt file2.txt```3.3 如何在Linux中查找文件?使用`find`命令可以在指定路径下查找文件,例如:```$ find /path/to/search -name "filename"```4. Linux网络与安全试题4.1 如何在Linux中查看网络连接状态?使用`netstat`命令可以查看网络连接状态,例如:```$ netstat -a```4.2 如何在Linux中配置防火墙规则?使用`iptables`命令可以配置防火墙规则,例如:```$ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT```4.3 如何在Linux中查看系统日志?使用`tail`命令可以查看系统日志文件的末尾内容,例如: ```$ tail /var/log/syslog```5. Linux脚本编程试题5.1 如何在Shell脚本中获取用户输入?使用`read`命令可以获取用户输入的数值,例如:```#!/bin/bashecho "请输入您的姓名:"read nameecho "您的姓名是:$name"```5.2 如何在Shell脚本中进行条件判断?使用`if`语句可以进行条件判断,例如: ```#!/bin/bashecho "请输入一个数字:"read numif [ $num -gt 10 ]; thenecho "输入的数字大于10"elseecho "输入的数字小于等于10"fi```5.3 如何在Shell脚本中使用循环结构?使用`for`或`while`循环可以进行循环操作,例如: ```#!/bin/bashfor i in {1..5}; doecho "循环次数:$i"done```6. 总结本文介绍了一些常见的Linux试题及其答案,涵盖了Linux操作系统的基础知识、命令行操作、网络与安全、脚本编程等方面。
Linux考试练习题(附答案)一、选择1、下列()不属于Linux常用的shell:A、bashB、shC、ashD、bach2、在添加用户的时候可以使用()参数来指定用户的默认shell:A、-dB、-sC、-cD、-g3、更改用户密码使用()命令:A、useraddB、passwdC、groupaddD、finger4、使用rpm安装一个软件的正确命令是():A、rpm -eB、rpm -iC、rpm -vD、rpm -U5、观察系统当前进程的运行情况的命令是():A、freeB、dmesgC、topD、last6、下列()环境变量表示当前目录:A、PATHB、HOMEC、PWDD、SHELL7、删除用户的时候可以使用()参数,把用户的主目录也一起删除:A、-dB、-rC、-cD、-g8、添加用户组使用()命令:A、groupaddB、newgrpC、useraddD、userdel9、卸载一个rpm包的命令是():A、rpm -eB、rpm -iC、rpm -UD、rpm -v10、下面哪个命令可以显示文本文件的内容( ):A、moreB、lnC、manD、type11、下面哪个目录存放用户密码信息() :A、/bootB、/etcC、/varD、/dev12、下面哪个命令可以分页显示大文本文件( ):B、catC、moreD、type13、默认情况下管理员创建一个用户,就会在()目录下创建一个用户主目录:A、/usrB、/homeC、/rootD、/etc14、为了将当前目录下的归档文件myftp.tgz解压缩到/tmp目录下,我们可以使用:A. tar xvzf myftp.tgz -C /tmpB. tar xvzf myftp.tgz -R /tmpC. tar vzf myftp.tgz -X /tmpD. tar xvzf myftp.tgz /tmp15、为了保证系统的安全,现在的linux系统一般将/etc/passwd 密码文件加密后,保存为____ 文件。
Linux考试试题100道(附答案)1、Linux系统中,用户文件描述符0 表示______。
A.标准输入设备文件描述符B.标准输出设备文件描述符B.管道文件描述符 D.标准错误输出设备文件描述符答案:A2、以长格式列目录时,若文件test的权限描述为:drwxrw-r–,则文件test的类型及文件主的权限是______。
A.目录文件、读写执行B.目录文件、读写C.普通文件、读写D.普通文件、读答案:A3、当字符串用单引号(’’)括起来时,SHELL将______。
A.解释引号内的特殊字符B.执行引号中的命令C.不解释引号内的特殊字符D.结束进程答案:C4、/etc/shadow文件中存放______。
A.用户账号基本信息B.用户口令的加密信息C.用户组信息D.文件系统信息答案:B5、若当前目录为/home,命令ls–l 将显示home 目录下的()。
A.所有文件B.所有隐含文件C.所有非隐含文件D.文件的具体信息答案:D6、为卸载一个软件包,应使用_____。
A.rpm -iB.rpm -eC.rpm -qD.rpm -V答案:B7、下面关于文件“/etc/sysconfig/network-scripts/ifcfg-eth0”的描述哪个是正确的?( )。
A.它是一个系统脚本文件B.它是可执行文件C.它存放本机的名字D.它指定本机eth0的IP地址答案:D8、如何快速切换到用户John的主目录下?( )A.cd @JohnB.cd #JohnC.cd &JohnD.cd ~John答案:D9、启动DNS服务的守护进程()A. httpd startB.httpd stopC. named startD. named stop答案:C10、Linux有三个查看文件的命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用命令()A.cat B. more C. less D. menu答案:C11、在LINUX中,要查看文件内容,可使用()命令。
复习题(仅供参考)linux(一)选择题:)linux内核的稳定版本( B 1.以下哪一个是D. 2.3.20 C. 1.7.18 B. 2.6.17 .A2.5.24。
) A 2.怎样显示当前目录(D. lsC. who A. pwd B. cd。
) D 3.欲把当前目录下的file1.txt 复制为file2.txt,正确的命令是(B. cp file1.txt | file2.txt A. copy file1.txt file2.txtD. cat file1.txt > file2.txt C. cat file2.txt file1.txt”的文件,那么您可以使用的命.txt4. 如果您想列出当前目录以及子目录下所有扩展名为“。
)B 令是(.txt” D. find . “C. ls –d .txt A. ls *.txt B. find . –name “.txt”)。
B 5. 如何删除一个非空子目录/tmp(rf /tmp/* D. rm –C. rm -Ra /tmp/* A. del /tmp/* B. rm -rf /tmp)。
6. 存放用户帐号的文件是(CD. Gshadow C. passwd A. shadow B. group)。
7.下面哪个系统目录中包含Linux使用的外部设备(BD. /homeC. /boot B. /dev A. /bin)可在光标当前所在行下添加一新行B 在vi编辑器中的命令模式下,键入( 8.D. a C. i O (上一行添加一行) B. o A.) C 9.在vi编辑器中的命令模式下,重复上一次对编辑的文本进行的操作,可使用(命令。
D. * A.上箭头 B. 下箭头 C. .Vi编译器包含命令模式、插入模式和末行模式10.删除文件命令为(D)A.mkdir B. move C. mv D. rm11.假设文件fileA的符号链接(又叫软连接)为fileB,那么删除fileA后,下面的描述正确的是( B)A.fileB也随之被删除B. fileB仍存在,但是属于无效文件C. 因为fileB未被删除,所以fileA会被系统自动重新建立D. fileB会随fileA的删除而被系统自动删除12.在给定文件中查找与设定条件相符字符串的命令为( A )A.grep B. gzip C. find D. sort13.从后台启动进程,应在命令的结尾加上符号( A )A.& B. @ C. # D. $14. 如果执行命令#chmod 746 file.txt,那么该文件的权限是( A )。
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(UBUNTU)大作业Linux第一次作业一、选择题1、下列哪种说法是错误的( C ) 。
A.操作系统是裸机之上的第一层软件B.操作系统控制和管理全部的计算机资源C.Microsoft Office 是操作系统的一种D.操作系统应为用户提供便捷的操作界面2、以下说法中正确的是(C )。
A.Windows 8是单用户单任务操作系统B.MS-DOS是多用户多任务操作系统C.Linux是多用户多任务操作系统D.Unix是单用户多任务操作系统3、下列哪种说法是错误的( C ) 。
A.操作系统可用于控制和管理计算机系统资源B.操作系统可用于对各类任务进行调度C.操作系统可用于完成源代码编译D.操作系统应为用户提供便捷的操作界面4、Linux中系统超级管理员的帐户是(B )。
A.adminB.rootC.administratorD.superuser5、Linux系统是一个(D )的操作系统。
A.单用户、单任务B.单用户、多任务C.多用户、单任务D.多用户、多任务6、Linux是一个功能强大的操作系统,同时它是一个(C )。
A、商业软件B、共享软件C、自由软件D、专利软件7、自由软件的含义是(B )。
A.用户不需要付费B.软件可以自由修改和发布C.只有软件作者才能向用户收费D.软件发行商不能向用户收费8. 超级用户登录后的操作提示符是( B ) 。
A、$B、#C、&D、@9、在某终端显示信息为:[user@localhost ~]$,其中“~”表示(D )。
A.当前目录B.名为~的主机C.系统根目录/D.用户user的家目录10、关于Linux内核版本的说法,以下错误的是(C )。
A.表示为主版本号.次版本号.修正号B.1.2.3表示稳定的发行版C.1.3.3表示稳定的发行版D.2.2.5表示对内核2.2的第5次修正二、简答题1、请简述Linux操作系统有什么优点?答:Linux的主要优点包括:•提供了先进的网络支持:内置TCP/IP协议;•真正意义上的多任务、多用户作系统;•与UNIX系统在源代码级兼容,符合IEEE POSIX标准;•支持数十种文件系统格式;•开放源代码,用户可以自己对系统进行改进;•采用先进的内存管理机制,更加有效地利用物理内存。
下面的设备文件,供上层应用程/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内核首先会加载核心模块和驱动程序模块。
驱动程序模块是以目标硬件设备为基础的,它们包含了与设备通信所需的函数和数据结构。
一般情况下,系统会根据硬件设备信息自动加载对应的驱动程序模块。
加载驱动程序模块需要通过insmod或modprobe命令进行,这些命令可以在启动时自动执行。
三、请简述Linux驱动程序的实现方式。
Linux驱动程序的实现方式包括内核空间驱动和用户空间驱动。
内核空间驱动是指驱动程序运行在内核空间,直接与硬件设备进行交互。
用户空间驱动是指驱动程序运行在用户空间,通过系统调用和内核模块实现与硬件设备的通信。
内核空间驱动的优势是性能更好,但需要对内核进行编译和加载,而用户空间驱动的优势是开发更加容易,但性能会稍差。
四、请介绍Linux驱动程序中常用的数据结构和函数。
在Linux驱动程序中,常用的数据结构有file结构体、inode结构体和cdev结构体等。
file结构体用于表示一个打开的设备文件,可以通过它传递与设备相关的信息。
inode结构体用于表示一个文件的元数据信息,包括文件的权限、大小和创建时间等。
cdev结构体用于表示一个字符设备,包含了设备文件的操作函数和设备号等信息。
常用的函数包括register_chrdev、unregister_chrdev、request_irq和release_irq等。
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试题与答案一.填空题:1. 在Linux系统中,以文件方式访问设备。
2. Linux内核引导时,从文件/etc/fstab 中读取要加载的文件系统。
3. Linux文件系统中每个文件用 i节点来标识。
4. 全部磁盘块由四个部分组成,分别为引导块、专用块、 i节点表块和数据存储块。
5. 链接分为:硬链接和符号链接。
6. 超级块包含了i节点表和空闲块表等重要的文件系统信息。
7. 某文件的权限为:d-rw-_r--_r--,用数值形式表示该权限,则该八进制数为: 644 ,该文件属性是目录。
8. 前台起动的进程使用 Ctrl+c 终止。
9. 静态路由设定后,若网络拓扑结构发生变化,需由系统管理员修改路由的设置。
10. 网络管理的重要任务是:控制和监控。
11. 安装Linux系统对硬盘分区时,必须有两种分区类型:文件系统分区和交换分区。
13. 编写的Shell程序运行前必须赋予该脚本文件执行权限。
14. 系统管理的任务之一是能够在分布式环境中实现对程序和数据的安全保护、备份、恢复和更新。
15. 系统交换分区是作为系统虚拟存储器的一块区域。
16. 内核分为进程管理系统、内存管理系统、 I/O管理系统和文件管理系统等四个子系统。
17. 内核配置是系统管理员在改变系统配置硬件时要进行的重要操作。
18. 在安装Linux系统中,使用netconfig程序对网络进行配置,该安装程序会一步步提示用户输入主机名、域名、域名服务器、IP地址、网关地址和子网掩码等必要信息。
19. 唯一标识每一个用户的是用户 ID 和用户名。
20 . RIP 协议是最为普遍的一种内部协议,一般称为动态路由信息协议。
21. 在Linux系统中所有内容都被表示为文件,组织文件的各种方法称为文件系统。
22. DHCP可以实现动态 IP 地址分配。
23. 系统网络管理员的管理对象是服务器、用户和服务器的进程以及系统的各种资源。
24. 网络管理通常由监测、传输和管理三部分组成,其中管理部分是整个网络管理的中心。
Linux操作系统考试题库及答案一、单项选择题1. Linux操作系统的创始人是()。
A. Bill GatesB. Linus TorvaldsC. Steve JobsD. Richard Stallman答案:B2. 在Linux系统中,查看当前路径的命令是()。
A. pwdB. lsC. cdD. mkdir答案:A3. 在Linux系统中,以下哪个命令用于查看文件内容?()A. catB. grepC. findD. touch答案:A4. 在Linux系统中,以下哪个命令用于创建目录?()A. touchB. mkdirC. rmdirD. rm答案:B5. 在Linux系统中,以下哪个命令用于删除文件?()A. mkdirB. rmdirC. rmD. touch答案:C6. 在Linux系统中,以下哪个命令用于查找文件?()A. grepB. findC. catD. ls答案:B7. 在Linux系统中,以下哪个命令用于查看当前登录用户?()A. whoB. userC. usersD. whoami答案:A8. 在Linux系统中,以下哪个命令用于查看系统运行时间和平均负载?()A. uptimeB. topC. psD. free答案:A9. 在Linux系统中,以下哪个命令用于查看磁盘空间使用情况?()A. dfB. duC. lsD. pwd答案:A10. 在Linux系统中,以下哪个命令用于查看网络配置?()A. ifconfigB. netstatC. routeD. all of the above答案:D二、多项选择题1. 在Linux系统中,以下哪些命令用于文本编辑?()A. viB. nanoC. emacsD. gedit答案:ABC2. 在Linux系统中,以下哪些命令用于文件权限管理?()A. chmodB. chownC. chgrpD. ls答案:ABC3. 在Linux系统中,以下哪些命令用于进程管理?()A. psB. topC. killD. free答案:ABC4. 在Linux系统中,以下哪些命令用于网络管理?()A. ifconfigB. netstatC. pingD. route答案:ABCD5. 在Linux系统中,以下哪些命令用于磁盘管理?()A. dfB. duC. fdiskD. mount答案:ABCD三、判断题1. Linux是一个开源的操作系统。
1、字符型驱动设备你是怎么创建设备文件的,就是/dev/下面的设备文件,供上层应用程序打开使用的文件?答:mknod命令结合设备的主设备号和次设备号,可创建一个设备文件。
评:这只是其中一种方式,也叫手动创建设备文件。
还有UDEV/MDEV自动创建设备文件的方式,UDEV/MDEV 是运行在用户态的程序,可以动态管理设备文件,包括创建和删除设备文件,运行在用户态意味着系统要运行之后。
那么在系统启动期间还有devfs创建了设备文件。
一共有三种方式可以创建设备文件。
2、写一个中断服务需要注意哪些?如果中断产生之后要做比较多的事情你是怎么做的?答:中断处理例程应该尽量短,把能放在后半段(tasklet,等待队列等)的任务尽量放在后半段。
评:写一个中断服务程序要注意快进快出,在中断服务程序里面尽量快速采集信息,包括硬件信息,然后推出中断,要做其它事情可以使用工作队列或者tasklet方式。
也就是中断上半部和下半部。
第二:中断服务程序中不能有阻塞操作。
为什么?大家可以讨论。
第三:中断服务程序注意返回值,要用操作系统定义的宏做为返回值,而不是自己定义的OK,FAIL之类的。
3、自旋锁和信号量在互斥使用时需要注意哪些?在中断服务程序里面的互斥是使用自旋锁还是信号量?还是两者都能用?为什么?答:使用自旋锁的进程不能睡眠,使用信号量的进程可以睡眠。
中断服务例程中的互斥使用的是自旋锁,原因是在中断处理例程中,硬中断是关闭的,这样会丢失可能到来的中断。
页脚内容14、原子操作你怎么理解?为了实现一个互斥,自己定义一个变量作为标记来作为一个资源只有一个使用者行不行?答:原子操作指的是无法被打断的操作。
我没懂第二句是什么意思,自己定义一个变量怎么可能标记资源的使用情况?其他进程又看不见这个变量评:第二句话的意思是:定义一个变量,比如int flag =0;if(flag == 0){flag = 1;操作临界区;flag = 0;}这样可否?5、insmod 一个驱动模块,会执行模块中的哪个函数?rmmod呢?这两个函数在设计上要注意哪些?遇到过卸载驱动出现异常没?是什么问题引起的?答:insmod调用init函数,rmmod调用exit函数。
大学linux考试试题及答案一、选择题(每题2分,共20分)1. Linux系统中,以下哪个命令用于查看当前目录下的文件和文件夹?A. lsB. pwdC. cdD. mkdir答案:A2. 在Linux中,以下哪个命令用于查看当前系统的运行时间和平均负载?A. uptimeB. topC. whoD. ps答案:A3. 在Linux系统中,以下哪个文件系统格式是默认的?A. FAT32B. NTFSC. ext4D. HFS+答案:C4. 在Linux中,以下哪个命令用于查看当前登录用户的信息?A. whoB. whoamiC. usersD. w答案:D5. 在Linux系统中,以下哪个命令用于查找文件?A. findB. grepC. locateD. search答案:A6. 在Linux中,以下哪个命令用于查看文件内容?A. catB. lessC. moreD. tail答案:A7. 在Linux系统中,以下哪个命令用于解压tar.gz文件?A. tar -xzvfB. tar -czvfC. gzip -dD. gunzip答案:A8. 在Linux中,以下哪个命令用于创建一个软链接?A. ln -sB. ln -hC. ln -fD. ln -i答案:A9. 在Linux系统中,以下哪个命令用于查看当前路径?A. lsB. pwdC. cdD. path答案:B10. 在Linux中,以下哪个命令用于查看当前系统的磁盘使用情况?A. dfB. duC. diskusageD. diskinfo答案:A二、填空题(每题2分,共20分)1. Linux系统中,使用________命令可以切换到用户的主目录。
答案:cd ~2. 在Linux中,使用________命令可以查看当前路径的绝对路径。
答案:pwd3. 在Linux系统中,使用________命令可以查看当前系统的版本信息。
答案:uname -a4. 在Linux中,使用________命令可以查看当前系统的内核版本。
1、Linux最早是由一位名叫(C )的计算机爱好者开发.(A)Linux Sarwar (B)Rob Pike (C) Linus Torvalds (D) Richard Petersen2、下列(D )是自由软件。
(A) Windows XP (B) UNIX (C) Solaris (D) Linux3、下列(A )不是Linux的特点(A) 单用户(B) 设备独立性(C)开放性(D)多任务4、Linux安装过程中的硬盘分区工具是( C)。
(A)FIPS (B)PQmagic (C)FDISK (D)Disk Druid5、Linux的根分区的文件系统类型是( B)。
(A)FAT32 (B)ext3 (C)FAT16 (D)NTFS7、GRUB的菜单定义在(B )文件中。
(A)menu.lst (B)lilo.conf (C)httpd.conf (D)vsftpd.conf8、在bash中超级用户的提示符是( A)。
(A)# (B)C:\> (C)grub> (D)$9、GRUB的命令行模式的命令提示符是(A )。
(A)grub> (B)$ (C)# (D)C:\>10、当安装好Linux后,系统默认的帐号是( C)。
(A)administrator (B)guest (C)root (D)boot11、在命令行模式中、输入(D )不能进入末行模式。
(A)?(B)/ (C):(D)i12、可以为文件或目录重命名的命令是(B )。
(A)rm (B)mv (C)rmdir (D)mkdir13、用于文件系统挂载的命令是(A )。
(A)mount (B)fdisk (C)df (D)man14、不能用来关机的命令是( D)。
(A)shutdown (B)halt (C)init (D)logout15、Linux系统中,将加密过的密码放到(C )文件中。
(A)other (B)/etc/password (C)/etc/shadow (D)/etc/passwd 16、变更用户身份的命令是( C)。
Linux试题及答案⼀、单选题:1、添加⼀条静态路由,使到⽹络196.199.3通过eth2接⼝出去,⽤: A. route add -net 196.199.3.0 B. route add -net 196.199.3.0 netmask 255.0.0.0 eth2 C. route add 196.199.3.0 netmask 255.0.0.0 eth2 D. route add -net 196.199.3.0 netmask 255.255.255.0 eth2 答案:D2、ftp的数据传送模式有⼏种? A. 1 B. 2 C. 3 D. 4 答案:B3、所谓的虚拟主机是指: A. ⼀个机器具有多个⽹络接⼝ B. ⼀个⽹络接⼝具有多个IP地址 C. ⼀个应⽤监听多个端⼝ D. ⼀个主机提供多种⽹络服务答案:B4、在使⽤RAID0+1⽅式⼯作时,⾄少需要 ________块硬盘。
A. 1 B. 2 C. 3 D. 4 答案:D5、Lilo配置⽂件中有如下的⼀⾏:append=""mem=128M"",其含义是: A. 设定Linux的交换分区使⽤的物理内存 B. 设定Linux物理内存⼤⼩ C. 设定⾼速缓存⼤⼩ D. 设定磁盘缓冲区⼤⼩答案:B6、命令crontab的可以: A. 操作每个⽤户的守护进程和该进程的执⾏的时间表 B. 设置键盘 C. 设置打印过滤器 D. 设置内核运⾏环境答案:A7、/dev/hdb表⽰: A. 第⼀个主驱动器 B. 第⼆个主驱动器 C. 第⼆个从驱动器 D. 第⼀个从驱动器答案:B8、检查是否安装了Apache软件包的指令是: A. rpm -x apache B. rpm -r apache C. rpm -t apache D. rpm -q apache 答案:D9、特殊⽬标规则REJECT表⽰: A. 让数据透明通过 B. 丢弃数据 C. 丢弃该数据的同时,通知数据的发送者数据被拒绝通过 D. 据被伪装成是从本地主机发出的,回应的数据被⾃动地在转发时解伪装答案:C10、我们可以通过检查_______⽂件,将不需要的服务删去,这样有利于系统的安全。
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)。
该函数共有5个参数,分别是要注册的中断号,中断处理程序的指针,中断标志位,中断的名字和dev_id用于区别共享同一个中断的不同设备。
注销中断使用free_irq(unsigned int, void *)第一个参数是中断号,第二个参数一般是NULL指针。
8、
参考答案:在一般情况下,由于数据量比较小,中断会比轮询更有效率。
但是如果数据
量比较大的时候,如果采用中断,由于CPU花在进程切换和保存现场上的时间开销变得比较大,所以这个时候通常采用轮询更有效率。
9、
参考答案:802.3 MAC Engine:实现802.3协议的核心,实现对以太网桢的发送和接收。
Encoder/Decoder:Encoder/Decoder部分实现对曼彻斯特的编码/译码工作。
10Base-T RX/RX filter & Receiver/ Transmitter:实现对物理信号的发送和接收。
10、
参考答案:发送数据frame:
a.关中断
b.发送skbuff中的数据到硬件上
c.开中断
d.释放skbuff
接收数据frame:
a.读硬件获得数据长度
b.根据长度分配skbuff
c.从硬件上读数据到skbuff内
d.通过netif_rx将skbuff提交到上层,也就是IP层。
11、
参考答案:发送数据frame的过程可能在线程的上下文中,关中断是为了保证数据发送的一致性,而接收数据frame的过程主要在中断处理中,这个过程本身就是原子的,所以不需要关中断。
12、
参考答案:sk_buff是在Linux网络协议的各个层次上都用到的一个数据结构,目的是防止数据的重复拷贝。
sk_buff的分配由最先使用它的模块分配,而由最后使用它的模块进行释放,具体到网络设备来说,就是,发送的时候在网络协议的最高层,也就是TCP层负责分配,而在设备驱动中当向硬件上发送完sk_buff中数据后释放sk_buff;而对于接受就是在设备驱动的接收到以太网侦的时候分配sk_buff以容纳数据,而在最高层,也就是TCP 层负责释放。