《嵌入式LInux设计与开发》练习题

合集下载

嵌入式系统设计与开发基础试卷

嵌入式系统设计与开发基础试卷

嵌入式系统设计与开发基础试卷(答案见尾页)一、选择题1. 嵌入式系统的核心是什么?A. 中央处理器(CPU)B. 内存(RAM)C. 输入输出设备D. 操作系统2. 嵌入式系统的开发过程通常不包括以下哪个阶段?A. 系统需求分析B. 硬件设计C. 软件开发D. 系统测试与调试3. 嵌入式系统通常用于控制哪些类型的设备?(多选)A. 家庭电器B. 汽车电子C. 医疗设备D. 个人电脑4. 在嵌入式系统开发中,硬件抽象层(HAL)的主要作用是什么?A. 提供设备驱动程序B. 实现操作系统与硬件之间的接口C. 进行系统级优化D. 管理系统资源5. 在嵌入式系统设计中,如何确保系统的可靠性和稳定性?A. 使用高质量的组件B. 提高系统时钟频率C. 增加冗余设计D. 缩短系统开发周期6. 在嵌入式系统开发过程中,为什么需要遵循良好的编程规范?A. 保证代码的可读性B. 提高代码的可维护性C. 减少开发时间D. 降低系统故障率7. 嵌入式系统的硬件通常包括哪些组件?A. CPU、内存、I/O设备B. 硬盘驱动器、键盘、显示器C. 显卡、声卡、网络接口卡D. 光驱、软驱、USB接口8. 以下哪个不是嵌入式系统的特点?A. 低功耗B. 实时性C. 可定制性D. 高性能9. 嵌入式系统的实时性是指什么?A. 系统能够在预定时间内响应外部事件B. 系统能够处理大量数据C. 系统具有高度的可扩展性D. 系统能够进行多任务处理10. 在嵌入式系统设计中,通常首先需要进行哪种类型的分析?A. 性能分析B. 功能分析C. 可靠性分析D. 体系结构分析11. 嵌入式系统的软件开发通常采用哪种方法?A. 面向过程B. 面向对象C. 事件驱动D. 瀑布模型12. 在嵌入式系统中,经常使用的编程语言有:A. CB. C++C. JavaD. Python13. 嵌入式系统中的通信协议通常用于哪些场景?A. 网络通信B. 人机交互C. 数据处理D. 图像处理14. 在嵌入式系统测试中,常用的测试方法有:A. 单元测试B. 集成测试C. 系统测试D. 性能测试15. 嵌入式系统的未来发展趋势可能包括:A. 更高的性能B. 更低的功耗C. 更强的可定制性D. 更多的联网功能16. 嵌入式系统的硬件通常包括哪几部分?A. CPU、内存、I/O设备B. CPU、内存、外部接口C. CPU、内存、操作系统D. CPU、内存、软件17. 在嵌入式系统中,通常使用哪种编程语言进行开发?A. CB. C++C. JavaD. Python18. 嵌入式系统设计中,常说的“实时性”是指什么?A. 系统能够在规定的时间内响应外部事件B. 系统能够处理大量数据C. 系统具有高度的可扩展性D. 系统具有低功耗19. 嵌入式系统中的通信方式通常有哪几种?A. 串行通信和并行通信B. 同步通信和异步通信C. 有线通信和无线通信D. 以上都是20. 在嵌入式系统的开发过程中,调试是一个重要的环节。

嵌入式Linux系统开发与应用考试

嵌入式Linux系统开发与应用考试

