Linux驱动试题(参考答案)

合集下载

linux试题及答案(全)

linux试题及答案(全)
怎么去提高与学习linux学习,不可否认练习是一个比较好,也比较有效果的一个方法,但有很多人在练习操作时,很多题都会带来困扰,下面我就把一些简单的操作实例分享给大家,大家一起来学习linux:
Linux课后习题,linux练习题,linux进步练习题,linux操作练习题
一、命令部分
1.新建一个用户yangang,密码设为123456,并将其加到root组。写出所用命令。
(2)0 8-18 * * * cut -f 1 >> /backup/bak01.txt
2. 某学校内部既存在WINDOWS操作系统,又存在LINUX操作系统,为了方便资源共享,建立一台SAMBA服务器,其地址为192.168.0.5,建立std、teacher两个用户,同时设置其密码。
创建用户:useradd std
service sshd restart
71.创建一个以自己的名的拼音命名的用户。
useradd chengwen
72.添加一个用户组,名称为js。
groupadd js
73.修改新建的用户属于js组。
usermod –g js newuser
74.进入该用户主目录,显示当前的路径。
cal 12 2011
57.建立文件/etc/group的符号链接文件/root/abc。
ln –s /etc/group /root/abc
58.后台启动程序gedit。
Gedit &
59.配置网卡eth0的IP地址为192.168.0.1,子网掩码为255.255.255.0
ifconfig eth0:192.168.0.1 netmask 255.255.255.0

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系统驱动设备分为字符设备、块设备和网络设备三大类。

linux 驱动 面试题

linux 驱动 面试题

linux 驱动面试题Linux驱动面试题1. 概述Linux驱动程序是连接硬件设备和操作系统之间的重要软件,其作用是向操作系统提供对硬件设备的控制和访问接口。

在Linux系统下,驱动程序的设计和实现是嵌入式系统开发中的重要环节。

本文将介绍一些常见的Linux驱动面试题,帮助读者进行备考和提升相关知识水平。

2. 设备模型与驱动框架Linux内核具有完善的设备模型和驱动框架,以支持各种硬件设备的驱动开发。

在面试中,面试官通常会询问与设备模型和驱动框架相关的问题,如:a) 请介绍Linux内核的设备模型以及其作用。

b) 请解释驱动框架中的Platform设备和Pins控制器是如何配合工作的。

3. 字符设备驱动字符设备驱动是Linux常见的一种驱动类型,用于向应用程序提供对字符设备的访问接口。

相关的面试题可能包括:a) 请解释字符设备驱动的基本工作原理。

b) 内核中的“注册字符设备驱动”的过程是怎样的?c) 请介绍字符设备驱动中的主要数据结构,并解释其作用。

4. 块设备驱动块设备驱动用于向操作系统提供对块设备(如硬盘)的访问接口。

在Linux面试中,可能会涉及以下问题:a) 请解释块设备驱动与字符设备驱动的区别。

b) 在Linux内核中,块设备驱动是如何处理块设备的请求的?c) 请介绍块设备驱动中的磁盘调度算法以及其作用。

5. 中断处理中断是处理外部事件的一种机制,驱动程序需要能够正确处理中断。

面试中可能会涉及以下问题:a) 请解释中断处理机制,并描述Linux内核中的中断处理流程。

b) 在驱动程序中,如何注册和处理中断?c) 请介绍Linux内核中的软中断和Tasklet。

6. 性能优化和调试性能优化和调试是驱动程序开发中重要的环节,也是面试中常见的问题之一。

相关问题可能包括:a) 请介绍一些常用的性能优化方法和工具,用于提高驱动程序的性能。

b) 在Linux内核中,如何进行驱动程序的调试和故障定位?c) 请解释内核中的“内核态”和“用户态”,以及二者之间的区别。

Linux考试试题100道(附答案)

Linux考试试题100道(附答案)

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 试题及答案

linux 试题及答案第一部分:选择题1. Linux 是一种()操作系统。

a) 开源b) 闭源c) 商业d) 私有答案:a) 开源2. 在 Linux 中,用于显示当前所在路径的命令是()。

a) pwdb) lsc) cdd) cp答案:a) pwd3. 在 Linux 中,用于创建目录的命令是()。

a) mkdirb) touchc) rmd) mv答案:a) mkdir4. Linux 中,用于列出当前目录下的文件和文件夹的命令是()。

a) lsb) cdc) pwdd) rm答案:a) ls5. 在 Linux 中,用于复制文件的命令是()。

a) cpb) mvc) touchd) mkdir答案:a) cp第二部分:填空题1. Linux 操作系统的核心部分被称为()。

答案:内核2. Linux 中,用于修改文件或目录的权限的命令是()。

答案:chmod3. 在 Linux 中,用于压缩文件的命令是()。

答案:tar4. Linux 是基于()开发的操作系统。

答案:UNIX5. Linux 中,默认的超级用户账户是()。

答案:root第三部分:简答题1. 什么是 Linux 操作系统?答:Linux 是一种开源操作系统,它基于 UNIX 操作系统开发而成。

Linux 以其稳定性、可定制性和安全性而闻名,并广泛运用于服务器和嵌入式设备等领域。

2. 如何在 Linux 中创建一个新用户?答:可以使用 `useradd` 命令来创建一个新用户,例如 `useradd -m newuser`。

其中,`-m` 参数表示同时创建用户的主目录。

3. 如何修改文件的访问权限?答:可以使用 `chmod` 命令来修改文件的访问权限。

例如,要将文件的所有者权限设置为可读可写可执行,可以使用 `chmod u+rwx filename` 命令。

4. 如何在 Linux 中安装软件包?答:可以使用包管理器,如 `apt` (用于 Debian 系统)或 `yum` (用于 Red Hat 系统),来安装软件包。

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 ] 20B )位来表示,次设备号用([E] 24 [F] 32D )位来表示7. Linux 系统中哪些种类的设备有设备节点([A] 定时器[B] 字符设备[C ]BD )块设备[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驱动工程师面试题整理

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考试试题及答案一、选择题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系统中,以文件方式访问设备。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 层负责释放。

相关文档
最新文档