上海交大嵌入式系统及应用所有章节单元自测1.docx
《上海交大嵌入式系统及应用所有章节单元自测1.docx》由会员分享,可在线阅读,更多相关《上海交大嵌入式系统及应用所有章节单元自测1.docx(10页珍藏版)》请在冰豆网上搜索。
上海交大嵌入式系统及应用所有章节单元自测1
第一章之宇文皓月创作
1. 下列哪个不是嵌入式系统的特点:
( D )。
A. 专用性B. 资源受限C. 功耗约束D. 常由外接交流电电源供电
2. 下列哪些不是嵌入式系统:
( D )。
A. 移动电话、手机B. MP3C. MIDD. 深蓝超等计算机
3. 关于嵌入式组成,下面说法错误的是:
( A )。
A. 嵌入式系统的中间层是位于操纵系统与应用程序之间。
B. 嵌入式系统包含硬件和软件
C. 嵌入式系统包含了一个计算机系统基本部件D. 其实不是每个嵌入式系统都拥有独立的操纵系统
第二章
1. 指令和数据共享同一总线的体系结构是( A )。
A. 冯•诺依曼结构B. 哈佛结构C. RISCD. CISC
2. 下面不属于嵌入式处理器的是:
( A)。
A. IntelCore(酷睿)处理器B. IntelAtom处理器C. MCS-51单片机D. ARM处理器
3. 在嵌入式处理器与外部设备接口中,使用2根线实现多对多双向收发的是:
( B )。
A. UARTB. I2CC. SPID. USB
4. 假设使用奇偶校验位,UART发送一个字节的数据,从idle状态开始(及数据线为高),到允许进行下一次发送动作态为止,至少需要( D )个时钟节拍。
A. 8B. 9C. 10D. 11
第三章
1. 关于嵌入式处理器内核性能,下面说法正确的是:
( C )
A. DMIPS反映处理器内核的功耗性能。
B. DMIPS越高反映处理器内核架构的越先进。
C. “DMIPS/主频”越高反映处理器内核架构的越先进。
D. 内核的动态功耗性能一般用mW来衡量。
2. 关于体系结构与实现结构,下面说法正确的是:
( C )
A. x86是一种实现结构。
B. x86架构处理器的实现结构都是一样的。
C. 体系结构相同的处理器器其指令集是相同或兼容的。
D. 分歧处理器要想拥有相同或兼容的指令集,其实现结构也必须一样。
3. 关于SIMD说法错误的是:
( B )。
A. SIMD通过复制ALU和寄存器组,共享取值、译码单元来获得计算并行。
B. SIMD是通过增加寄存器个数来提高数据处理的宽度。
C. SIMD中多个运算单元运行的是相同的指令。
D. IntelAtom的SSE指令属于SIMD指令
4. 关于跳转代码问题,下面说法正确的是:
( D )
A. 任何处理器都会有跳转代码问题。
B. 处理器流水线深度越浅,跳转指令的影响越大。
C. 跳转代码问题就是处理器执行跳转指令时跳转目标地址错误导致运行错误问题。
D. 跳转代码问题就是跳转指令导致处理器处理速度下降的问题。
5. ARM7中如果需要实现形如R0=R1+(R2<<3)的操纵,最少可以用( A )条指令。
A. 1B. 2C. 3D. 4
第四章
1. 交叉开发形成的可执行文件( B )。
A. 直接在宿主机上运行B. 下载到目标机上运行C. 上载到宿主机上运行D. 在宿主机和目标机任选一处运行
2. ____需要操纵系统或加载程序将其加载到内存中才干执行,____加载器只能把它加载到固定的地址运行。
( B )
A. 可重定位执行文件,可重定位执行文件B. 可重定位执行文件,不成重定位执行文件
C. 不成重定位执行文件,可重定位执行文件D. 不成重定位执行文件,不成重定位执行文件
3. 使用GCC将test.c源代码文件编译、链接成名为test可供gdb调试使用的可执行文件的命令为( B )。
A. gcctest.c–c–otestB. gcctest.c–g–otest
C. gcctest.c–pg–otestD. gcctest.c–otest-static
4. ELF文件的.bsssection一般是用来存储:
( C )。
A. 堆栈B. 寄存器C. 未初始化的全局变量D. 局部变量
5.假设一个软件工程包含一个如下的Makefile,且已经用make命令进行了一次成功的编译。
myprog:
data.omain.oio.o
ccdata.omain.oio.o-omyprog
data.o:
data.cdata.h
cc-cdata.c
main.o:
data.hio.hmain.c
cc-cmain.c
io.o:
io.hio.c
cc-cio.c
clean:
rm*.omyprog
假设我们又修改了main.c文件,当执行make命令时会( C )。
A.无动作B.删除所有.o目标文件和myprog可执行文件
C.只编译main.o,然后链接myprog可执行文件D.编译所有的.o文件,然后链接myprog可执行文件
6.上题中(同样假设我们修改了main.c文件),当执行makeclean命令时会( B )。
A.无动作B.删除所有.o目标文件和myprog可执行文件
C.只编译main.o,然后链接myprog可执行文件D.编译所有的.o文件,然后链接myprog可执行文件
第五章
1. 关于嵌入式系统组成,下面说法正确的是( B )
A. 操纵系统是嵌入式系统必不成少的部分。
B. 硬件抽象层包含设备驱动、Bootloader与BSP。
C. BSP(板级支持包)位于操纵系统与应用程序之间。
D. 操纵系统一般直接访问全部的硬件。
2. 关于嵌入式操纵系统结构,下面说法正确的是( A )
A. 应用软件可以直接调用操纵系统的系统服务。
B. 设备驱动程序工作在用户态(usermode)。
C. 操纵系统内核包含系统库。
D. 系统库和应用库属于统一条理的两种分歧功能的模块。
3. 关于Bootloader,下面说法正确的是( C )
A. Bootloader是操纵系统的一部分。
B. 操纵系统运行期间,Bootloader一直被使用。
C. Bootloader的主要任务包含初始化系统硬件,引导和启动操纵系统内核。
D. Bootloader向操纵系统提供访问硬件的接口,操纵系统需要通过Bootloader来访问硬件。
4. 关于BSP,下面说法正确的是( D )
A. BSP是操纵系统的一部分。
B. 从功能上说,BSP不包含设备驱动的功能。
C. BSP(板级支持包)就是向应用提供访问硬件的接口。
D. BSP位于硬件抽象层。
5. 下列哪个关于实时系统的说法是不正确的:
( A )。
A. 高性能系统一定是实时系统。
B. 实时操纵系统需包管最坏情况下系统响应时间的可预测性。
C. 实时操纵系统不以提高系统(特别是CPU)的总体利用率为目标。
D. 硬实时系统中,系统的响应时间如果超出允许上限,可能会造成致命影响。
6. 关于实时操纵系统的任务调度战略,下面说法正确的是( A )
A. RMS实现上比EDF简单。
B. RMS属于动态优先级战略。
C. EDF属于静态优先级战略。
D. EDF方法可调度的任务集,RMS一定能实现可调度。
7. 关于优先级颠倒问题,下面说法正确的是( B )
A. 优先级顶置和优先级继承都可防止有边沿的颠倒。
B. 无边沿的颠倒对实时性造成妨害比有边沿的颠倒要大
C. 优先级颠倒造成的问题是使操纵系统任务调度的效率急速下降。
D. 高优先级任务H和低优先级任务L需要互斥访问一个共享资源R,如果L持有R的过程中,恰好又被一个中间优先级的任务M所抢占,此时称为有边沿的优先级颠倒。
8. 关于操纵系统的定制与裁剪,下面说法正确的是( A )
A. 操纵系统定制与裁剪是一个概念。
B. 操纵系统定制在操纵系统启动时完成。
C. 操纵系统裁剪就要把操纵系统从嵌入式系统删除掉。
D. 操纵系统裁剪不吝以增加操纵系统的存储空间为代价来加快操纵系统运行速度。
9. 关于操纵系统的合作式多任务和抢占式多任务,下列哪种说法是对的:
( B )。
A. Linux不是基于抢占式多任务的。
B. 抢占式多任务很少出现合作式多任务那种被恶意或者出错进程阻塞的情况。
C. 合作式多任务中一个任务执行的最小时间是一个时间片。
D. 合作式还是抢占式的区别在于是不是支持多进程。
10. 关于嵌入式操纵系统,下面说法正确的是( B )
A. μClinux是一种实时操纵系统。
B. VxWorks是一种实时操纵系统。
C. 嵌入式Linux采取了微内核的结构。
D. 在嵌入式Linux、VxWorks、WindowsCE、μC/OS-II中所占空间最小的是VxWorks。
第六章
1.下面说法正确的是( A )。
A.WIMP是由Windows、Icons、Menus以及Pointers为代表的元素组成的图形用户界面。
B.WIMP是起源于嵌入式设备图形用户界面设计形成的模式。
C.WIMP依赖于触摸屏、指示笔、屏幕键盘来完成交互。
D.GUI是一种命令行操纵界面
2.下面说法正确的是( D )。
A.嵌入式系统一般拥有全键盘之类的输入设备。
B.屏幕键盘是覆盖在屏幕上的半透明的物理键盘。
C.嵌入式系统和桌面计算机一样常使用4:
3屏幕纵横比的屏幕。
D.嵌入式系统常采取触摸屏(Touch-screen)和指示笔(Stylus)代替鼠标完成指向输入。
3.当一个应用从桌面计算机移植到同纵横比的小尺寸触摸屏的嵌入式系统时,引起的问题包含( C )。
①需正确地解释鼠标移动输入的问题。
②需正确地设置屏幕映射。
③需处理悬停(Hover-Over)问题。
④需提供右击的代替功能。
A.①~③B.③④C.①③④D.①~④
4.下面说法正确的是( B )。
A.在GUI库中,消息/事件模型属于设备模型条理的抽象。
B.在GUI库中,应用模型的抽象是最高级此外抽象。
C.在GUI库中,将输入设备被封装成键盘扫描码属于交互(单元)模型条理的抽象。
D.如果使用第三方的图形界面开发库,开发者也不克不及不直接访问硬件或者访问Linux下的Framebuffer设备。
5.罕见的嵌入式系统的图形用户界面库包含( B )
①MicroWindows
②MiniGUI
③Qt/Embedded
④WindowsMFC
⑤JavaAWT/Swing
A.①~②B.①~③C.①②③④D.①~⑤
第七章
1.嵌入式系统的优化包含:
( C)。
①运行速度优化
②代码尺寸优化
③低功耗优化
④体积和重量的优化
A.①B.①②。
C.①~③。
D.①~④。
2.关于性能优化的方法论,下面说法正确的是( B)。
A.内存访问方式从SDR换到QDR,体现了优化中并行化的思路。
B.双缓存(Doublebuffer)机制体现了优化中流水线化的思路。
C.并行PCI的速度肯定比串行PCI高,前者替换后者是当今PCI发展的一个趋势。
D.Flash存储Linux内核不该该压缩,因为将其装入RAM运行时需要额外的解压缩时间,与性能优化的方法各走各路。
3.性能优化一般都有代价,也就说性能优化带来的副作用,这些副作用包含:
( B )。
①增加了存储空间需求
②使得相关设计复杂化了
③带来功耗的增加
④削弱了系统的鲁棒性
A.①B.①②C.①~③D.①~④
4.关于性能优化的条理,下面说法正确的是( D )。
A.降低算法的计算复杂度属于与平台相关的优化。
B.向量运算选用SIMD指令完成属于与平台无关的优化。
C.减少实际的运算次数和数据搬移次数属于系统条理的性能优化。
D.用户界面条理的优化并没有加快应用的实际运行速度,对应用的实际运行性能没有改善。
5.关于软件性能优化,下面说法正确的是( A )。
A.高速缓存优化的原则是尽量减少命中失败(cachemiss)率。
B.向量运算选用SIMD指令完成是遵循提高并行度的优化原则。
C.在C/C++中,函数的内联(inline)化是遵循选用速度更快的指令的优化原则。
D.整数乘以4的运算可以变成左移2位来完成是遵循减少指令或执行次数的优化原则。
6.对于如下C代码片段:
for(i=0;i<30;i++) a[i]=get_data(i)*33;
假设:
1)get_data函数是他人实现的,它返回一个根据i而定的整数值;2)编译器不会帮你进行任何优化;3)目标CPU上乘法需要较多周期。
则以上代码( D )。
A.不需要进行优化
B.需要优化,代码为:
for(i=0;i<30;i++) a[i]=get_data(i)<<5+get_data(i);
C.需要优化,代码为:
for(i=0;i<30;i++) a[i]=(get_data(i)<<5)+get_data(i);
D.需要优化,代码为:
intj;
for(i=0;i<30;i++) {j=get_data(i); a[i]=(j<<5)+j;}
7.对于如下C代码片段:
for(i=0;i<30;i++)
a[i]=get_data(i);
for(j=0;j<30;j++)
b[j]=a[j]–78+100;
假设:
1)get_data函数是他人实现的,它返回一个根据i而定的整数值;2)编译器不会帮你进行任何优化;
则以上代码( B )。
A.不需要进行优化
B.需要优化,代码为:
for(i=0;i<30;i++){a[i]=get_data(i); b[i]=a[i]+22;}
C.需要优化,代码为:
for(i=0;i<30;i++){a[i]=get_data(i); b[i]=a[i]–78+100;}
D.需要优化,代码为:
for(i=0;i<30;i++)a[i]=get_data(i);
for(j=0;j<30;j++)b[j]=a[j]+22;
8.对于如下C代码片段:
for(i=0;i a[i]=get_data(i);
假设:
1)get_data和loop_count函数是他人实现的,它返回一个整数值;2)编译器不会帮你进行任何优化;
则以上代码( C )。
A.不需要进行优化
B.需要优化,代码为:
intj=get_data(i);
for(i=0;iC.需要优化,代码为:
intj=loop_count();
for(i=0;iD.需要优化,代码为:
intj=get_data(i);
intk=loop_count();
for(i=0;i9.关于软件优化的工具,下面说法正确的是( C )。
A.简档(Profiling)工具可以自己实现对用户程序的修改、优化。
B.将归并排序改为快速排序是编译器能自动完成的优化。
C.当gcc编译、链接程序时,使用-O3参数得到可执行文件的长度可能比-O2要大。
D.在ARM架构机器上使用IPP库完成计算可以收到缩短运行时间的效果。
第八章
1. 下面说法正确的是:
( B )。
A. 基于CMOS工艺的处理器内核的动态功耗与供电电压成正比
B. 基于CMOS工艺的处理器内核可支持的工作频率一定范围内随着供电电压升高而升高
C. 目前的笔记本中,CPU功耗在整体系统功耗中占了绝对的大头
D. 基于CMOS工艺的处理器内核的动态功耗与工作频率的平方成正比
2. CPU节流(CPUthrottling)采取的是( B )功耗控制技术。
A. APM、ACPI尺度B. 动态电压/频率放缩技术C. 节能的电路设计和制造工艺D. 时钟门控(ClockGating)技术
3. IntelEIST采取的是( B )功耗控制技术。
A. APM、ACPI尺度B. 动态电压/频率放缩技术C. 节能的电路设计和制造工艺D. 时钟门控(ClockGating)技术
4. 操纵系统的各种睡眠状态中,必须坚持对内存供电的是( A)。
A. 待机(Standby)B. 休眠(Hibernate)C. 睡眠(Sleep)D. 关机
5. 下面不符合低功耗设计原则的行为是( B)。
A. 在循环控制变量前加register关键词。
B. 一个要求持续一段时间的Windows程序的实现思路是,不断地将系统时间比对截止时间,大于等于时结束程序。
C. 一个要求持续一段时间的Windows程序的实现思路是,用开始程序开始启动一个系统定时器,将时间到消息(Message)的响应动作设置为结束应用。
D. 一个要求持续一段时间的Windows程序的实现思路是,调用操纵系统Sleep函数睡眠指定时间后结束应用。
6. 关于Linux的功耗控制技术,下面说法正确的是( C )。
A. PowerTop可以降低Linux内核运行的功率消耗。
B. PowerTop可以自动修改程序代码,将其改为符合低功耗原则的代码。
C. TicklessIdle降低了Linux内核运行的功率消耗,特别是系统轻负载时的功率消耗。
D. TicklessIdle通过将Linux内核定时循环的周期延长的方式来降低内核的功率消耗。
试验基础:
嵌入式Linux和Linux
1. 关于嵌入式Linux,下面说法正确的是( D )
A. 嵌入式Linux通用采取了桌面Linux的图形用户界面(GUI)。
B. 分歧Linux发行版本(Linuxdistribution)的Linux内核分歧。
C. 嵌入式Linux的内核与通用Linux的内核完全属于两个分歧的体系。
D. 嵌入式Linux在通用Linux上经过裁剪、定制和修改后得到的,它拥有更小的ROM空间要求、更快的启动速度。
2. 关于Linux内核,下面说法错误的是( A )
A. Linux采取了微内核结构。
B. Linux支持虚拟地址模式。
C. Linux是一种抢占式多任务操纵系统。
D. Linux的驱动程序可以动态加载和卸载。
3. 关于Linux设备驱动,下面说法正确的是( D )
A. 硬盘属于字符设备。
B. Linux设备驱动工作在用户态。
C. Linux设备文件对应着磁盘中占一定容量空间的数据,自然可以用cp命令来拷贝。
D. 用户可以选择将Linux设备驱动直接编译到kernel中,或者编译成独立的可动态加载的模块(loadablemodule)。
4. 关于Linux文件的链接,下面说法正确的是( A )
A. 无法创建到一个目录的硬链接。
B. 当移动了原路径后,硬链接就失效(orphaned)了。
C. 无法创建到一个目录的软链接。
D. 软链接就是多个分歧的文件路径名指向同一个inode。
5. 关于嵌入式Linux文件系统,下面说法正确的是( D )
A. JFFS2中每次修改都是修改原来的数据节点。
B. ext2、ext3是适用于Flash存储介质的文件系统。
C. CRAMFS是可读和写的,并对文件内容进行了压缩的文件系统。
D. Tmpfs、Ramdisk、Initrd都是以内存为存储介质的文件系统,如果系统掉电就会丢失全部的数据。
6. 关于嵌入式Linux移植,下面说法正确的是( B )
A. 嵌入式Linux移植仅仅包含内核的编译与移植。
B. 嵌入式Linux移植包含驱动的开发、移植工作。
C. Linux移植最后得到的FLASH中不包含Bootloader。
D. Linux移植最后得到的FLASH中仅仅包含Linux内核和根文件系统。
7. 显示当前目录的路径的命令是( D )
A. cdB. cd/C. cd$HOMED. pwd
8. 在整个文件系统搜索hello.c文件所在的位置,可以使用( D )命令。
A. ls-lhello.cB. cat"hello.c"C. grep-ihello.cD. find/-namehello.