嵌入式Linux系统开发与应用考试(答案见尾页)一、选择题1. 嵌入式Linux系统开发环境搭建A. 安装Linux操作系统B. 配置开发环境C. 编写、编译、调试程序D. 连接目标板2. 嵌入式Linux系统编程基础A. C语言基础B. 汇编语言基础C. 嵌入式系统编程规范D. 嵌入式系统函数库3. 嵌入式Linux应用程序开发A. 嵌入式Linux应用程序设计原则B. 嵌入式Linux应用程序开发流程C. 嵌入式Linux应用程序调试技巧D. 嵌入式Linux应用程序性能优化4. 嵌入式Linux系统内核设计与实现A. 内核硬件抽象层(HAL)B. 微内核架构C. 嵌入式系统驱动程序开发D. 嵌入式系统实时性研究5. 嵌入式Linux系统文件系统与存储管理A. 文件系统基本概念B. 嵌入式Linux文件系统实现C. 存储管理技术D. 嵌入式系统数据安全6. 嵌入式Linux网络通信技术A. 网络通信协议分析B. 嵌入式Linux网络驱动程序开发C. 嵌入式Linux套接字编程D. 网络安全研究7. 嵌入式Linux系统跨平台开发技术A. 嵌入式Linux系统与Windows平台的互操作性技术B. 嵌入式Linux系统与macOS平台的互操作性技术C. 嵌入式Linux系统与Linux其他发行版的互操作性技术D. 嵌入式Linux系统全球化与本地化技术8. 嵌入式Linux系统项目实战A. 嵌入式Linux系统产品策划与设计B. 嵌入式Linux系统软件开发与测试C. 嵌入式Linux系统项目实施与运维D. 嵌入式Linux系统项目总结与反思9. 嵌入式Linux系统开发与应用相关技术标准与规范A. 嵌入式Linux系统开发规范B. 嵌入式Linux系统测试标准C. 嵌入式Linux系统文档编写规范D. 嵌入式Linux系统知识产权保护规范10. 嵌入式Linux系统开发环境搭建A. 安装Linux操作系统B. 配置开发环境C. 编写、编译和调试C/C++程序D. 使用集成开发环境(IDE)11. 嵌入式Linux系统编程基础A. 数据类型与运算符B. 控制结构与函数C. 指针与内存管理D. 文件操作与进程管理12. 嵌入式Linux应用程序开发A. 创建和控制线程B. 实现多任务处理C. 数据结构与算法D. 设计用户界面13. 嵌入式Linux系统启动与引导A. 启动过程B. 加载内核与根文件系统C. 系统初始化与配置D. 启动设备驱动程序14. 嵌入式Linux系统调试与诊断A. 使用调试工具B. 分析系统性能C. 调试程序错误D. 系统故障排除15. 嵌入式Linux网络编程A. 网络协议与数据结构B. 建立网络连接C. 数据传输与通信D. 网络安全与防火墙设置16. 嵌入式Linux系统资源管理A. 内存管理B. 文件系统C. 设备分配与管理D. 系统性能监控17. 嵌入式Linux项目实战A. 嵌入式Linux产品设计与实现B. 嵌入式Linux项目开发流程与方法C. 嵌入式Linux项目测试与评估D. 嵌入式Linux项目经验分享与交流18. 嵌入式Linux系统未来发展趋势A. 人工智能与物联网应用B. 5G与低功耗技术发展C. 自动驾驶与智能交通系统D. 绿色环保与可持续发展19. 嵌入式Linux系统开发环境搭建A. 安装Linux操作系统B. 配置开发环境C. 编写、编译、调试程序D. 连接目标板20. 嵌入式Linux系统编程基础A. C语言基础B. 汇编语言基础C. 嵌入式系统编程概念D. 嵌入式系统编程实例21. 嵌入式Linux系统驱动程序开发A. 驱动程序基本概念B. 驱动程序开发流程C. 驱动程序编写实例D. 驱动程序调试与测试22. 嵌入式Linux系统应用程序开发A. 嵌入式Linux应用程序设计原则B. 嵌入式Linux应用程序开发流程C. 嵌入式Linux应用程序实例D. 嵌入式Linux应用程序优化23. 嵌入式Linux系统文件系统与内存管理A. 嵌入式Linux文件系统基本概念B. 嵌入式Linux内存管理机制C. 嵌入式Linux文件系统实现D. 嵌入式Linux内存管理优化24. 嵌入式Linux系统网络编程A. 嵌入式Linux网络编程基础B. 嵌入式Linux套接字编程C. 嵌入式Linux网络应用开发D. 嵌入式Linux网络协议栈实现25. 嵌入式Linux系统设备驱动程序开发A. 设备驱动程序基本概念B. 嵌入式Linux设备驱动程序开发流程C. 嵌入式Linux设备驱动程序编写实例D. 嵌入式Linux设备驱动程序调试与测试26. 嵌入式Linux系统内核裁减与移植A. 嵌入式Linux内核裁减原理B. 嵌入式Linux内核移植方法C. 嵌入式Linux内核配置D. 嵌入式Linux内核集成27. 嵌入式Linux系统项目实战A. 嵌入式Linux系统开发项目需求分析B. 嵌入式Linux系统开发团队组建与分工C. 嵌入式Linux系统开发进度管理与质量控制D. 嵌入式Linux系统开发成果展示与评估28. 嵌入式Linux系统交叉平台开发环境建立A. 搭建交叉开发环境所需硬件设备B. 安装交叉开发工具软件C. 编写交叉平台软件开发框架D. 调试和优化交叉平台程序29. 嵌入式Linux系统应用程序开发技术A. 嵌入式Linux系统编程基础B. 嵌入式Linux系统进程与线程管理C. 嵌入式Linux系统内存管理D. 嵌入式Linux系统文件系统30. 嵌入式Linux系统网络编程A. 嵌入式Linux系统网络通信协议B. 嵌入式Linux系统套接字编程C. 嵌入式Linux系统网络驱动程序开发D. 嵌入式Linux系统网络安全31. 嵌入式Linux系统实时性技术A. 嵌入式Linux系统实时性概念及重要性B. 嵌入式Linux系统实时调度算法C. 嵌入式Linux系统实时任务设计D. 嵌入式Linux系统实时性能优化32. 嵌入式Linux系统低功耗技术A. 嵌入式Linux系统功耗概念及评估方法B. 嵌入式Linux系统低功耗硬件设计C. 嵌入式Linux系统低功耗软件优化D. 嵌入式Linux系统低功耗系统级设计33. 嵌入式Linux系统文件系统优化A. 嵌入式Linux系统文件系统概述B. 嵌入式Linux系统文件系统性能优化C. 嵌入式Linux系统文件系统安全性优化D. 嵌入式Linux系统文件系统可扩展性优化34. 嵌入式Linux系统内核定制与裁减A. 嵌入式Linux系统内核功能分析B. 嵌入式Linux系统内核配置与编译C. 嵌入式Linux系统内核裁减与移植D. 嵌入式Linux系统内核优化与升级35. 嵌入式Linux系统驱动程序开发A. 嵌入式Linux系统驱动程序基本概念B. 嵌入式Linux系统驱动程序开发流程C. 嵌入式Linux系统驱动程序编写规范D. 嵌入式Linux系统驱动程序测试与调试36. 嵌入式Linux系统项目实战案例分析A. 嵌入式Linux系统智能家居项目实战B. 嵌入式Linux系统物联网项目实战C. 嵌入式Linux系统汽车电子项目实战D. 嵌入式Linux系统航空航天项目实战37. 嵌入式Linux系统交叉开发技术A. 嵌入式Java技术B. 嵌入式Python技术C. 嵌入式C/C++技术D. 嵌入式汇编语言技术38. 嵌入式Linux系统驱动程序开发A. 驱动程序基本概念及分类B. 嵌入式Linux系统设备驱动程序开发流程C. 嵌入式Linux系统中断服务程序开发D. 嵌入式Linux系统硬件设备驱动程序调试与测试39. 嵌入式Linux系统文件系统开发A. 文件系统基本概念及分类B. 嵌入式Linux系统常用文件系统解析C. 嵌入式Linux系统文件系统优化与管理D. 嵌入式Linux系统用户认证与权限管理40. 嵌入式Linux系统进程与线程管理A. 进程与线程基本概念及区别B. 嵌入式Linux系统进程调度与进程通信C. 嵌入式Linux系统线程同步与互斥D. 嵌入式Linux系统实时性与并发性处理41. 嵌入式Linux系统网络编程A. 网络编程基础概念及协议分析B. 嵌入式Linux系统套接字编程C. 嵌入式Linux系统TCP/IP协议栈实现D. 嵌入式Linux系统网络设备驱动程序开发42. 嵌入式Linux系统图形用户界面(GUI)开发A. 嵌入式Linux系统GUI组件开发B. 嵌入式Linux系统事件处理与消息循环C. 嵌入式Linux系统多线程与同步D. 嵌入式Linux系统GUI性能优化43. 嵌入式Linux系统安全性设计A. 嵌入式Linux系统安全性概述B. 嵌入式Linux系统权限管理与访问控制C. 嵌入式Linux系统安全审计与监控D. 嵌入式Linux系统加密与解密技术44. 嵌入式Linux系统项目实战A. 嵌入式Linux系统智能家居控制系统设计B. 嵌入式Linux系统车载电子系统设计C. 嵌入式Linux系统工业自动化控制系统设计D. 嵌入式Linux系统医疗设备远程监控系统设计45. 嵌入式Linux系统未来发展趋势与挑战A. 嵌入式Linux系统与云计算、物联网融合B. 嵌入式Linux系统人工智能、机器学习应用C. 嵌入式Linux系统边缘计算技术发展D. 嵌入式Linux系统绿色环保与节能技术二、问答题1. 什么是嵌入式Linux系统?它的主要特点是什么?2. 嵌入式Linux系统开发流程通常包括哪些步骤?3. 嵌入式Linux系统中常用的开发工具有哪些?4. 嵌入式Linux系统中如何进行性能优化?5. 嵌入式Linux系统中如何进行故障排查与调试?6. 嵌入式Linux系统中如何保护知识产权?7. 嵌入式Linux系统中如何进行跨平台开发?8. 嵌入式Linux系统中如何进行可持续性与环保设计?参考答案选择题:1. ABCD2. ABCD3. ABCD4. ABCD5. ABCD6. ABCD7. ABCD8. ABCD9. ABCD10. ABCD11. ABCD 12. ABCD 13. ABCD 14. ABCD 15. ABCD 16. ABCD 17. ABCD 18. ABCD 19. ABCD 20. ABCD21. ABCD 22. ABCD 23. ABCD 24. ABCD 25. ABCD 26. ABCD 27. ABCD 28. ABCD 29. ABCD 30. ABCD31. ABCD 32. ABCD 33. ABCD 34. ABCD 35. ABCD 36. ABCD 37. ABCD 38. ABCD 39. ABCD 40. ABCD41. ABCD 42. ABCD 43. ABCD 44. ABCD 45. ABCD问答题:1. 什么是嵌入式Linux系统?它的主要特点是什么?嵌入式Linux系统是一种特殊的Linux操作系统,主要用于嵌入到各种硬件设备中。

(完整版)嵌入式Linux笔试题库和答案(新)

(完整版)嵌入式Linux笔试题库和答案(新)

嵌入式Linux 笔试题库一.选择题1. Linux 的创始人是谁()A、TurbolinuxB、AT&T Bell LaboratryC、University of Helsinki D 、Linus Torvalds2. 在Linux 中,命令解释器是哪个()A、管道B、分级文件系统C、字符型处理器D、shell3. Linux 安装程序提供了两个引导装载程序()A、GROUP 和LLTOB、DIR 和COIDC、GRUB 和LILOD、以上都不是4. 如果当前目录是/home/sea/china,那么“ china”的父目录是哪个目录()A、/home/seaB、/home/C、/D、/sea5. 在Linux中,要删除abc目录及其全部内容的命令为:()A、rm abcB、rm -r abcC、rmdir abcD、rmdir -r abc6. 假定kernel支持vfat分区,下面哪一个操作是将/dev/hda1分区加载到/win目录?()A、mount -t windows /win /dev/hda1B 、mount -fs=msdos /dev/hda1 /winC、mount -s win /dev/hda1 /winD、mount - vfat /dev/hda1 /win7. 显示用户的主目录的命令是什么()A、echo $HOMEB、echo $USERDIRC、echo $ECHOD、echo $ENV8系统中有用户user1和user2,同属于users组。

