《 嵌入式Linux系统原理与应用》 试卷及答案 C卷_第1页
《 嵌入式Linux系统原理与应用》 试卷及答案 C卷_第2页
《 嵌入式Linux系统原理与应用》 试卷及答案 C卷_第3页
《 嵌入式Linux系统原理与应用》 试卷及答案 C卷_第4页
《 嵌入式Linux系统原理与应用》 试卷及答案 C卷_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

试卷C卷本卷共4页第-4-页《嵌入式Linux系统原理与应用》课程考试试卷(C卷)一、单项选择题(每小题2分,共20分)1、下列情况下,会产生看门狗中断的是。A.软件喂狗 B.处理器温度过高C.程序错误D.看门狗定时超时2、以下哪种方式不属于文件系统的格式 A.FAT32 B.JFFSC.autoexec D.Ext53、嵌入式系统由硬件部分和软件部分构成,以下不属于嵌入式系统软件。A.驱动程序 B.BSP C.c# D.内核4、下列工具中能够实现自动编译的是。

A.arm-linux-gcc

B.glibc

C. ocr

D.make5、在C语言中,将变量声明为volatile类型,其作用为。A.设为静态变量 B.让编译器不再对该变量进行优化 C.设为全局变量 D.程序调试6、实时操作系统必须在处理来自外部的事件。A、一个机器周期

B、被控制对象规定的时间

C、工作时间

D、时间片

7、临界区是。A.一个缓冲区 B.一段代码C.一段共享数据区D.一个互斥资源区域8、下列设备中设备是块设备。

A、控制台

B、机械硬盘

C、DM9000网卡

D、微控制器9、下面哪一种工作模式ARM9不具备,而属于ARMCortexA8的特有模式是。中断模式 B、 安全监控模式 C、快中断模式 D、FIQ模式10、关于RISC指令系统描述不正确的是。A、指令条数多

B、指令长度固定C、指令格式种类少

D、寻址方式种类少

