嵌入式Linux应用程序开发测试题
嵌入式Linux C语言应用开发试题及答案

嵌入式Linux C语言应用开发试题及答案一:选择题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的类型的是 ( )。
嵌入式应用开发期末练习题

一、填空题1、 linux中,对串口参数进行配置的数据结构名是__termios____。
2、 gcc的编译流程分为4个步骤:预处理、__编译____、汇编、__链接____。
3、获取当前进程ID的方法是__getpid()____。
4、对文件的打开操作有open和fopen,它们哪个是标准库函数__fopen()____它的返回值是__指向FILE的指针____。
5、一个由c语言占用的内存分为代码区和数据区,数据区又可以分为__静态数据区____和动态数据区,动态数据区分为堆、__栈____。
6、 linux的管道通信可以分为匿名管道、___有名管道___和__标准管道____。
7、 linux中的网络编程是通过套接字接口来进行的,常见的套接字有三种类型:___流式套接字___、__数据报套接字____和__原始套接字____。
8、在linux中,用户空间的进程可以直接通过___系统调用___来获取操作系统内核提供的服务。
9、 linux中,对串口进行操作的函数中,激活串口配置的函数是__tcsetattr()____。
10、linux中使用较多的进程间通信方式包括管道、信号、信号量、___消息队列___、__共享内存____。
11、makefile规则是make进行处理的依据,它包括了__依赖文件____、___目标体___及其之间的命令语句。
12、互斥锁和信号量为linux中的线程同步机制,其中___信号量___适合于同时可用的资源为多个的情况。
13、系统调用分为进程控制、进程间通信、文件系统管理、系统管理、存储管理、网络管理、socket管理、用户管理等。
14、终端分为3种模式规范模式、非规范模式和原始模式二、选择题1. 下面关于linux下串口操作正确的描述是【 C 】A.串口的奇偶校验必须使能B.不能通过linux api设置串口的停止位C.串口配置好后,其读写操作和普通文件就是一样的了D.串口文件可以通过lseek改变读写指针2. 下列关于makefile说法错误的是【 B 】A.创建目标体的命令必须以制表符开头B. makefile变量名可以包含“#”字符串C. makefile变量对大小写敏感D. “-C dir”表示读入指定目录dir下的makefile3. 下列关于linux多线程编程不正确的是【 D 】A. 不同进程的线程间不能用信号量来同步;B. pthread线程库符合POSIX接口;C. 必须包含头文件pthread.h;D. phtread_join( )作用是将参数中的指定线程挂起;4. 下列关于linux网络编程不正确的说法是【 C 】A.send()既可用在tcp中,也可用在udp中;B. sendto()既可用在tcp中,也可用在udp中;C. 不管是客户端还是服务器端必须调用bind;D. 每一个socket都用一个半相关描述{本地地址、本地端口}5. 从文件描述符fd中读出200个字节到首地址为buff的缓冲区的正确底层IO操作是【 B 】A. read(buff,200,fd);B. read(fd,buff,200);C. read(fd,200,buff);D. read(200,buff,fd);6. 使用下面哪条命令可以查询目标文件所依赖的动态链接库。
嵌入式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 笔试题库一.选择题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.能实现文件系统远程挂载的是()。
嵌入式系统开发测试题(含答案)