在user1用户目录下有一文件file1,它拥有644的权限, 如果user2用户想修改user1用户目录下的file1文件,应拥有()权限。

A、744B、664C、646D、7469.如何查看一个RPM 软件包是否安装()A 、rpm-Vc postfixB 、rpm-q postfixC 、rpm--changelog postfixD 、rpm-q—changelogpostfix10*.在Linux 中,提供TCP/IP 包过滤功能的软件叫什么( C )A、rarpB、routeC、iptablesD、filter11.nfs 服务的配置文件是什么?()/etc/mtab B、/etc/fastboot C、/etc/fstab D、/etc/exports12. 用命令ls -al 显示出文件ff 的描述:-rwxr-xr-- 1 root root 599 Cec 10 17:12 ff 由此可知文件ff 的类型为:()A、普通文件B、硬连接C、目录D符号连接13.Linux 操作系统中的shell 是()A、命令解释器B、程序设计语言C、脚本编辑器D、编译器14.能实现文件系统远程挂载的是()。

嵌入式linux c开发常见笔试题目

嵌入式linux c开发常见笔试题目

嵌入式Linux C开发的常见笔试题目主要围绕C语言基础、Linux操作系统以及嵌入式系统开发等方面。

以下是一些可能的笔试题目:
1. 请解释C和C++的主要区别。

2. 描述一下静态变量和全局变量在内存中的分配情况。

3. 解释一下什么是预处理器以及它的主要作用。

4. 编写一个程序,实现两个整数的交换而不使用第三个变量。

5. 描述一下进程和线程的区别以及它们之间的关系。

6. 什么是死锁?请列举至少两种导致死锁的情况。

7. 请解释一下中断处理程序的工作原理。

8. 如何在Linux中创建一个新进程?
9. 描述一下Linux中的同步和异步机制。

10. 什么是RTOS?请列举至少两个RTOS的例子。

《嵌入式Linux应用程序设计》复习题

《嵌入式Linux应用程序设计》复习题

《嵌入式Linux应用程序设计》复习题.一、选择题1.下面哪个命令是用来定义shell的全局变量( D )A. exportfsB. aliasC. exportsD. export2. 将当前目录下的文件shell.sh移动到目录/home/linux下的命令为 B 。

A. cp shell.sh /home/linuxB. mv shell.sh /home/linuxC. lls shell.sh / home/linux/shell.shD. mv /root/shell.sh /home/linux/shell.sh3.如果要列出一个目录下的所有文件需要使用命令行( C )。

A. ls –lB. ls-tC. ls –aD. ls –d4.Linux 下Makefile文件中,表示第一个依赖目标的系统变量是(C )A.$@B.$*C.$<D.$#5.32位系统下,定义一个指向字符类型的变量short i,那么sizeof(i)的值是( b )A.1B.2C.3D.46.在用ls –l 查看文件属性时,字符设备文件类型的标志是( A )A.cB.bC.sD.l7. 在linux下进行shell编程时,注释符是 A 。

A. #B. //C. /* */D. 以上都不对8. 任何时候用户需要回到用户主目录时可以使用命令 A 。

A. cdB. pwdC. pathD. cd .9. 下列属于文件包含的命令是_____C____。

A. #define N 25B. #endifC. #include "stdio.h"D. #else10. 下列关于Linux安装的说法中,不正确的是 C 。

A.如果计算机的内存为128MB,则SWAP分区(交换分区)的大小通常设定为256M。

B.安装时Linux分区的文件系统类型一般为ext2或ext3。

C.安装时要进行磁盘分区,如果选择“自动分区”,系统会自动保留硬盘上原来的数据。

嵌入式系统开发测试题(含答案)

嵌入式系统开发测试题(含答案)

嵌入式系统开发测试题(含答案)一、单选题(共100题,每题1分,共100分)1、Make预置了一些内部宏,其中$@表示A、以上都不是B、没有扩展名的当前目标文件C、当前目标文件最近更新的文件名正确答案:A2、关于U-Boot,下列说法错误的是()A、支持的处理器有ARM、MNPSB、是遵循GPL条款的开放源码项目C、支持的操作系统有LINUX、QNX正确答案:A3、Makefile是()A、调试器B、编辑器C、项目管理器正确答案:C4、C语言文件预处理生成哪个后缀的文件A、iB、SC、o正确答案:A5、直接编译进内核,又称()。

A、下载文件B、静态连接C、动态连接正确答案:B6、实时在线仿真是一种用于替代目标上()的设备A、CPUB、GPUC、NOU正确答案:A7、GDB软件是()。

A、调试器B、编译器C、文本编辑器正确答案:A8、嵌入式系统设计的重要特点是()多样化A、技术B、应用C、操作正确答案:A9、ARM的工作模式有?A、非特权模式和特权模式B、特权模式C、非特权模式正确答案:A10、嵌入式操作系统的特点不包括()。

A、有一定的实时性B、强交互性C、可裁剪正确答案:B11、TCP/IP参考模型不包括()A、表示层B、应用层C、传输层正确答案:A12、Linux内核的功能不包含下面哪种()A、处理机管理B、内存管理C、进程管理正确答案:A13、下列CPSR寄存器标志位的作用说法错误的是A、V:借位B、C:进位C、Z:零正确答案:A14、()显示屏是利用有机电致发光二极管制成的显示屏。

A、OLEDB、ABCDC、EFGH正确答案:A15、动态链接是指程序运行时需要调用共享库文件,其后缀为()A、aB、cC、so正确答案:C16、MCU偏重于()A、信号处理B、控制正确答案:B17、()是指:在宿主机上进行软件编辑、编译、链接等,并生成能够在目标机上运行的可执行程序的过程。

A、交叉编辑B、交叉开发C、交叉编译正确答案:C18、Flash程序烧写时,需准备好的软件不包括()。

嵌入式Linux试题

嵌入式Linux试题

嵌入式Linux系统基础试题库一.填空题:1. 在Linux系统中,以文件方式访问设备。

2. Linux内核引导时,从文件/etc/fstab 中读取要加载的文件系统。

3. Linux文件系统中每个文件用索引节点来标识。

7. 某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为:644 ,该文件属性是目录。

8. 前台起动的进程使用Ctrl+c终止。

13. 编写的Shell程序运行前必须赋予该脚本文件执行权限。

16. linux内核分为进程调度、内存管理、虚拟文件系统和网络接口、进程间通信这5个子系统。

19. 唯一标识每一个用户的是用户ID 和用户名。

21. 在Linux系统中所有内容都被表示为文件,组织文件的各种方法称为文件系统。

27. vi编辑器具有三种工作模式:命令模式、输入模式和末行模式。

28. 可以用ls –al命令来观察文件的权限,每个文件的权限都用10位表示,并分为四段,其中第一段占 1 位,表示文件类型,第二段占3位,表示文件所有者对该文件的权限。

29. 进程与程序的区别在于其动态性,动态的产生和终止,从产生到终止进程可以具有的基本状态为:运行态、就绪态和等待态(阻塞态)。

38 在Linux系统中,用来存放系统所需要的配置文件和子目录的目录是/etc 。

40. 套接字文件的属性位是s ,管道文件的属性位是p。

41. 结束后台进程的命令是kill。

