练习题(一)_第1页
练习题(一)_第2页
练习题(一)_第3页
练习题(一)_第4页
练习题(一)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.练习题(一)一、填空题1嵌入式系统一般包括_、嵌入式操作系统和 。2Arm7内核采用的是 体系结构 。3S3C2410X芯片包含 通道PWM定时器和_通道内部计时器。4gcc的编译流程分为预处理、编译、 和_。5C语言中的预处理语句是以符号 开头的。6多任务系统中有3个功能单位:任务、 和_。二、选择题1下列操作系统中,具有Windows图形界面的是 ( )AVxWorks BQNX CWindows CE DLinux 2使vi编辑器处于可编辑状态的命令是 ( )Ar Bp Ci Db3下列选项中,能帮助用户生成makefile的工具是 ( )Agcc Bautotools Cgdb Dv

2、i4可以使用TFTP通过网络下载文件的命令是 ( )Arun Bt Csleep Dmv5下列不属于Linux系统中线程的是 ( )A用户级现程 B网络级线程 C轻量级线程 D内核级线程6下列选项中,常用于网络中不同机器之间的进程间通信的是 ( )A套接字 B管道 C信号 D信号量7使用有关线程操作的函数时必须包含的头文件是 ( )Apthread.h Bstdio.h Ctime.h Dstring.h8TCP/IP参考模型包含几层 ( )A4 B5 C6 D79在TCP中,用于发送数据的函数是 ( )Abind() Bsend() Caccept() Drecv() 10下列选项中,不属于

3、Linux系统的设备分类的是 ( )A字符设备 B数据设备 C块设备 D网络设备三、判断对错1Arm9采用的是5级指令流水线。 ( )2Vi编辑器有4种模式:标准模式、插入模式、命令行模式和可视模式。 ( )3NFS文件系统的目的是让不同的机器、不同的操作系统之间可以共享文件。 ( )4一个线程可以包含多个进程。 ( )5TCP和UDP都是面向可靠的传输服务。 ( )6设备驱动程序可以使用模块的方式动态加载到内核去。 ( )7标准I/O提供了3种类型的缓冲存储:全缓冲、行缓冲、不带缓冲。 ( )8交叉编译操作需要在安装交叉编译器后才能进行。 ( )9Linux环境下不能同时打开多个终端。 (

4、)10进程具有动态性、交互性和异步性,但不具有并发性。 ( )四、问答题1简述并行通信和串行通信的概念及各自的特点。 并行通信是指利用多条数据传输线将一个字数据的各比特位同时传送。它的特点是传输速度快,适用于传输距离短且传输速度较高的通信。 串行通信是指利用一个传输线将数据以比特位为单位顺序传送。特点是通信线路简单,利用简单的线缆就可以实现通信,成本低,适用于传输距离长且传输速度较慢的通信。2阐述什么是交叉编译,并解释为什么要进行交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。 由于一般通用计算机拥有非常丰富的系统资源、使用方便的集成开放环境和调试工具等,而嵌入式系统的

5、系统资源非常紧缺,无法在其上运行相关的编译工具,因此,嵌入式系统的开发需要借助宿主机(通用计算机)来编译出目标机的可执行代码。3画出OSI参考模型与TCP/IP参考模型的对应关系。 五、程序填空题1 在书写makefile时,适当使用变量替换会使其进一步得到简化。题中给出了一个makefile的原始写法,随后给出了经变量替换后的前三行语句,请在下划线上填写后续语句。 完整的makefile原始写法如下:david: kang.o yul.ogcc kang.o yul.o o davidkang.o: kang.c kang.h gcc Wall g c kang.c o kang.oyul.

6、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有如下二叉树,写出它的先序序列、中序

7、序列和后序序列。 3编程实现如下功能:使用fork()函数创建一个子进程,根据其返回值result判断函数fork()的返回情况,并进行错误处理。 练习题(二)一、填空题1嵌入式系统一般具备的三个基本要素是:“计算机系统”、_和 。2ARM(Advanced RISC Machines)有3种含义,它是一个_的名称,也是一类_的通称,还是一种技术的名称。3S3C2410X芯片提供 通道的DMA,并具有_请求引脚。4Vim有_种模式,在其他任何模式下按下_按键都可以回到命令模式。5一个makefile文件中通常包含三方面内容:_、dependency_。二、单项选择题1下列选项中,不属于嵌入式系

8、统特点的是 ( )A面向特定应用 B量体裁衣 C对代码要求低 D不具备二次开发功能 2使vi编辑器处于标准模式的命令是 ( )ACtrl Bp CEsc Db3嵌入式Linux开发中常用到的一种调试工具是 ( )Agcc Bgdb Carm-linux-gcc Dkernal4单向链表的最后一个节点的指针域为 ( )Anext BNULL CFirst Dprev5可以让不同的机器、不同的操作系统直接进行彼此共享文件的文件系统是 ( )ASMBA BNFS CTFTP D根文件系统6下列Linux内源码顶层目录的文件夹中,存放有关体系结构代码的是 ( )AArch Bdriver Cfs DN

9、et7在对文件的操作中,既可以对文件施加建议性锁,又可以施加强制锁的函数是 ( )Afcntl( ) Blockf( ) Clseek( ) Dselect( )8下列选项中,不属于Unix进程间通信的方式是 ( )A变量 B管道 CFIFO D信号9下列选项中,不属于设备驱动程序特点的是 ( )A可装载 B可移植 C可设置 D动态性 10下列选项中,用于在内核空间向控制台输出信息的函数是 ( )Aprintf() Bprintk() Cprint() Dputchar()三、判断对错1在S3C2410芯片中,对内核的供电电压和对存储器的供电电压可以不同。 ( )2gcc的编译流程可分为4个步

