资源描述
《嵌入式LInux设计与开发》练习题
练习题(一)
一、填空题
1.嵌入式系统一般包括_____________、嵌入式操作系统和 。 2.Arm7内核采用的是 体系结构 。
3.S3C2410X芯片包含 通道PWM定时器和____________通道内部计时器。 4.gcc的编译流程分为预处理、编译、 和______________。 5.C语言中的预处理语句是以符号 开头的。
6.多任务系统中有3个功能单位:任务、 和____________。
二、选择题
1.下列操作系统中,具有Windows图形界面的是 ( )
A.VxWorks B.QNX C.Windows CE D.Linux 2.使vi编辑器处于可编辑状态的命令是 ( )
A.r B.p C.i D.b
3.下列选项中,能帮助用户生成makefile的工具是 ( )
A.gcc B.autotools C.gdb D.vi
4.可以使用TFTP通过网络下载文件的命令是 ( )
A.run B.tftpboot C.sleep D.mv
5.下列不属于Linux系统中线程的是 ( )
A.用户级现程 B.网络级线程 C.轻量级线程 D.内核级线程
6.下列选项中,常用于网络中不同机器之间的进程间通信的是 ( )
A.套接字 B.管道 C.信号 D.信号量
7.使用有关线程操作的函数时必须包含的头文件是 ( )
A.pthread.h B.stdio.h C.time.h D.string.h
8.TCP/IP参考模型包含几层 ( )
A.4 B.5 C.6 D.7
9.在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.o
gcc kang.o yul.o –o david
kang.o: kang.c kang.h
gcc –Wall –g –c kang.c –o kang.o
yul.o: yul.c yul.h
gcc –Wal l –g –c yul.c –o yul.o
经过变量替换后的makefile如下: OBJS=kang.o yul.o CC=gcc
CFLAGS=-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.b
3.嵌入式Linux开发中常用到的一种调试工具是 ( )
A.gcc B.gdb C.arm-linux-gcc D.kernal
4.单向链表的最后一个节点的指针域为 ( )
A.next B.NULL C.First D.prev
5.可以让不同的机器、不同的操作系统直接进行彼此共享文件的文件系统是 ( )
A.SMBA B.NFS C.TFTP D.根文件系统
6.下列Linux内源码顶层目录的文件夹中,存放有关体系结构代码的是 ( )
A.Arch B.driver C.fs D.Net
7.在对文件的操作中,既可以对文件施加建议性锁,又可以施加强制锁的函数是 ( )
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.进程具有动态性、交互性和异步性,但不具有并发性。 ( )
6 / 6
展开阅读全文