43. Links分为硬链接和符号链接。

44. 在超级用户下显示Linux系统中正在运行的全部进程,应使用的命令及参数是ps -aux 。

46. 将前一个命令的标准输出作为后一个命令的标准输入,称之为管道。

47. 为脚本程序指定执行权的命令及参数是chmod a+x filename 。

52.在Linux系统中,压缩文件后生成后缀为.gz文件的命令是gzip 。

53. 在用vi编辑文件时,将文件内容存入test.txt文件中,应在末行模式下键入:w test.txt。

嵌入式linux-测试题(2套)

嵌入式linux-测试题(2套)

一:选择题1.下面不是对Linux操作系统特点描述的是( B )。

[A] 良好的可移植性[B] 单用户[C] 多用户[D] 多任务2.查看创建目录命令mkdir的帮助文档,可以使用命令( D)。

[A] mkdir –h [B] help mkdir [C] mkdir -p [D] man mkdir3.在C语言中,要求运算数必须是整型的运算符是( D )。

[A] / [B] ++ [C] != [D] %4.C语言程序的三种基本程序是( A )。

[A] 顺序结构,选择结构,循环结构[B] 递归结构,循环结构,转移结构[C] 嵌套结构,递归结构,顺序结构[D] 循环结构,转移结构,顺序结构5.数据结构包含的内容不包括(a)A.线性结构B.存储结构C.逻辑结构D.数据运算6.向一个单链表linklist中的节点t后面插入一个节点p,下列操作正确的是(a)A.p->next = t->next;t->next = p;B.t->next = p->next;t->next = p;C.t->next = p;p->next = t->next;D.t->next = p;t->next = p->next;7.下列哪种打开文件的方式不能修改文件已有的内容( B )[A] r+ [B] r [C] w+ [D] a+8.以下哪种不是进程的状态( B )[A] 运行态[B] 锁定态[C] 睡眠态[D] 停止态9.常用来进行多任务同步的机制是( B )[A]管道[B] 信号量[C] 信号[D] 共享内存10.下列对于有名管道描述错误的是( D )[A] 可以用于互不相关的进程间[B] 通过路径名来打开有名管道[C] 在文件系统中可见[D] 管道内容保存在磁盘上11.不能被用户进程屏蔽的信号是( B )[A] SIGINT [B] SIGSTOP [C] SIGQUIT [D] SIGILL12.fread()返回值的含义是( B )[A] 读取的字节数[B] 读取的对象数[C] 缓冲区的首地址[D] 013.以下不属于socket的类型的是 ( )。

嵌入式Linux系统开发教程很完整的习题答案

嵌入式Linux系统开发教程很完整的习题答案

参考答案第一章一、填空题。

1、嵌入式系统主要融合了计算机软硬件技术、通信技术和微电子技术,它是将计算机直接嵌入到应用系统中,利用计算机的高速处理能力以实现某些特定的功能。

2、目前国内对嵌入式系统普遍认同的定义是:以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

3、嵌入式系统一般由嵌入式计算机和执行部件组成,其中嵌入式计算机主要由四个部分组成,它们分别是:硬件层、中间层、系统软件层以及应用软件层。

4、嵌入式处理器目前主要有ARM、MIPS、Power PC、68K等,其中arm处理器有三大特点:体积小、低功耗、的成本和高性能,16/32位双指令集,全球合作伙伴众多。

5、常见的嵌入式操作系统有:Linux、Vxworks、WinCE、Palm、uc/OS-II和eCOS。

6、嵌入式系统开发的一般流程主要包括系统需求分析、体系结构设计、软硬件及机械系统设计、系统集成、系统测试,最后得到最终产品。

二、选择题1、嵌入式系统中硬件层主要包含了嵌入式系统重要的硬件设备:、存储器(SDRAM、ROM等)、设备I/O接口等。

(A)人、嵌入式处理器B、嵌入式控制器C、单片机D、集成芯片2、20世纪90年代以后,随着系统应用对实时性要求的提高,系统软件规模不断上升,实时核逐渐发展为—,并作为一种软件平台逐步成为目前国际嵌入式系统的主流。

(D)A、分时多任务操作系统B、多任务操作系统C、实时操作系统D、实时多任务操作系统3、由于其高可靠性,在美国的火星表面登陆的火星探测器上也使用的嵌入式操作系统是。

( B)A、PalmB、VxWorksC、LinuxD、WinCE[在此处键入]4、嵌入式系统设计过程中一般需要考虑的因素不包括:(D)A、性能B、功耗C、价格D、大小5、在嵌入式系统中比较流行的主流程序有:(A)A、AngelB、BlobC、Red BootD、U-Boot 三、叙述题1、举例说明身边常用的嵌入式系统。

《嵌入式LInux设计与开发》练习题

《嵌入式LInux设计与开发》练习题

练习题(一)一、填空题1.__________________________________ 嵌入式系统一般包括 _______________ 、嵌入式操作系统和 ______________________________ 。

2.Arm7内核采用的是_______________ 体系结构。

3.S3C2410X芯片包含_____________ 通道PWM定时器和______________ 道内部计时器。

4.gcc的编译流程分为预处理.编译、 ______________ 和______________5.C语言中的预处理语句是以符号 _____________ 开头的。

6._________________________________________________ 多任务系统中有3个功能单位:任务、 _______________________________________________ 和____________ °二、选择题下列操作系统中具有Windows 图形界面的是( )A. VxWorksB. QNXC. Windows CE D・ Linux2•使vi编辑器处于可编辑状态的命令是( )A. r B・ p C. i D. b3 ・下列选项中,能帮助用户生成makefile 的工具是( )A. gcc B・ autotools C. gdb D. vi4.可以使用TFTP通过网络下载文件的命令是( )A. runB. tftpbootC. sleepD. mv5・下列不属于Linux系统中线程的是( )A.用户级现程B.网络级线程C.轻量级线程D.内核级线程6.下列选项中,常用于网络中不同机器之间的进程间通信的是& TCP/IP 参考模型包含几层A. 4B. 5C. 6D ・7()9.在TCP 中,用于发送数据的函数是()A. bind ()B. send ()C. accept ()D. recv ()10 .下列选项中,不 属于 Linux系统的设备分类的 是( )A.字符设备B.数据设备C.块设备D.网络设备三、判断对错1. Arm9采用的是5级指令流水线。

嵌入式linux c开发常见笔试题目

嵌入式linux c开发常见笔试题目

嵌入式linux c开发常见笔试题目嵌入式Linux C开发是一个广泛应用于各种嵌入式设备的技术领域,也是许多企业在招聘时重点考察的技能。

在笔试中,考察的内容通常包括C语言基础、嵌入式系统知识、Linux系统编程等方面。

以下是一些常见的嵌入式Linux C开发笔试题目,供大家参考。

1. C语言基础在嵌入式Linux C开发中,对C语言的熟练掌握是非常重要的。

下面是一些与C语言基础相关的题目:1.1 请写出C语言中的数据类型,并解释其含义。

1.2 请解释C语言中的指针,并写出指针的声明、赋值和使用的例子。

1.3 请解释C语言中的结构体,并写出结构体的定义和使用的例子。

2. 嵌入式系统知识嵌入式系统是指在限定的资源和空间中运行的计算机系统,对于嵌入式Linux C开发来说,对嵌入式系统的了解是必不可少的。

下面是一些与嵌入式系统知识相关的题目:2.1 请解释嵌入式系统的特点,并举例说明。

2.2 请简要解释Linux内核的作用,并说明为什么在嵌入式系统中常使用Linux内核。

2.3 请解释交叉编译的概念,并说明为什么在嵌入式Linux C开发中常使用交叉编译。

3. Linux系统编程Linux系统编程是指在Linux系统上进行程序开发和调试的技术。