二.填空题(每空1分,共10分)1.虚拟文件系统具有两个针对文件系统对象的缓存inode索引节点对象和,它们缓存最近使用过的文件系统对象。2.根据开发目标平台的不同,ARM提供不同的工具解决方案。最常见的是和RVDS。3.Linux内核中解决并发控制最常用的方法是信号量和。4.字符设备是以为单位传输数据的设备。5.ARM体系结构中存储体系以字为单位,按字节对齐。6.文件系统中每个块组依次包括超级块、、块位图和inode表。7.在嵌入式linux2.6内核中,主从设备被定义为一个类型的32位数。8.ARM7处理器架构是系统架构。9.嵌入式linux的存储空间可以分为和。三.问答题(每小题5分,共40分)1.字符设备驱动程序需要file结构体、fileoperations结构体和inode结构体,请描述这三者之间的联系和差别。2.说明const在下列定义中的具体含义。constintpnaa;intconstpnaa;constint*pnaa;int*constpnaa;intconst*pnaaconst;3.可靠性是计算机系统的重要性能之一。某计算机系统由下图所示的部件“混连”构成,假定每个部件的可靠度R均为0.85,请计算该系统的总体可靠度(万分位之前的数据)4.设备号是设备的唯一标识,驱动程序需要分配设备号然后注册该设备,请写出代码实现。5.Qt中的a,b是如下counter类的两个实例。#include<QObject>classCounter:publicQObject{ Q_OBJECTpublic:Counter(){m_value=0;}intvalue()const{returnm_value;}publicslots:voidsetValue(intvalue);signals:voidvalueChanged(intnewValue);private:intm_value;};当实现如下操作后,Countera,b;QObject::connect(&a,&Counter::valueChanged,&b,&Counter::setValue);a.setValue(191);b.setValue(408);请分别写出a.value(),b.value()的值6.某嵌入式系统的一个绝对地址为0x3537的无符号整型变量的值为0x2648。请编写代码实现这一操作。7.假设某处理机的流水线指令由3个子部件完成,每个子部件的工作周期均为t,采用常规标量单流水线处理机。若连续执行300条指令,则共需时间多少t?8.简述gcc与arm-linux-gcc编译器的区别。四.应用题(每小题6分,共30分)抢占式优先级是实现实时性的重要手段。在一个单处理器的计算机系统中,采用抢占式优先级的进程调度方案,且所有任务可以并行使用I/O设备。下表列出了3个任务T1、T2、T3及优先级(1最高,3低)和独立运行时占用CPU与I/O设备的时间。如果操作系统的开销忽略不计,这3个任务从同时启动到全部结束的总时间为多少ms,CPU的空闲时间共有多少ms?请写出分析过程。任务优先级每个任务独立运行时所需的时间T11对每个任务:占用CPU10ms,I/O12ms,再占用CPU5msT22T332.请按要求写出一个led灯的makefile文件,要求包括:安装目录为install,采用arm-linux-gcc交叉编译器,源文件为led4.c,目标文件为led4,使用led4.h头文件,使用相应宏变量。3.保持主机IP地址和目标机在同一网段,假设目标机ARM开发板的IP地址为9,请首先在主机上编写程序实现对100个整数由大到小进行排序(请写出完整源码),然后简述将该程序编译、下载至目标机、修改文件权限以及执行该程序的过程。4.CPSR是ARM的重要寄存器,它可以有效减少程序循环次数。请编写一个函数,实现对含有500个整型元素的数组testa进行每个元素加1然后赋值给新数组testb的操作。并且该代码段有如下要求:循环次数为250次;每次循环减少一条判断指令;流水线阻塞减少。5.某计算机中断系统有4级中断I1、I2、I3、I4,中断响应的优先次序为I1>I2>I3>I4。每一级中断对应一个屏蔽码,屏蔽码中某位是“1”表示禁止中断(关中断),若为“0”则表示允许中断(开中断)。各级中断处理程序与屏蔽码的关系如下表所示。中断处理程序屏蔽码I4级I3级I2级I1级I1级1111I2级1110I3级1100I4级1000若将中断优先次序设置为I1>I4>I3>I2,即响应I1,再响应I4,然后是I3,最后是I2。请重新设置各级的屏蔽码。《嵌入式Linux系统原理与应用》试卷参考答案及评分标准(C卷)一、选择题(每小题2分,共20分)题号12345678910答案DCCDBBBBBD二、填空题(每空1分,共10分)1.dentry目录项对象。2.ARMDS5。3.自旋锁。4.字符。5.4。6.块组描述符7.dev-t8.冯诺依曼9.系统空间用户空间四.问答题(每小题5分,共40分)1.File_operations为用户态应用程序提供接口,是系统调用和驱动程序关联的重要数据结构。1分File结构体在内核代码include/linux/fs.h中定义,表示一个抽象的打开的文件,1分file_operations结构体就是file结构的一个成员。1分Inode结构表示一个文件,而file结构表示一个打开的文件。这正是二者间最重要的关系。2分2.constintpnaa;pnaa是一个常整型数intconstpnaa;pnaa是一个常整型数constint*pnaa;pnaa是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。int*constpnaa;pnaa是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)intconst*pnaaconst;pnaa是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可修改的)每个各1分3.本题考查系统可靠度的概念。串联部件的可靠度=各部件的可靠度的乘积。并联部件的可靠度=1 – 各部件失效率的乘积。题目中给出的系统由三个部件串联组成,其中第二、第三部件又分别由两个部件并联构成,因此整个系统的可靠度为0.85 *(1 – (1 – 0.85)* (1 – 0.85)) * (1 – (1 – 0.85) * (1 – 0.85)) ≈ 0.81225分(能够写出公式的给2分,正确计算结果给5分)4.structcdev*my_cdev=cdev_alloc();my_cdev->owner=THIS_MODULE;my_cdev->ops=&fops;应用cdev_alloc()正确可得2分,程序完全正确得5分5.a.setValue(19);a.value()=191,b.value()=191各1分b.setValue(40);a.value()=191,2分b.value()=4081分6.int*ptr;ptr=(int*)0x3537;*ptr=0x2648;地址转换正确可得2分,程序功能完成即可得5分7.本题考查指令流水的概念。顺序执行时,每条指令都需3步才能执行完,没有重叠。N级流水线执行,在单标量情况下,执行时间=(N-1)+指令数量所以连续执行20条指令后,共需时间为(3-1) + 300=302t。5分或者如做出图形分析,通过画图获得最终结果给5分8.gcc的编译在linux环境下针对x86架构展开工作,2分,而arm-linux-gcc则是针对ARM平台结合Linux进行编译工作。3分四.应用题(每小题6分,共30分)1.本题考查的是操作系统进程调度方面的知识。可以按照如下的推理步骤进行分析,如:根据题意可知,3个任务的优先级T1>T2>T3,进程调度过程如下所示,t0时刻:进程调度程序选任务T1投入运行,运行10ms,任务T1占用I/O。t1时刻:此时由于CPU空闲,进程调度程序选任务T2投入运行,运行10ms后任务T2占用I/O。此时,t1与t2时刻任务T1占用I/O,任务T2在运行。t2时刻:此时由于CPU空闲,进程调度程序选任务T3投入运行,运行4ms后任务T1结束占用I/O。此时,t2与t3时刻任务T1、任务T2占用I/O,任务T3在运行。……按照如此规律分析,这3个任务从同时启动到全部结束的总时间为57ms,CPU的空闲时间共有12ms。按照此步骤得出总时间给3分,空闲时间给3分。2.CC =arm-linux-gcc2分INSTALL =installTARGET =led42分all:$(TARGET)$(TARGET):led4.cled4.h1分 $(CC)-static$<-o$@clean: rm-rf*.o$(TARGET)*~1分3.#include<stdio.h>voidmain(){voidsort(intx[],intn);int*p,i,a[10];p=a;for(i=0;i<100;i++)scanf(“%d”,p++);p=a;sort(p,10);for(p=a,i=0;i<10;i++){printf(“%d”,*p);p++;}printf("\n");}voidsort(intx[],intn){inti,j,k,t;for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++)if(x[j]>x[k])k=j;if(k!=i) {t=x[i];x[i]=x[k];x[k]=t;}}}2分然后在linux环境下当前路径使用命令arm-linux-gcc–ohellohello.c生成hello文件(1分)然后采用TFTP服务器实现程序下载TFTP–rhello–g9(1分)通过超级终端登录到目标机,使用命令Chmod777hello修改属性(1分)最后通过命令./hello执行该程序(1分)4.voidincremen

温馨提示

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

评论

0/150

提交评论