……………………………… 实用标准文案
…………………………… 湘潭大学兴湘学院2009年下学期 《 嵌入式系统Ⅰ》期末考试试卷 适用年级专业 06级计算机科学与技术,网络工程
…:……期……日……核……审…… …… …… …… …… …… …… …… …… …线 …… :…:……名……签……人……核……审…… … 订 … …… …… …… …… …… …… :……期……日…装卷……制…… …… …… …… …… …… …… …… …… …… …… ……:……名……签……人……卷……制…… …… …… …… … …考试方式 闭卷 考试时间 120 分钟 学院 专业 班级 学号 姓名 题 号 一 二 三 总分 阅卷 教师 得 分 ……………………………………………………………………………………………………………… 得 分 一、选择题(每题2分,共40分) 请将选择题的答案填入下表,答案以表中的为准! 题目 1 2 3 4 5 6 7 8 9 10 答案 D D D D B B C A A D 题目 11 12 13 14 15 16 17 18 19 20 答案 D C C A B D C B B B 1. 下列不是嵌入式系统特点的是: A. 系统内核小 B. 专用性强 C. 系统精简 D. 实时性要求不高 2. 关于ARM汇编和C语言混合编程下列错误的是: A.C语言中可以直接嵌入某些汇编指令 B. C语言中可以调用汇编的子程序 C. 汇编程序中可以调用C语言的函数 D. C语言嵌入的汇编指令时,不可以使用C的变量 3. 关于ATPCS规则,说法错误的是: A. 只能使用R0-R3来传递参数 B. R13为堆栈指针SP,需要保护 C. R14为连接寄存器,用于存放程序返回地址 D. 单字的返回值存放在R0 4. 关于交叉编译描述正确的是: A. 编译器运行在目标机,生成的可执行文件在宿主机上运行 B.编译器运行在宿主机,生成的可执行文件在宿主机上运行 C.编译器运行在目标机,生成的可执行文件在目标机上运行 D.编译器运行在宿主机,生成的可执行文件在目标机上运行 5. 建立嵌入式Linux开发环境中,使用Bootp协议的直接目的是: A. 分配宿主机的IP地址 B. 分配目标机的IP地址 精彩文档
实用标准文案
C. 用于宿主机和目标机之间通讯 D. 用于监控目标机的运行。 6. 关于make工具的使用,下面错误的是: A. 不指定目标时,make缺省处理makefile文件的第一个目标。 B. makefile文件中对宏名的引用为#(宏名)。 C. makefile文件中$@参数表示一条规则中目标的名字。 D. make CC=arm-linux-gcc命令表示使用arm-linux-gcc代替makefile文件中CC的宏定义执行make命令。 7. 下面不属于嵌入式操作系统的是: A.VxWorks B. QNX C. MacOS D. WinCE 8. 关于Linux2.4内核,说法错误的是: A. Linux为单内核,效率高,紧凑 B. 按进程优先级调度 C. 具有虚拟文件系统,可以支持多种文件系统 D. 设备驱动模块化 9. 嵌入式Linux开发中使用GDB调试,说法错误的是: A.GDB程序在宿主机上运行 B. 需要使用远程调试模式 C.需要交叉编译GDBServer D. 被调试程序在宿主机上运行 10. 下列属于常见的嵌入式GUI的有: A. Windows B. QT C. GNOME D. MiniGUI 11. Linux将设备分成三类,不是这三类的是: A.网络设备 B. 字符设备 C. 块设备 D. 杂项设备 12. 关于二阶段BootLoader说法错误的是: A. BootLoader的第一阶段代码全部由汇编语言构成; B. BootLoader的第一阶段代码在Flash中运行; C. BootLoader中可以使用glib库中的函数; D. BootLoader第二阶段代码大部分由C语言写成,所以需要使用栈。 13. 关于Linux存储管理,错误的是: A.使用页式的虚拟内存管理 B. 每个进程都有4GB内存 C.最低1G是内核空间 D. 使用三级页表 14. 嵌入式系统一般由嵌入式微处理器,系统外部电路, ,和特定应用程序4个部分组成。 A.嵌入式操作系统 B. 硬件驱动程序 C. BootLoader D. 文件系统 15. 向无任何程序的目标机中写入BootLoader程序,一般使用下面那种接口: A.串口 B. JTAG C. Ethernet D. USB 16. 关于ARM7系列微处理器的操作模式,不对的是: A.一共有7种操作模式 B. 除了用户模式,其他都为特权模式 C.不同模式下使用的寄存器可能会不相同 D. 通过改变SPSR中的低5位来切换模式 17. 关于BusyBox,下列说法错误的是: A.它常用来构建嵌入式Linux的根文件系统 B. 支持的shell命令可以进行配置 C. 支持的命令完全和Linux命令相同 D. 作为嵌入式Linux根文件系统时需要交叉编译 18. Linux网络设备驱动中用于在Linux网络子系统中的各层之间传递数据的数据结构为: A.net_device B. sk_buff C. net_dev D. skb 19. 在Linux2.6中,关于中断下列说法错误的是: A.中断处理分为顶半部和底半部 B. 中断处理中可能没有底半部 C. 底半部支持Tasklet,工作队列,软中断三种机制 D. Tasklet方法可以被睡眠 20. 有关Linux内核裁剪下列说法错误的是 A.可以使用make menuconfig命令进行内核的配置 B. 所有的配置项都可以按以编译入内核,编译成模块,不编译三种方式配置 C.使用make zImage命令会编译生成内核镜像文件zImage 精彩文档
实用标准文案
D. 嵌入式Linux内核编译时应该采用交叉编译器 二、问答题(三题,共30分) 1. 简述使用Linux的socket建立UDP服务端程序的步骤及相关函数。(10分) 答:(1)创建UDP套接字 (2)捆绑服务器端口到套接字 (3)把套接字换成监听套接字 (4)接收用户的连接,发送应答 (5)停止服务 2. 嵌入式Linux开发中经常使用NFS,使得开发变得更加简便。请问在已经具有支持NFS的内核的嵌入式Linux开发平台上怎么配置NFS服务,请写出必要的步骤?(7分) 答:1)配置NFS服务器 要配置NFS服务器,可以通过使用文本编辑器(如vi或gedit)修改配置文件/etc/exports的方法来完成。 在每次改变/etc/exports的时候,必须把改变通知给NFS守护进程,或使用以下命令来重新载入配置文件: /sbin/service nfs reload 2)启动和停止NFS服务 要启动或停止NFS服务,必须以root登录并使用以下命令来启动 NFS 守护进程,其命令格式如下: /sbin/service nfs [start | stop] 要启动NFS,在“#”提示符下键入以下命令行: /sbin/service nfs start 该命令在执行过程中会显示启动过程是否正确。 要停止NFS,则在“#”提示符下键入以下命令行: /sbin/service nfs stop 还可以使用以下命令来查看NFS守护进程的状态: /sbin/service nfs status 得 分 精彩文档