对于嵌入式Linux C开发者来说,熟悉Linux系统编程是必备的技能。

下面是一些与Linux系统编程相关的题目:3.1 请解释Linux系统中的进程和线程,并说明它们的区别和联系。

3.2 请解释Linux文件系统的层次结构,并说明每个层次的作用。

3.3 请解释Linux中的系统调用,并举例说明几个常用的系统调用。

4. 嵌入式Linux应用开发嵌入式Linux应用开发是指在嵌入式Linux系统上进行应用程序开发的技术。

下面是一些与嵌入式Linux应用开发相关的题目:4.1 请编写一个在嵌入式Linux系统上运行的Hello World程序。

4.2 请解释Linux设备驱动程序的概念,并说明为什么在嵌入式Linux应用开发中常涉及到设备驱动程序。

中国大学MOOC嵌入式Liunx应用开发习题(含答案)

中国大学MOOC嵌入式Liunx应用开发习题(含答案)

中国大学MOOC嵌入式Liunx应用开发习题(含答案)1、以下关于嵌入式系统描述,错误的选项是()A、可以解决某类确定问题B、与通用计算机在技术本质上没有区别C、功能比通用计算机更强大D、对体积和功耗、可靠性、本钱有严格要求答案:功能比通用计算机更强大2、以下哪一项,不属于嵌入式系统的固有组成局部()A、处理器B、外围电路C、嵌入式操作系统D、嵌入式应用软件答案:嵌入式操作系统03、以下编程语言中,执行效率最高的是()A、汇编语言B、C语言C、C++语言D、JAVA语言答案:汇编语言4、采用嵌入式操作系统的好处是()A、Makefile不支持嵌套B、Makefile不支持同时生成多个可执行程序C、Makefile中不用明确写明所有规那么D、Makefile执行出错即退出答案:Makefile中不用明确写明所有规那么33、基于操作系统的嵌入式软件平台,可以不包括下面哪一项()A、 bootloaderB、操作系统C、文件系统D、图形系统答案:图形系统34、Busybox的特点不包括()A、将大量程序压缩到一个文件中B、通过命令行参数argv[l]识别每一个命令C、为每个命令建立一个符号链接D、将多个命令的公共局部进行合并,只保存一个副本答案:通过命令行参数argv[l]识别每一个命令35、bootloader的特点描述正确的选项是()A、在系统中一直工作,直到掉电B、分为两阶段运行,用汇编设计C、其主要功能是复制操作系统内核到内存中D、具有用户交互功能答案:其主要功能是复制操作系统内核到内存中36、对应嵌入式应用程序来说()A、必须交叉编译B、可以交叉编译C、必须本地编译D、可以本地编译答案:必须交叉编译37、以下哪种方式不用于下载和调试程序()A、 TFTPB、FTPC、 HTTPD、NFS答案:HTTP38、关于内核模块的描述,正确的选项是()A、模块是可独立执行的程序B、模块一旦链接到内核,就与内核中原有的代码完全等C、模块一旦加载到内核中,即不可卸载D、模块运行于用户空间答案:B39、以下哪个命令可将模块插入内核()A、 insmodB、 IsmodC、 rmmodD、 depmod答案:insmod40、关于模块的功能,错误的选项是()A、插入模块到内核时可带参数B、可通过模块扩展内核功能C、Linux内核模块必须遵守GPL许可证D、模块插入内核后,可导出符号供其他模块使用答案:Linux内核模块必须遵守GPL许可证 41、关于Linux驱动程序的说明,错误的选项是() A、驱动程序必须采用模块动态加载方式插入系统 B、驱动程序属于内核代码C、驱动程序就是一个函数和数据结构的集合D、驱动程序用于控制硬件设备答案:驱动程序必须采用模块动态加载方式插入系统42、Linux的设备,不包括如下哪一项()A、字符设备B、块设备C、网络设备D、输出设备答案:输出设备43、2. 6及之后的Linux系统主设备号是多少位()A、8B、12C、24D、32答案:1244、2. 6及之后的Linux系统次设备号是多少位()A、8B、16C、20D、24答案:2045、设计Linux设备驱动程序的主要工作是设计()A、函数指针B、函数C、与函数指针对应的函数D、与函数对应的函数指针答案:与函数指针对应的函数46、io_p2V()函数的功能是()A、物理地址转虚拟地址B、虚拟地址转物理地址C、物理地址登记D、寄存器登记答案:物理地址转虚拟地址47、copy_from_user ()函数的功能是()A、将数据从内核空间复制到用户空间B、将数据从用户空间复制到内核空间C、在驱动程序之间复制数据D、在应用程序之间复制数据答案:将数据从用户空间复制到内核空间48、关于linux中断驱动程序的描述,错误的选项是()A、中断程序的上半部负责生成小任务B、中断服务程序的主体局部由操作系统调度执行C、中断服务应快速完成,以保证系统的快速响应性D、中断程序只能响应外部事件答案:中断程序只能响应外部事件49、在ARM11之后,新的Cortex核不包括下面哪个系列A、AB、RC、ND、M 答案:N50、STM32F103属于哪个系列产品()A、C ortex M0Cortex M3B、C ortex M5Cortex M7答案:Cortex M351、STM32F103的输入模式不包括下面哪一项()A、模拟输入模式B、浮空输入模式C、上拉/下拉输入模式D、通用开漏输入模式答案:通用开漏输入模式52、STM32F103的端口输入数据寄存器是()A、G PI0x_IDRGPI0x_CRHB、G PI0x_CRLGPI0x_0DR答案:GPI0x_IDR53、关于STM32处理器的库,说明错误的选项是()A、意法公司先后推出了 STM32标准库和HAL库B、库是对处理器内部寄存器进行配置的接口C、库在系统中的位置是用户应用程序与寄存器之间D、目前最新的库是STM32标准库V3. 5.0答案:目前最新的库是STM32标准库V3. 5.0A、系统速度更快B、执行效率更高C、应用软件运行更快D、程序员可专注于问题答案:程序员可专注于问题5、直接针对硬件编程,不可以()A、访问处理器的寄存器B、控制硬件工作模式和过程C、利用操作系统的调度机制D、读写内存答案:利用操作系统的调度机制6、关于模块描述,错误的选项是()A、模块划分应符合高内聚低耦合的原那么B、C语言中,源文件和对应头文件构成一个模块C、几个模块共享的全局变量,可定义在这些文件共有的头文件中。

《嵌入式Linux应用与开发》期终考试试卷

《嵌入式Linux应用与开发》期终考试试卷

适用专业:1、当我们使用GCC命令编译应用程序时,如果只编译并生成目标文件,如由test.c源文件生成test.o目标文件,应当在命令后使用()选项。

A、–oB、–cC、–SD、-E2、为了得到所有的命令行输入的参数,我们可以使用变量()。

A、$@B、$#C、$0D、$!3、在linux下进行shell编程时,注释符是()。

A、#B、//C、/* */D、以上都不对4、用GCC编译一个名为“HelloWorld.c”的C程序文件,编译后执行文件为“Hello”,则相应的编译命令是以下哪一项()。

A、gcc –i HelloWorld.c HelloB、gcc –o Hello helloWorld.cC、gcc –o HelloWorld.c HelloD、gcc –i Hello HelloWorld.c5、通过文件名存取文件时,文件系统内部的操作过程是通过()。

A、文件在目录中查找文件数据存取位置。

B、文件名直接找到文件的数据,进行存取操作。

C、文件名在目录中查找对应的i节点,通过i节点存取文件数据。

D、文件名在目录中查找对应的超级块,在超级块查找对应i节点,通过i节点存取文件数据。

6、Linux将存储设备和输入/输出均看做文件来操作,()不是以文件的形式出现。

A、目录B、软链接C、i节点表D、网络适配器7、ARM7DMI的工作状态包括()。