嵌入式系统开发测试题(含答案)一、单选题(共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应用程序开发期末考试题库及答案

单项选择题1下列哪一项不是嵌入式操作系统的特点 DA、占有资源少B、低成本C、高可靠性D、交互性2下列哪一项不是嵌入式系统的基本要素 CA、嵌入性B、专用性C、通用性D、计算机系统3现阶段嵌入式系统发展的主要标志为 DA、以单芯片为核心的可编程控制器B、以嵌入式CPU为基础、以简单操作系统为核心C、嵌入式操作系统D、Internet4下面哪项不是嵌入式系统的特点 DA、面向特定应用B、软件一般都固化在存储器芯片或单片机本身中,而不存储于磁盘中C、代码尤其要求高质量、高可靠性D、具备二次开发能力5下面哪项不是ARM处理器的特点 DA、支持Thumb(16 位)/ARM(32 位)双指令集B、兼容8位/16位器件C、指令长度固定D、大量使用RAM,指令执行速度更快6下面哪项不是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硬件平台使用命令chmod的数字设置,可以改变 CA、文件的访问特权B、目录的访问特权C、文件/目录的访问特权修改文件a.txt的权限,使每个用户都可以读取和写入这个文件,相应命令为 AA、chmod 666 a.txtB、chmod 777 a.txtC、chmod 755 a.txtD、chmod 555 a.txt某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为 DA、467B、674D、764系统中有用户user1和user2,同属于users组。
嵌入式操作系统应用开发考试试卷

嵌入式操作系统应用开发考试试卷(答案见尾页)一、选择题1. 嵌入式操作系统基础概念(单选)A. Windows CEB. VxWorksC. QNXD. Windows XP2. 嵌入式系统硬件组成(多选)A. CPUB. 内存C. 存储器D. 输入输出设备3. 嵌入式操作系统种类(多选)A. 实时操作系统B. 分时操作系统C. 批处理操作系统D. 微软Windows4. 嵌入式操作系统开发环境搭建(单选)A. 集成开发环境(IDE)B. 开发板C. 模拟器D. 实际板5. 嵌入式系统应用程序开发流程(单选)A. 编写源代码B. 编译链接C. 调试程序D. 部署运行6. 嵌入式系统驱动程序开发(单选)A. 汇编语言B. C语言C. Java语言D. Python语言7. 嵌入式系统实时性要求及实现方法(单选)A. 时间片轮转B. 优先级调度C. 最短作业优先D. 高优先级优先调度8. 嵌入式系统网络通信协议(多选)A. TCP/IPB. UDPC. ICMPD. ARP9. 嵌入式系统应用案例分析(多选)A. 智能家居系统B. 智能穿戴设备C. 工业自动化控制D. 车载电子10. 嵌入式操作系统未来发展前景(单选)A. AI与IoT融合B. 5G技术C. 硬件性能提升D. 软件优化11. 嵌入式操作系统的基本特征是什么?A. 多任务处理B. 中断处理C. 实时响应D. 以上都是12. 嵌入式操作系统的主要应用领域有哪些?A. 消费电子产品B. 工业控制C. 汽车电子D. A和B13. 嵌入式系统硬件平台主要包括哪些?A. CPUB. 内存C. 存储器D. 输入输出设备14. 嵌入式操作系统中的任务调度算法有哪几种?A. 先来先服务B. 最短剩余时间优先C. 高优先级优先调度D. 时间片轮转15. 嵌入式系统中广泛使用的编程语言有哪些?A. CB. C++D. Python16. 嵌入式操作系统通常采用哪种文件系统?A. Windows文件系统B. Unix文件系统C. Linux文件系统D. Flash文件系统17. 嵌入式系统网络通信中常用的协议有哪些?A. TCP/IPB. UDPC. HTTPD. FTP18. 嵌入式系统在物联网中的作用是什么?A. 数据处理B. 设备控制C. 通信连接D. 以上都是19. 嵌入式操作系统开发环境通常包括哪些工具?A. 集成开发环境(IDE)B. 调试工具C. 文档工具D. 以上都是20. 嵌入式操作系统开发需要掌握哪些基本技能?A. 编程语言B. 系统架构C. 系统调试D. 以上都是21. 嵌入式操作系统的基本特征是什么?A. 多任务处理B. 中断处理C. 实时响应D. 以上都是22. 嵌入式系统中常用的编程语言有哪些?A. C语言B. C++C. JavaD. Python23. 嵌入式操作系统的内存管理方式主要有哪几种?A. 固定内存分配B. 动态内存分配C. 页式存储管理D. 段式存储管理24. 嵌入式系统通常用于哪些设备?A. 消费电子产品B. 工业控制系统C. 汽车电子D. 以上都是25. 嵌入式操作系统中的任务调度算法主要有哪几种?A. 先来先服务B. 最短剩余时间优先C. 高优先级优先调度D. 时间片轮转26. 嵌入式系统网络通信中,常用的协议有哪些?A. TCP/IPB. UDPC. ICMPD. HTTP27. 嵌入式系统中,进程与线程的区别是什么?A. 进程是操作系统分配资源和调度的基本单位B. 线程是操作系统分配资源和调度的基本单位C. 进程有独立的地址空间D. 线程有独立的地址空间28. 嵌入式系统中,硬件抽象层(HAL)的作用是什么?A. 提供统一的硬件接口B. 提供设备驱动程序C. 提供系统调用接口D. 提供用户应用程序接口29. 嵌入式系统中,文件系统的主要功能是什么?A. 存储和管理文件B. 运行应用程序C. 管理系统资源D. 提供用户界面30. 嵌入式操作系统开发中,常见的调试工具有哪些?A. GDBB. J-LinkC. IARD. Keil31. 嵌入式操作系统的基本特性不包括哪一项?A. 可执行性B. 多道程序设计C. 实时性D. 共享性32. 嵌入式系统中广泛使用的编程语言是:A. CB. C++D. Java33. 嵌入式系统通常用于哪种类型的设备?A. 消费电子产品B. 工业控制系统C. 汽车电子D. A和B34. 嵌入式操作系统的内核与普通操作系统的内核相比,特点是什么?A. 更加简化B. 功能强大C. 更加优化D. 更加封闭35. 在嵌入式操作系统开发中,通常会使用哪两种开发工具?A. 集成开发环境(IDE)B. 交叉平台开发工具C. 汇编语言D. C语言36. 嵌入式系统应用程序通常在哪种类型的存储器中运行?A. RAMB. ROMC. Flash MemoryD. Hard Disk37. 嵌入式操作系统通常提供以下哪种类型的设备驱动?A. 字符设备驱动B. 流设备驱动C. 图形用户界面(GUI)驱动D. 驱动程序38. 在嵌入式系统开发中,为什么需要交叉平台开发工具?A. 跨平台兼容性B. 硬件限制C. 成本效益D. 开发效率39. 嵌入式操作系统中的任务调度通常是基于优先级算法,这种算法考虑了任务的哪些因素?A. 优先级B. 执行时间C. 可抢占性D. 资源需求40. 嵌入式系统开发中,为什么需要对代码进行严格的重编译?A. 适应不同硬件平台B. 支持模块化设计C. 提高系统安全性D. 保证代码质量二、问答题1. 什么是嵌入式操作系统?请简要描述其特点。
Linux嵌入式开发工程师试题

Linux嵌入式开发工程师笔试样卷一、选择题:1.一个C语言程序是由()组成的。
A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是()。
A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b) printf(“------------“);的正确说法是()。
A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出-----------4.‘A’+3的结果是()。
A.’A’B.’D’的ASC 码C.65D.35.以下不正确的描述是()。
A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B.while循环是先判断表达式后执行循环体语句C.do-while和for循环均是先执行循环体语句,后判断表达式D.for、while、do-while循环中的循环体均可以由空语句构成6.下面是一个初始化指针的语句:int*px=&a;其中指针变量的名字应该是()。
A.*pz B.a C.px D.&a7.将含100个结点的完全二叉树从根这一层开始,每层从左至右依次对结点编号,根结点的编号为1。
编号为47的结点X的双亲的编号为()A.24B.25C.23D.2无法确定8.设有一个无向图G=(V,E)和G'=(V',E'),如果G'为G的生成树,则下面不正确的说法是()A.G'为G的子图B.G'为G的一个无环子图C.G'为G的极小连通子图且V'=VD.G'为G的连通分量9.用线性探测法查找闭散列上,可能要探测多个散列地址,这些位置上的键值()A.一定都是同义词B.一定都不是同义词C.都相同D.不一定都是同义词10.二分查找要求被查找的表是()A.键值有序的链接表B.链接表但键值不一定有序表C.键值有序的顺序表D.顺序表但键值不一定有序表二、填空题1.设r指向单链表最后一个结点,要在最后一个结点之后插入s所指的结点,需执行的三条语句是r->next=s;r=s;。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式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系列工具之中的一种。
CA、automakeB、autoconfC、autocleanD、autoscan19、下列关于网络编程的叙述中,错误的是 B 。
A.一个完整的网络程序应该包含两个独立的程序,它们分别运行在客户端和服务器端。
B.当使用UDP编程时,如果函数sendto( )函数成功返回,表示系统发出的数据被通讯的对方准确接收到了。
C.相同条件下UDP发送数据的速度要比TCP快。
D.端口号是16bit的地址码,端口号和IP地址构成一个插口(socket)。
20、下列makefile自动变量中,表示目标文件完整名称的是A、$@B、$<C、$^D、$%二、填空题1、Linux中最常用的编译器是____编译器。
答案:gcc2、gdb对____文件进行调试。
答案:可执行3、工程管理器make读入的配置文件为____。
答案:Makefile或makefile4、工程管理器make定义了____规则和模式规则。
答案:隐含5、嵌入式软件开发所采用的编译过程为____编译。
答案:交叉6、在嵌入式软件开发中,将程序实际的运行环境称为____机。
答案:目标7、一个进程启动时,通常都会打开____个文件。
答案:38、在Linux中,实现文件上锁的函数有lock和____。
答案:fcntl9、Daemon进程即通常所说的____进程,是Linux中的后台服务进程。
答案:守护10、在Linux中使用____函数创建一个新进程。
答案:fork11、fork函数调用后出现父进程与子进程,其中____的返回值为0。
答案:子进程12、____函数族就提供了一个在进程中启动另一个程序执行的方法。
答案:exec13、exit()函数与_exit()函数最大的区别就在于____函数在exit系统调用之前要检查文件的打开情况,并将文件缓冲区中的内容写回文件。
答案:exit14、____函数是用于使父进程阻塞,直到一个子进程结束或者该进程接到了一个指定的信号为止。
答案:wait15、在Linux中,所有的孤儿进程自动由____进程收养。
答案:init16、Linux中的网络编程通过____接口来进行。
答案:socket17、SOCK_DGRAM为____套接字。
答案:数据报三、程序填空和阅读分析题1、下列程序在父子进程之间创建了一个管道,,实现父进程向子进程写数据的功能。
阅读下列程序,并写出标号所示的功能。
#include <unistd.h>#include <sys/types.h>#include <errno.h>#include <stdio.h>#include <stdlib.h>int main(){int pipe_fd[2];pid_t pid;char buf_r[100];char* p_wbuf;int r_num;memset(buf_r,0,sizeof(buf_r)); (1) 将数据缓冲区清0if(pipe(pipe_fd)<0) (2) 创建管道{printf("pipe create error\n");return -1;}if((pid=fork())==0) (3)创建子进程{printf("\n");close(pipe_fd[1]); (4)关闭子进程写描述符sleep(2);if((r_num=read(pipe_fd[0],buf_r,100))>0) (5) 子进程读取管道内容{printf( "%d numbers read from the pipe is %s\n",r_num,buf_r);}close(pipe_fd[0]); (6)关闭子进程读描述符exit(0);}else if(pid>0) (7) 父进程运行控制语句{close(pipe_fd[0]); (8)关闭父进程的读描述符if(write(pipe_fd[1],"Hello",5)!=-1) (9)将数据写入缓冲区printf("parent write1 success!\n");if(write(pipe_fd[1]," Pipe",5)!=-1)printf("parent write2 success!\n");close(pipe_fd[1]); (10)关闭父进程写描述符sleep(3);waitpid(pid,NULL,0);阻塞方式等待子进程结束exit(0);}}2、阅读程序,写出程序的执行结果,并分析程序的执行过程。
(假设父子进程均可在一个时间片内执行完,且操作系统每次均先调度子进程。
)#include<sys/types.h>#include <unistd.h>int main() {pid_t result;int count=5;printf("before fork,count=%d\n",count);result=fork();if(result<0)printf("fork fail\n");else if(result>0) {count++;printf("This is parent!\n”);}else{count--;printf("This is child!\n");}printf("after fork count=%d\n",count);return 0;}before fork,count=5This is childafter fork count=4This is parent!after fork count=6程序的执行过程如下:程序先定义了两个变量result和count,然后输出变量count的值,得到"before fork count=5"这一行输出。
当执行到result=fork()时程序分叉,产生父子两个进程。
系统首先调度子进程执行,直至子进程结束。
而在子进程中result为0,故走的是条件分支的最后一个分支,输出:This is child.after fork count=4子进程执行完了之后调度父进程执行,直至父进程结束。
而在父进程中result 为子进程号,大于0,于是走条件分支的第二个个分支,输出:This is parentafter fork count=6四、编程题1、编写一个C语言源程序ex.c,(1)用以在打开当前目录下的文件“ex.txt”,如果没有则创建该文件,并使其具有读写属性,(2)编写一个makefile实现自动编译,生成可执行文件ex。
void main(void){int fid;fid = open(“./ex.txt”,O_RDWR|O_CREAT);if(fid==-1){printf(“open or create error \n”);exit(0);}close(fid);}objects = ex.oexec = exall:$(objects)gcc –o $(exec) $(objects)ex.o:ex.cgcc –c ex.cclean:rm –r $(exec) $(objects)2、假定你在目录/root/arm下有一个C程序,它由几个单独的文件组成,而这几个文件又分别包含了其他文件,如下图所示:CC=arm-linux-gccex1: main.o list.o symbol.o table.o$(CC) -o ex1 main.o list.o symbol.o table.omain.o: main.c table.h symbol.h list.h$(CC) -c -o main.o main.clist.o: list.c list.h$(CC) -c -o list.o list.csymbol.o: symbol.c symbol.h$(CC) -c -o symbol.o symbol.ctable.o: table.c table.h symbol.h list.h$(CC) -c -o table.o table.cclean:rm ex *.o五、简答题1、什么是交叉编译?嵌入式交叉编译怎么实现?2、Bootloader启动流程是怎么样的?3、比较全缓冲、行缓冲和不带缓冲,并说明标准输入输出、标准错误各使用哪种类型的缓冲?4、编写守护进程包括哪几个步骤,每个步骤分别怎么实现?5、进程的信号与信号量通信有什么区别?6、无名管道和有名管道在使用时有什么区别?分别使用什么函数创建无名管道和有名管道?。