10、骤:预处理、编译、汇编、链接。 ( )3tftp服务中使用的tftp协议是基于UDP实现的。 ( )4BootLoader是不依赖硬件平台的,所以在新电路板上无需移植U-boot程序。 ( )5在Linux中,所有的设备文件一般都位于“/dev”下,其中串口一和串口对应的设备名是相同的,都是“/dev/ttyS”。 ( )6设备驱动程序既可以用静态方式编译在内核中,也可以动态加载到内核中。 ( )7TCP协议适于可靠传输,UDP协议适于不可靠传输。 ( )8嵌入式Linux驱动的设备号是一个数字,由主设备号和次设备号组成。 ( )9嵌入式Linux系统中控制一个LED小灯,直接对其操作即可,无

11、需编写驱动。 ( )10进程具有动态性、交互性和异步性,但不具有并发性。 ( )四、问答题1简述vim编辑器的几种工作模式。 Vim编辑器的使用按不同的使用方式可以分为4种模式:标准模式、插入模式、命令行模式和可视模式。标准模式:在此模式下任何键盘的输入都是作为命令来对待。命令的输入通常是不回显的,只显示执行的结果。在此模式下用户可以输入命令来控制屏幕光标的移动,字符、子或行的删除等操作,也可进入到其它3种模式下。在其它任何模式下按下“Esc”键都可以回到此模式。插入模式:用户只有在此模式下才可以进行文字输入和修改等编辑工作,因此也称此模式为编辑模式。在标准模式下输入“i”即可进入此模式。命令

12、行模式:在此模式下,用户可以将文件保存或退出vim,也可设置编辑环境,比如查找字符、列出行号等。在命令模式中输入“:”(一般命令)、“/”(正向搜索)或“?”(反向搜索)进入该模式,在此模式下输入的命令会在底行显示,这些命令输入后要按“Enter”键才执行。可视模式:在命令模式中输入“v”(按字符选择)、“V”(按行选择)、“ctrl”+“v”(按块选择)进入该模式。在此模式下,通过移动光标来选择文本,选择的文本将反白显示。 2简述嵌入式Linux中I/O处理的五种模型。I/O处理的模型有以下五种。(1)阻塞I/O模型:在此模型下,若调用的I/O函数没有完成相关的功能,则会使进程挂起,直到相关

13、数据到达才会返回。(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模型:此模型下,当一个描述符已准备好,可以启

14、动I/O时,进程会通知内核。3列举并简述嵌入式Linux中使用较多的进程间通信的几种工作方式。 现在在Linux中使用较多的进程间通信方式主要有以下几种。(1)管道及有名管道:管道可用于具有亲缘关系进程间的通信,有名管道除具有管道所有的功能外,还允许无亲缘关系进程间的通信。(2)信号:信号是在软件层次上对中断机制的一种模拟,它是比较复杂的通信方式,用于通知进程有某事件发生,一个进程收到一个信号与处理器收到一个中断请求效果上可以说是一样的。(3)消息队列:消息队列是消息的链接表,包括POSIX消息队列,System V消息队列。它克服了前两种通信方式中信息量有限的缺点,具有写权限的进程可以按照一

15、定的规则向消息队列中添加新消息;对消息队列有读权限的进程则可以从消息队列中读取消息。(4)共享内存:它使得多个进程可以访问同一块内存空间,不同进程可以及时看到对方进程中对共享内存中数据的更新,这种通信方式需要依靠某种同步机制,如互斥锁或信号量等。(5)信号量:主要作为进程之间以及同一进程的不同线程之间的同步或互斥手段。(6)套接字:用于网络中不同机器之间的进程通信。4画出设备驱动程序流程图。 五、程序填空题1 在嵌入式Linux开发过程中,为了驱动LED小灯,需要编写LED驱动,在驱动中实现对端口寄存器的配置,对端口数据寄存器的操作,以及设备的注册、打开、各种I/O操作和注销等。下面是一个LE

16、D驱动的框架,请在下划线上填写合适的语句。 #include .#define DEVICE_NAME “led”#define DEVICE_MAJOR 231static struct led_fops= (1) (2) (3) (4) ;static int led_init(void).; register_chrdev_region(.); .static int led_release(struct inode *node, struct file *file).static int led_ioctl(struct inode *inode, struct file *file,

17、 unsigned int cmd, unsigned long arg).static int led_open(struct inode * inode, struct file *file).static void led_cleanup(void )unregister_chrdev_region(.); (5) ; (6) (7) ; (8) 2假设由上述驱动程序得到的驱动模块为“led.ko”,那么请将该模块动态加载到内核中,并且生成相应的结点所需的命令写在下划线上。 动态加载命令是: (9) 生成结点命令是: (10) 六、综合题(共40分)1用QT编写一个如下图所示的窗口程序,当点击“quit”按钮时,程序退出。 2在ARM Linux中,二叉树是最为基本的数据结构,请分析二叉树的先序遍历、中序遍历和后序遍历的流程,并写出下列二叉树的先序序列、中序序列和后序序列。 3编程实现一个完整的守护进程:首先创建一个子进程1(守护进程),然后在该子进程中新建一个子进程2,该子进程2暂停10s,然后自动退出,并由子进程1收集子

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论