A、测试状态和运行状态B、挂起状态和就绪状态C、就绪状态和运行状态D、ARM状态和Thumb状态8、下面说法不正确的是()。

A、shell程序编写完后还需要用gcc编译器编译B、可以通过shell程序作为sh命令的输入来执行shell程序C、shell程序中定义的函数不能有参数D、Linux是免费使用和自由传播的类UNIX操作系统,但它并不是没有版权9、下面哪个系统目录中包含Linux使用的外部设备()。

A、/binB、/devC、/bootD、/home10、删除文件命令为()。

嵌入式系统与开发》测试题答案

嵌入式系统与开发》测试题答案

嵌⼊式系统与开发》测试题答案测试题0及参考答案(1)ARM汇编程序由指令、指令和指令构成。

(2)ARMC____(A.0X12 B.0X34 C.0X56 D.0X78)(采⽤⼩端模式进⾏存储)(4)⼀般情况下,ARM微处理器异常处理模式共有___7___种,机器启动后第⼀条指令执⾏的是__A___(A.复位异常处理函数指令 B.中断异常处理指令 C.IRQ异常处理指令 D.指令预取终⽌异常)。

(5)调⽤函数FUN(X,Y,Z),则实参值分别通过__r0__、_r1___、_r2__寄存器来进⾏传递,如果参数超过4个,则参数传递规则为____通过栈进⾏传递________。

(6)举例列出⼀款ARM7TDMI微内核的嵌⼊式微处理器_S3C44B0X_,ARM920T 微内核的嵌⼊式微处理器_S3C2410_,ARM11内核的嵌⼊式微处理器__S3C6410____,并列举2款64位ARM微内核_Cortex-A53 __、__Cortex-A57________。

(7)利⽤汇编和C混合编程,设计代码完成求a,b,c中最⼤值功能,要求写出汇编启动代码和C代码。

(略)此知识点不需要掌握测试题1及参考答案1.嵌⼊式Linux操作系统包括 bootloader 、内核、⽂件系统三部分组成。

2.在PC机上Linux系统编译使⽤的编译器名为 gcc ,ARM处理器嵌⼊式编译器名为 arm-linux-gcc 。

3.bootloader的功能:①引导操作系统内核启动②提供辅助命令⼯具。

4.列出最常⽤的bootloader:、、、、、。

5.在uboot中,打印开发板上环境变量值的命令为 printenvsetenv ,假如嵌⼊式内核名为vmlinux,通过tftp加载内核的命令为tftp vmlinux 内存地址,启动嵌⼊式Linux内核的命令为 bootm 。

6.从C语⾔⾓度来理解,嵌⼊式Linux内核仅是众多函数的集合体,其有⼀个类似于main的函数,名称为start_kernel 。

嵌入式Linux应用程序开发测试题

嵌入式Linux应用程序开发测试题

嵌入式L i n u x应用程序开发测试题work Information Technology Company.2020YEAR嵌入式Linux应用程序开发测试题(14级嵌入式方向专用)一、选择题1、下列哪一项不是嵌入式操作系统的特点DA、占有资源少B、低成本C、高可靠性D、交互性2、在Linux内核配置过程中,下面哪项命令采用的是基于图形窗口模式的配置界面CA、make configB、make menuconfigC、make xconfigD、make oldconfig3、在Linux内核配置过程中,下面哪项命令建立依赖关系CA、make configB、make menuconfigC、make depD、make clean4、交叉编译器中,下面哪项不是必需包含的DA、glibcB、gccC、binutilsD、tmake5、内核的编译主要步骤不包括下面哪项DA、内核配置B、建立依存关系C、建立内核D、加载内核6、内核编译时选项前的尖括号中可以是空,*,M,其中*表示CA、选项将编译为模块B、不包含选项C、包含选项7、Bootloader的stage1阶段主要完成的工作不包括下面哪项DA、基本的硬件初始化B、为加载stage2准备RAM空间C、拷贝stage2到RAM中D、用汇编语言跳转到main入口函数8、GCC的正确编译流程为AA、预处理-编译-汇编-链接B、预处理-编译-链接-汇编C、预处理-链接-编译-汇编D、编译-预处理-汇编-链接9、如需GCC提供编译过程中所有有用的报警信息,则在编译时应加入选项BA、-wB、-WallC、-werrorD、-error10、下面哪些与GDB相关的说法是错误的BA、GDB能调试可执行文件B、GDB能调试源代码C、GDB对编译过程有要求 D、GDB支持交叉调试11、在GDB调试过程中,使用下面哪项命令设置断点,其中m代表行号AA、b mB、c mC、n mD、s m12、open函数原型中的O_RDWR标志表示文件打开方式为CA、只读方式打开文件B、可写方式打开文件C、读写方式打开文件D、以添加方式打开文件,在打开文件的同时,文件指针指向文件末尾13、在Linux操作系统中,串口设备的设备名一般为CA、com1B、port1C、ttyS0D、serl114、下面哪项对Linux操作系统下fork函数的描述是错误的DA、fork函数执行一次返回两个值B、新进程称为子进程,而原进程称为父进程C、父进程返回值为子进程的进程号D、子进程返回值为父进程的进程号15、编写守护进程的第一步为AA、创建子进程,父进程退出B、在子进程中创建新会话C、改变当前目录为根目录D、关闭文件描述符16、在关于TCP/UDP的描述中,下面哪项是错误的CA、TCP数据传输实现了从一个应用程序到另一个应用程序的数据传递B、TCP对话通过三次握手来完成初始化C、UDP即用户数据报协议是一种面向连接的协议D、一个UDP应用可同时作为应用的客户或服务器方17、常见的socket类型中不包括下面哪项CA、SOCK_STREAMB、SOCK_DGRAMC、SOCK_DTRAND、SOCK_RAW18、以下哪项不是autotools系列工具之中的一种。

嵌入式Linux题库

嵌入式Linux题库

一、单选题(每小题2分,共30分)--><题目>下列哪一项不是嵌入式操作系统的特点 DA、占有资源少B、低成本;C、高可靠性D、交互性<题目>下列哪一项不是嵌入式系统的基本要素 CA、嵌入性B、专用性C、通用性D、计算机系统<题目>现阶段嵌入式系统发展的主要标志为 DA、以单芯片为核心的可编程控制器B、以嵌入式CPU为基础、以简单操作系统为核心C、嵌入式操作系统D、Internet<题目>下面哪项不是嵌入式系统的特点 DA、面向特定应用B、软件一般都固化在存储器芯片或单片机本身中,而不存储于磁盘中C、代码尤其要求高质量、高可靠性D、具备二次开发能力<题目>下面哪项不是ARM处理器的特点 DA、支持Thumb(16 位)/ARM(32 位)双指令集B、兼容8位/16位器件;C、指令长度固定;D、大量使用RAM,指令执行速度更快<题目>下面哪项不是ARM处理器的特点 BA、大多数数据操作都在寄存器中完成;B、采用CISC指令集;C、寻址方式灵活简单,执行效率高;D、体积小、低功耗、低成本、高性能;<题目>下面哪项不属于ARM处理器模式 AA、管理模式(root);B、用户模式(usr);C、快速中断模式(fiq);D、外部中断模式(irq);<题目>下面哪项为错误的说法 AA、冯·诺依曼结构共用数据存储空间和程序存储空间,不共享存储器总线;B、哈佛结构有分离的数据和程序空间及分离的访问总线;C、哈佛结构在指令执行时,取址和取数可以进行并行操作;D、哈佛结构指令执行时效率更高;<题目>采用下列哪项更有利于开发微型嵌入式应用系统 BA、脚本程序语言;B、C语言或汇编语言;C、C++或SQL语言;D、HTML或XML语言;<题目>下面哪项为一般嵌入式系统开发中不具备的环节 BA、系统总体开发;B、数据库设计;C、嵌入式硬件开发;D、嵌入式软件开发;<题目>在嵌入式系统开发过程中下面哪项为错误的说法 BA、对于有些硬件和软件都可以实现的功能,需要在成本和性能上做出抉择;B、对实时性要求非常高的产品可以选择嵌入式Linux开发环境;C、嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分;D、嵌入式系统的软件开发可分为交叉编译和交叉调试两部分;<题目>对于Linux操作系统,下面哪项说法是错误的 DA、是一种开源的操作系统;B、提供了强大的应用程序开发环境;C、可以免费使用;D、不支持Sparc硬件平台;<题目>文件权限读、写、执行的三种标志符号依次是 AA、rwx;B、xrw;C、rdx;D、srw;<题目>使用命令chmod的数字设置,可以改变 CA、文件的访问特权;B、目录的访问特权;C、文件/目录的访问特权;<题目>修改文件a.txt的权限,使每个用户都可以读取和写入这个文件,相应命令为 AA、chmod 666 a.txt;B、chmod 777 a.txt;C、chmod 755 a.txt;D、chmod 555 a.txt;<题目>某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为DA、467B、674C、476;D、764;<题目>系统中有用户user1和user2,同属于users组。

嵌入式Linux应用程序开发标准教程习题

嵌入式Linux应用程序开发标准教程习题

1.1、简述ARM处理器的发展历史1.2、简述RISC处理器的结构特点1.3、概述ARM和Thumb指令集的的优缺点。

2.1、CISC与RISC分别指什么?说明它们各自有什么特点?2.2、ARM处理器工作模式有几种?各种工作模式分别有什么特点?2.3、ARM处理器总共有多少个寄存器,这些寄存器按其在用户编程模式中的功能是如何划2.4、试述ARM处理器对异常中断的响应过程2.5、简述CPSR各状态位的作用,并说明如何对其进行操作,以改变各状态位。

2.6、试比较ARM和Thumb指令集的异同。

2.7、Thumb中通用寄存器和ARM中有何不同?2.8、ARM指令系统中对字节、半字、字的存取是如何实现的?2.9、ARM系统中大端小端指的是什么?3.1、用哪一种寻址方式的指令执行速度最快?3.2、立即数寻址方式在操作码字段和其他寻址方式有什么区别?3.3、为什么说在第二操作数中如使用立即数必须是8位位图在32位字中被循环移位偶数位后的值?3.4、请划存储器框图说明下面指令的区别3.5、在相对寻址中,位移量指的是什么?什么指令最常用相对寻址?3.6、在变址寻址中,前索引方式和后索引方式有什么区别?前索引方式中,在指令中加“!”和不加“!”有什么区别?现有R1=0x100,[0x100]=0x0FF,[0x104]=0x0EE,分别执行每条指令,指出R0中存放的结果:LDR R0,[R1,#4]LDR R0,[R1,#4]!LDR R0,[R1],#43.7、指出下面两条指令的功能及R0,R1寄存器如何变化?3.8、写出下列指令的寻址方式ADD R0,R1,R2 ()ADD R3,R3,#1 ()ADD R3,R2,R1,LSL #3 ()LDR R0,[R1] ()LDR R0,[R1,#4]! ()LDMIA R1,{R0,R2,R5} ()STMFD SP! {R1-R7,LR} ()LDMIA R0!,{R2-R9} ()BL SUBR ()4.1、判断下列ARM指令正确与否,并指出错误之处MOV R0,#0x100000 ()LDR R1,[R15] ()LDR R0,[R0,4]! ()UMULL R0,R1,R9,R9 ()LDRD R14,[R1] ()STRH R1,[R2,0xFFB] ()4.2、分析下列指令执行后寄存器的内容。

嵌入式软件Linux开发基础期末试卷

嵌入式软件Linux开发基础期末试卷

第2页
共3页
河北工业职业技术学院成人高等教育
2021 学年 第一学期
《嵌入式软件 Linux 开发基础》期末试卷
五、程序题(15 分)
编写 1 个弹出式菜单的 shell 程序并实现其简单的菜单功能:
2.将文件“/etc/inittab”复制到当前目录下,使用 vi 打开该文件,然后设定其行号, 再向下查找字符串“halt”,最后存盘退出。


… 〇
一、填空题(每空 1 分,共 25 分)
二、选择题(每题 2 分,共 30 分)

1.删除当前目录 abc 以及下面的所有子目录和文件,并不要求提示任何确认信息
… …
1.Shell 命令中,_________命令可更改一个文件的权限设置。
的命令是( )。
… …
2.vi 编辑器有四种工作模式,分别是:标准模式、__________、__________、
1. 利用 Qt Designer 设计一个 GUI 程序主要包括哪些步骤。
2.Linux 系统有几种类型文件?它们分别是什么?有哪些相同点和不同点?
3.试解释 make 和 makefile 的关系?
四、操作题(每题 5 分,共 15 分)
1.在当前目录/home/dianzi 下新建一个目录 test,将当前目录改为 test,并在 test 下新建 2 个子目录文件 test1、test2,然后把 test2 移动到目录 test1 中,并重命名 为 test3。
… …
(1)____________________________________________;

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

练习题(一)一、填空题1.嵌入式系统一般包括_____________、嵌入式操作系统和。

2.Arm7内核采用的是体系结构。

3.S3C2410X芯片包含通道PWM定时器和____________通道内部计时器。

4.gcc的编译流程分为预处理、编译、和______________。

5.C语言中的预处理语句是以符号开头的。

6.多任务系统中有3个功能单位:任务、和____________。

二、选择题1.下列操作系统中,具有Windows图形界面的是()A.VxWorks B.QNX C.Windows CE D.Linux2.使vi编辑器处于可编辑状态的命令是()A.r B.p C.i D.b3.下列选项中,能帮助用户生成makefile的工具是()A.gcc B.autotools C.gdb D.vi4.可以使用TFTP通过网络下载文件的命令是()A.run B.tftpboot C.sleep D.mv5.下列不属于Linux系统中线程的是()A.用户级现程B.网络级线程C.轻量级线程D.内核级线程6.下列选项中,常用于网络中不同机器之间的进程间通信的是()A.套接字B.管道C.信号D.信号量7.使用有关线程操作的函数时必须包含的头文件是()A.pthread.h B.stdio.h C.time.h D.string.h8.TCP/IP参考模型包含几层()A.4 B.5 C.6 D.79.在TCP中,用于发送数据的函数是()A.bind()B.send()C.accept()D.recv()10.下列选项中,不属于Linux系统的设备分类的是()A.字符设备B.数据设备C.块设备D.网络设备三、判断对错1.Arm9采用的是5级指令流水线。

()2.Vi编辑器有4种模式:标准模式、插入模式、命令行模式和可视模式。

()3.NFS文件系统的目的是让不同的机器、不同的操作系统之间可以共享文件。

()4.一个线程可以包含多个进程。

()5.TCP和UDP都是面向可靠的传输服务。

()6.设备驱动程序可以使用模块的方式动态加载到内核去。

()7.标准I/O提供了3种类型的缓冲存储:全缓冲、行缓冲、不带缓冲。

()8.交叉编译操作需要在安装交叉编译器后才能进行。

()9.Linux环境下不能同时打开多个终端。

()10.进程具有动态性、交互性和异步性,但不具有并发性。

()四、问答题1.简述并行通信和串行通信的概念及各自的特点。

并行通信是指利用多条数据传输线将一个字数据的各比特位同时传送。

它的特点是传输速度快,适用于传输距离短且传输速度较高的通信。

串行通信是指利用一个传输线将数据以比特位为单位顺序传送。

特点是通信线路简单,利用简单的线缆就可以实现通信,成本低,适用于传输距离长且传输速度较慢的通信。

2.阐述什么是交叉编译,并解释为什么要进行交叉编译。

所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。

由于一般通用计算机拥有非常丰富的系统资源、使用方便的集成开放环境和调试工具等,而嵌入式系统的系统资源非常紧缺,无法在其上运行相关的编译工具,因此,嵌入式系统的开发需要借助宿主机(通用计算机)来编译出目标机的可执行代码。

3.画出OSI参考模型与TCP/IP参考模型的对应关系。

五、程序填空题1.在书写makefile时,适当使用变量替换会使其进一步得到简化。

题中给出了一个makefile 的原始写法,随后给出了经变量替换后的前三行语句,请在下划线上填写后续语句。

完整的makefile原始写法如下:david: kang.o yul.ogcc kang.o yul.o –o davidkang.o: kang.c kang.hgcc –Wall –g –c kang.c –o kang.oyul.o: yul.c yul.hgcc –Wal l –g –c yul.c –o yul.o经过变量替换后的makefile如下:OBJS=kang.o yul.oCC=gccCFLAGS=-Wall –g(1)(2)(3)(4)(5)(6)2.已知hello.h和hello.c两个文件,按要求将所需命令写在下划线上。

预处理阶段的命令是:(1)编译阶段的命令是:(2)汇编阶段的命令是:(3)链接阶段的命令是:(4)运行可执行文件的命令是:(5)六、综合题(共34分)1.用QT编写一个显示“ welcome linux ”的窗口程序。

2.有如下二叉树,写出它的先序序列、中序序列和后序序列。

3.编程实现如下功能:使用fork()函数创建一个子进程,根据其返回值result判断函数fork()的返回情况,并进行错误处理。

练习题(二)一、填空题1.嵌入式系统一般具备的三个基本要素是:“计算机系统”、__________和。

2.ARM(Advanced RISC Machines)有3种含义,它是一个_______的名称,也是一类_________ 的通称,还是一种技术的名称。

3.S3C2410X芯片提供通道的DMA,并具有_________请求引脚。

4.Vim有________种模式,在其他任何模式下按下________按键都可以回到命令模式。

5.一个makefile文件中通常包含三方面内容:_________、dependency_file和_____________。

二、单项选择题1.下列选项中,不属于嵌入式系统特点的是()A.面向特定应用B.量体裁衣C.对代码要求低D.不具备二次开发功能2.使vi编辑器处于标准模式的命令是()A.Ctrl B.p C.Esc D.b3.嵌入式Linux开发中常用到的一种调试工具是()A.gcc B.gdb C.arm-linux-gcc D.kernal4.单向链表的最后一个节点的指针域为()A.next B.NULL C.First D.prev5.可以让不同的机器、不同的操作系统直接进行彼此共享文件的文件系统是()A.SMBA B.NFS C.TFTP D.根文件系统6.下列Linux内源码顶层目录的文件夹中,存放有关体系结构代码的是()A.Arch B.driver C.fs D.Net7.在对文件的操作中,既可以对文件施加建议性锁,又可以施加强制锁的函数是()A.fcntl( )B.lockf( ) C.lseek( ) D.select( )8.下列选项中,不属于Unix进程间通信的方式是()A.变量B.管道C.FIFO D.信号9.下列选项中,不属于设备驱动程序特点的是()A.可装载B.可移植C.可设置D.动态性10.下列选项中,用于在内核空间向控制台输出信息的函数是()A.printf()B.printk()C.print()D.putchar()三、判断对错1.在S3C2410芯片中,对内核的供电电压和对存储器的供电电压可以不同。

()2.gcc的编译流程可分为4个步骤:预处理、编译、汇编、链接。

()3.tftp服务中使用的tftp协议是基于UDP实现的。

()4.BootLoader是不依赖硬件平台的,所以在新电路板上无需移植U-boot程序。

()5.在Linux中,所有的设备文件一般都位于“/dev”下,其中串口一和串口对应的设备名是相同的,都是“/dev/ttyS”。

()6.设备驱动程序既可以用静态方式编译在内核中,也可以动态加载到内核中。

()7.TCP协议适于可靠传输,UDP协议适于不可靠传输。

()8.嵌入式Linux驱动的设备号是一个数字,由主设备号和次设备号组成。

()9.嵌入式Linux系统中控制一个LED小灯,直接对其操作即可,无需编写驱动。

()10.进程具有动态性、交互性和异步性,但不具有并发性。

()四、问答题1.简述vim编辑器的几种工作模式。

Vim编辑器的使用按不同的使用方式可以分为4种模式:标准模式、插入模式、命令行模式和可视模式。

标准模式:在此模式下任何键盘的输入都是作为命令来对待。

命令的输入通常是不回显的,只显示执行的结果。

在此模式下用户可以输入命令来控制屏幕光标的移动,字符、子或行的删除等操作,也可进入到其它3种模式下。

在其它任何模式下按下“Esc”键都可以回到此模式。

插入模式:用户只有在此模式下才可以进行文字输入和修改等编辑工作,因此也称此模式为编辑模式。

在标准模式下输入“i”即可进入此模式。

命令行模式:在此模式下,用户可以将文件保存或退出vim,也可设置编辑环境,比如查找字符、列出行号等。

在命令模式中输入“:”(一般命令)、“/”(正向搜索)或“?”(反向搜索)进入该模式,在此模式下输入的命令会在底行显示,这些命令输入后要按“Enter”键才执行。

可视模式:在命令模式中输入“v”(按字符选择)、“V”(按行选择)、“ctrl”+“v”(按块选择)进入该模式。

在此模式下,通过移动光标来选择文本,选择的文本将反白显示。

2.简述嵌入式Linux中I/O处理的五种模型。

I/O处理的模型有以下五种。

(1)阻塞I/O模型:在此模型下,若调用的I/O函数没有完成相关的功能,则会使进程挂起,直到相关数据到达才会返回。

(2)非阻塞模型:在此模型下,当请求的I/O操作不能完成时,不让进程睡眠,而且立即返回。

非阻塞I/O使用户可以调用不会阻塞的I/O操作,如open()、write()、read()。

如果该操作不能完成,则会立即返回出错或者返回0。

(3)I/O多路转接模型:此模型下,如果请求的I/O操作阻塞,且它不是真正阻塞I/O,而是让其中一个函数等待,期间,I/O还能进行其他操作。

(4)信号驱动I/O模型:此模型下,通过安装一个信号处理程序,系统可以自动捕获特定信号,从而启动I/O。

这是由内核通知用户何时启动一个I/O操作决定的。

(5)异步I/O模型:此模型下,当一个描述符已准备好,可以启动I/O时,进程会通知内核。

3.列举并简述嵌入式Linux中使用较多的进程间通信的几种工作方式。

现在在Linux中使用较多的进程间通信方式主要有以下几种。

(1)管道及有名管道:管道可用于具有亲缘关系进程间的通信,有名管道除具有管道所有的功能外,还允许无亲缘关系进程间的通信。

(2)信号:信号是在软件层次上对中断机制的一种模拟,它是比较复杂的通信方式,用于通知进程有某事件发生,一个进程收到一个信号与处理器收到一个中断请求效果上可以说是一样的。

(3)消息队列:消息队列是消息的链接表,包括POSIX消息队列,System V消息队列。

它克服了前两种通信方式中信息量有限的缺点,具有写权限的进程可以按照一定的规则向消息队列中添加新消息;对消息队列有读权限的进程则可以从消息队列中读取消息。

(4)共享内存:它使得多个进程可以访问同一块内存空间,不同进程可以及时看到对方进程中对共享内存中数据的更新,这种通信方式需要依靠某种同步机制,如互斥锁或信号量等。

相关文档
最新文档