版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
试卷A卷本卷共5页第-5-页《嵌入式Linux系统原理与应用》课程考试试卷( A卷)一、单项选择题(每小题2分,共20分)1、Linux分区类型默认的是:()
A.vfat
B.ext2/ext3
C.swap
D.dos
2、在大多数Linux发行版本中,以下哪个属于块设备()
A.网卡
B.硬盘
C.虚拟终端
D.打印机
3、字符设备文件类型的标志是()
A.p
B.c
C.s
D.l
4、删除文件命令为()
A.mkdir
B.rmdir
C.mv
D.rm
5、()命令可更改一个文件的权限设置?
A.attrib
B.chmod
C.change
D.file
6、在CPU和物理内存之间进行地址转换时,()将地址从虚拟(逻辑)地址空间映射到物理地址空间。
A.TCB
B.MMU
C.CACHE
D.DMA
7、Linux将存储设备和输入/输出设备均看做文件来操作,()不是以文件的形式出现。
A.目录
B.软链接C.i节点表
D.网络适配器
8、下列()设备是字符设备。
A.hdc
B.fd0
C.hda1
D.tty1
9、下列提法中,属于ifconfig命令作用范围的是(
)。
A.编译源程序
B.配置网卡的IP地址
C.配置系统内核
D.加载网卡到内核中
10、假设当前目录下有文件Makefile,下面是其内容:
pr1:prog.osubr.o
gcc–opr1prog.osubr.o
prog.o:prog.cprog.h
gcc–c–lprog.oprog.c
subr.o:subr.c
gcc–c–osubr.osubr.c
clear:
rm–fpr1*.o
现在执行命令makeclear,实际执行的命令是():
A.rm–fpr1*.o
B.gcc–c–lprog.oprog.c
C.gcc–c–osubr.osubr.c
D.都执行二.填空题(每空1分,共10分)1、文件系统的主要功能是(
)。
2、在ARMLinux体系中,用来处理外设中断的异常模式是()。
3、在Linux系统中,驱动程序注册中断处理程序的函数是()。4、在ARM系统中,中断处理程序进入C代码以后,ARM的处于()工作模式。
5、嵌入式系统应用软件一般在宿主机上开发,在目标机上运行,因此需要一个()环境。
6、已知有变量data1定义如下:
uniondata
{
inti;
charch;
floatf;
}data1;
则变量data1所占的内存存储空间可表示为()。
7.ARM嵌入式系统中,PC(程序计数器)指向的是正在()的指令地址。8.ARM系统中16位数据对应的数据类型是()。
9.Qt的核心特征是()和()机制。
三.问答题(每小题5分,共40分)1.评价下面的代码片断:
unsignedinttestzero=0;
unsignedintcomptestzero=0xFFFF;2.本题考查流水线知识。假设某处理机的流水线指令由3个子部件完成,每个子部件的工作周期均为t,采用常规标量单流水线处理机。若连续执行32条指令,则共需时间多少t?3.下面的代码输出是什么,为什么?
voidfoo(void)
{
unsignedinta=6;
intb=-20;
(a+b>6)?puts(">6"):puts("<=6");
}4.按要求编写一个函数,实现对含有10000个整型元素的数组a进行每个元素加1然后赋值给新数组b的操作。并且该代码段有如下要求:循环次数为5000次;每次循环减少一条判断指令;流水线阻塞减少。
5.假设某系统的一个绝对地址为0x2547的整型变量的值为0x6879。请使用C语言编写代码实现这一操作。6.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(181)b.setValue(429)请分别写出a.value(),b.value()的值7.下面的声明都是什么意思?constintame;intconstame;constint*ame;int*constame;intconst*ameconst;8.下面的代码使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码。__interruptdoublecompute_areas(doublebanjing)
{
doubleareas=PI*banjing*banjing;
printf("\nAreas=%f",area);
returnareas;
}四.应用题(每小题6分,共30分)1.嵌入式系统总是要用户对变量或寄存器进行位操作。给定一个整型变量a,写两段代码,第一个设置a的第3位,第二个清除a的第3位。在以上两个操作中,要保持其它位不变。2.ARM嵌入式系统的存储系统根据地址与数据高低字节的关系可以分为big-ending和small-ending。请编写代码段实现判断该处理器的存储模式。3.请按要求写出一个Makefile文件,要求包括:采用arm-linux-gcc交叉编译器,指定安装目录位install,源文件为step.c,目标文件为step,使用cortexa8.h头文件,静态编译,含有clean操作。4.在一个单处理器的计算机系统中,采用抢占式优先级的进程调度方案,且所有任务可以并行使用I/O设备。下表列出了4个任务T1、T2、T3、T4优先级(1最高,4最低)和独立运行时占用CPU与I/O设备的时间。如果操作系统的开销忽略不计,这4个任务从同时启动到全部结束的总时间为多少ms,CPU的空闲时间共有ms?请写出分析过程。任务优先级每个任务独立运行时所需的时间T11对每个任务:占用CPU10ms,I/O12ms,再占用CPU5msT22T33T445.请根据嵌入式Linux的开发流程,回答以下问题。1)在模块空处填上相应内容。(1)(2)(3)(4)2)请分析gcc与arm-linux-gcc的区别。《嵌入式Linux系统原理与应用》试卷参考答案及评分标准(A卷)一、选择题(每小题2分,共20分)题号12345678910答案BBBDBBCBBA二、填空题(每空1分,共10分)1.实现对文件的按名存取。2.中断请求(IRQ)。3.request_irq4.超级用户(SVC)5.交叉编译6.sizeof(float)7.取指8.Halfword9信号插槽四.问答题(每小题5分,共40分)1.对于一个int型不是16位的处理器为说,上面的代码是不正确的。应编写如下:
unsignedintcompzero=~0;(能够写出正确与否的给2分,正确分析结果后给5分)2.本题考查指令流水的概念。顺序执行时,每条指令都需3步才能执行完,没有重叠。N级流水线执行,在单标量情况下,执行时间=(N-1)+指令数量所以连续执行32条指令后,共需时间为(3-1) + 32=34Dt。5分或者做出类似图形分析,正确亦给5分3.输出是">6"。2分
原因是当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型。3分4.voidincrement(int*b,int*c)
{
inti;
int*pb,*pc;
intb3,b4;
pb=b-1;
pc=c-1;
b3=pb[1];
for(i=(10000/2);i!=0;i--)
{
b4=*(pb+=2);
pc[1]=b3+3;
b3=pb[1];
*(pc+=2)=b4+1;
}
}程序评价视完成目标及代码流畅度决定。完成程序给2分――循环次数压缩(1分)
――数组变成了指针;(1分)
――循环从++循环变成了――循环。(1分)5.int*ptr;1分
ptr=(int*)0x2547;2分
*ptr=0x6879;2分6.a.setValue(181);a.value()=181,b.value()=181各1分b.setValue(429);a.value()=181,2分b.value()=4291分7.constintam;ame是一个常整型数intconstam;ame是一个常整型数constint*am;ame是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。int*constam;ame是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)intconst*amconst;ame是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可修改的)以上每项各1分8.ISR不能返回一个值。1分
ISR不能传递参数。1分在许多的处理器/编译器中,浮点一般都是不可重入的。有些处理器/编译器需要让额处的寄存器入栈,有些处理器/编译器就是不允许在ISR中做浮点运算。此外,ISR应该是短而有效率的,在ISR中做浮点运算是不明智的。2分
printf()经常有重入和性能上的问题。1分四.应用题(每小题6分,共30分)1.#defineBIT3(0x1<<3)
staticinta;
voidset_bit3(void){a|=BIT3;}3分
voidclear_bit3(void){a&=~BIT3;}3分2.typedefunion{charchChar;shortshShort;}UnEndian;//该枚举体的内存分配如下,chChar和shShort的低地址字节重合//如果是BigEndian则返回trueboolIsBigEndian(){UnEndiantest;test.shShort=0x10;//如果是大端模式,则上面的语句就该同时把chChar成员赋值成了0x10if(test.chChar==0x10){returntrue;}returnfalse;}说明:程序功能完成即可得6分3.CC =arm-linux-gcc2分INSTALL =installTARGET =step2分all:$(TARGET)$(TARGET):step.ccortexa8.h1分 $(CC)-static$<-o$@clean: rm-rf*.o$(TARGET)*~1分4.本题考查的是操作系统进程调度方面的知识。可以按照如下的推理步骤进行分析,如:根据题意可知,4个任务的优先级T1>T2>T3>T44,进程调度过程如下图所示,分析如下。t0时刻:进程调度程序选任务T1投入运行,运行10ms,任务T1占用I/O。t1时刻:此时由于CPU空闲,进程调度程序选任务T2投入运行,运行10ms后任务T2占用I/O。此时,t1与t2时刻任务T1占用I/O,任务T2在运行。t2时刻:此时由于CPU空闲,进程调度程序选任务T3投入运行,运行5ms后任务T1结束占用I/O。此时,t2与t3时刻任务T1、任务T2占用I/O,任务T3在运行。……按照如此规律分析,这4个任务从同时启动到全部结束的总时间为72ms,CPU的空闲时间共有12ms。按照此步骤得出总时间给3分,空闲时间给3分。或者是(10+5)*4+12=72ms,空闲时间为12ms5.(1)Glibc(2)busybox(3)rootfs(4)uboot.bin每个1分(2)gcc针对x86架构编译,arm-linux-gcc针对ARM架构编译,2分《嵌入式Linux系统原理与应用》课程考试试卷(B卷)一、单项选择题(每小题2分,共20分)1、下面关于C语言程序的描述,正确的是____。
A、面向对象的结构化语言
B、要调用的函数必须在main()函数中定义
C、总是从main()函数开始执行
D、main()函数必须放在程序的开始2、以下叙述中,不符合RISC指令系统特点的____。
A、指令的种类比较少
B、寻址方式种类丰富,指令功能尽量增强
C、设置大量通用寄存器,访问存储器指令简单
D、适合嵌入式系统3、在下列cortex-A8ARM处理器的各种模式中,_____模式有自己独立的R8-R14寄存器。
A、系统模式(System)
B、终止模式(Abort)
C、中断模式(IRQ)
D、快中断模式(FIQ)
4、按照ARM过程调用标准(APCS),栈指针使用____寄存器,
A、R0
B、R13
C、R14
D、R15
5、在ARM体系结构中,要从主动用户模式(User)切换到超级用户模式(Supervisor),应采用何种方法?____
A、直接修改CPU状态寄存器(CPSR)对应的模式
B、先修改程序状态备份寄存器(SPSR)到对应的模式,再更新CPU状态
C、使用软件中断指令(SWI)
D、让处理器执行未定义指令
6、下面关于MMU和Linux描述错误的是:____
A、MMU是内存管理单元MemoryManagementUnit的缩写
B、uClinux可以运行在有MMU的处理器上
C、Linux内核功能强大,内存管理功能丰富,即使在没有MMU的处理器上,也可以通过软件实现地址映射。
D、Linux系统正是利用MMU,才能使得各个进程有独立的寻址空间
7、进程有三种状态:____。
A、准备态、执行态和退出态
B、精确态、模糊态和随机态
C、运行态、就绪态和等待态
D、手工态、自动态和自由态
8、在使用GCC编译器的过程中,以下____选项可用来指定生成的目标文件名。
A、-c
B、-o
C、-S
D、-E
9、对ARM7微处理器说法不正确的是____。
A、兼容16位的Thumb指令集
B、集成式RISC内核
C、集成了ICE-RT逻辑
D、哈佛体系结构10、一般可以用____实现自动编译。
A、gcc
B、gdb
C、make
D、vi
二.填空题(每空1分,共10分)1.BootLoader不仅依赖于CPU的体系结构,而且依赖于的相关配置。2.主机可以使用minicom、kermit或者等工具,通过串口发送文件。3.Gnumake的主要工作是读取一个。4.U-Boot的编译命令比较简单,主要分两步进行。第一步是配置,如makesmdkv210_config;第二步是编译,执行就可以了。5.常用的远程调试技术主要有插桩(stub)和两种。6.主机-目标机交叉开发环境模式是由开发主机和两套计算机系统内组成的。7.在linux2.6内核中,主从设备被定义为一个dev_t类型的位数。8.U-Boot将对于与硬件平台相关的代码定义成并保留在配置文件中。9.U-Boot的启动过程分为两个阶段:第一阶段主要由代码实现,负责对CPU及底层硬件资源的初始化;第二阶段用语言实现。三.问答题(每小题5分,共40分)1.字符设备驱动程序中file结构体、fileoperations结构体和inode结构体是最重要的三个结构体,请分别表述各自的作用。2.下面的声明都是什么意思?constinttestaaa;intconsttestaaa;constint*testaaa;int*consttestaaa;intconst*testaaaconst;3.某计算机系统由下图所示的部件构成,假定每个部件的千小时可靠度R均为0.92,则该系统的千小时可靠度约为?(保留小数点后四位)4.在字符设备驱动程序中,假设已完成设备号分配,请写一段代码,要求使用动态分配一个新的cdev结构体并初始化。5.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(170);b.setValue(512);请分别写出a.value(),b.value()的值6.请按要求写出一个makefile文件,要求包括:采用arm-linux-gcc交叉编译器,源文件为buzzer.c,安装目录为install,目标文件为buzzer,使用buzzer.h头文件,静态编译。7.流水线是嵌入式系统中的重要技术。假设某处理机的流水线指令由3个子部件完成,每个子部件的工作周期均为t,采用常规标量单流水线处理机。若连续执行30条指令,则共需时间多少t?8.访问绝对地址是嵌入式系统的重要特点。假设某系统的一个绝对地址为0x1357的整型变量的值为0x8642。请编写代码实现这一操作。四.应用题(每小题6分,共30分)进程调度是嵌入式linux操作系统的重要功能。在一个单处理器嵌入式linux的计算机系统中,采用抢占式优先级的进程调度方案,且所有任务可以并行使用I/O设备。下表列出了6个任务T1、T2、T3、T4、T5、T6及优先级(1最高,6低)和独立运行时占用CPU与I/O设备的时间。如果操作系统的开销忽略不计,这6个任务从同时启动到全部结束的总时间为多少ms,CPU的空闲时间共有多少ms?请写出分析过程。任务优先级每个任务独立运行时所需的时间T11对每个任务:占用CPU10ms,I/O12ms,再占用CPU4msT22T33T44T55T662.假设目标机ARM开发板的IP地址为2,请首先在主机上编写程序实现对500个整数进行排序(请写出完整源码,包括本程序使用的头文件),然后简述将该程序编译、下载至目标机、修改文件权限以及执行该程序的过程。3.请编写代码段,实现对含有2000个整型元素的数组testa进行每个元素加1然后赋值给新数组testb的操作。并且该代码段有如下要求:循环次数为1000次;每次循环减少一条判断指令;流水线阻塞减少。4.给定一个整型变量x,在嵌入式系统中写两段代码,第一个设置x的bit3,第二个清除x的bit3。在以上两个操作中,要保持其它位不变。5.请根据嵌入式Linux的开发流程,回答以下问题。1)在模块空处填上相应内容。(1)(2)(3)(4)2)请分析bootloader的作用。《嵌入式Linux系统设计与应用》试卷参考答案及评分标准(B卷)一、选择题(每小题2分,共20分)题号12345678910答案CBDBCCCBDC二、填空题(每空1分,共10分)1.板级电路。2.超级终端。3.makefile文件4.make5.片上调试(ocd)6.目标机7.328.宏文件9汇编C三.问答题(每小题5分,共40分)1.File_operations为用户态应用程序提供接口,是系统调用和驱动程序关联的重要数据结构。1分File结构体在内核代码include/linux/fs.h中定义,表示一个抽象的打开的文件,1分file_operations结构体就是file结构的一个成员。1分Inode结构表示一个文件,而file结构表示一个打开的文件。这正是二者间最重要的关系。2分2.constinttestaaa;testaaa是一个常整型数intconsttestaaa;testaaa是一个常整型数constint*testaaa;testaaa是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。int*consttestaaa;testaaa是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)intconst*testaaaconst;testaaa是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可修改的)以上每项各1分3.本题考查系统可靠度的概念。串联部件的可靠度=各部件的可靠度的乘积。并联部件的可靠度=1 – 各部件失效率的乘积。题目中给出的系统由三个部件串联组成,其中第二、第三部件又分别由两个部件并联构成,因此整个系统的可靠度为0.92 *(1 – (1 – 0.92)* (1 – 0.92)) * (1 – (1 – 0.92) * (1 – 0.92)) ≈ 0.91425分(能够写出公式的给2分,正确计算结果给5分)4.structcdev*my_cdev=cdev_alloc();my_cdev->owner=THIS_MODULE;my_cdev->ops=&fops;应用cdev_alloc()正确可得2分,程序完全正确得5分5.a.setValue(170);a.value()=170,b.value()=170各1分b.setValue(512);a.value()=170,2分b.value()=5121分6.CC =arm-linux-gcc2分INSTALL =installTARGET =buzzer2分all:$(TARGET)$(TARGET):buzzer.cbuzzer.h1分 $(CC)-static$<-o$@clean: rm-rf*.o$(TARGET)*~1分7.本题考查指令流水的概念。顺序执行时,每条指令都需3步才能执行完,没有重叠。N级流水线执行,在单标量情况下,执行时间=(N-1)+指令数量所以连续执行30条指令后,共需时间为(3-1) + 30=32Dt。5分或者如做出图形分析,通过画图获得最终结果给5分8.int*ptr;ptr=(int*)0x1357;2分*ptr=0x8642;3分四.应用题(每小题6分,共30分)1.本题考查的是操作系统进程调度方面的知识。可以按照如下的推理步骤进行分析,如:根据题意可知,6个任务的优先级T1>T2>T3>T4>T5>T6,进程调度过程如下所示,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在运行。……按照如此规律分析,这6个任务从同时启动到全部结束的总时间为96ms,CPU的空闲时间共有12ms。按照此步骤得出总时间给3分,空闲时间给3分。2.#include<stdio.h>voidmain(){voidsort(intx[],intn);int*p,i,a[10];p=a;for(i=0;i<500;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–g2(1分)通过超级终端登录到目标机,使用命令Chmod777hello修改属性(1分)最后通过命令./hello执行该程序(1分)3.voidincrement(int*b,int*c){inti;int*pb,*pc;intb3,b4;pb=b-1;pc=c-1;b3=pb[1];for(i=(2000/2);i!=0;i--){b4=*(pb+=2);pc[1]=b3+1;b3=pb[1];*(pc+=2)=b4+1;}}程序评价视完成目标及代码流畅度决定。完成程序给2分――循环次数压缩(1分)――数组变成了指针;(1分)――循环从++循环变成了――循环。(2分)4.#defineBIT3(0x1<<3)
staticintx;
voidset_bit3(void){x|=BIT3;}3分
voidclear_bit3(void){x&=~BIT3;}3分5.(1)kernal(2)cross-compiler(3)binutils(4)系统文件每个1分bootloader的作用是初始化必要硬件,建立内存映射图,将操作系统内核加载到内存中2分。《嵌入式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分,程序完
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络素养教育推广承诺书(4篇)
- 江苏省徐州市沛县2025-2026学年八年级上学期1月期末物理试题(无答案)
- 如期交付工期确保承诺书范文3篇
- 2025 高中语文必修上册《赤壁赋》文言文断句课件
- 合作伙伴关系和谐发展承诺函9篇
- 草地生态保护承诺书(7篇)
- 我们的数学老师人物的轮廓写作6篇
- 高考配额制度
- 商业机密保护与合规经营承诺书9篇
- 生产安全事故隐患自查与整改工具
- 《应急预案编制与演练》全套教学课件
- 护理共情疲劳开题报告
- 《化工原理》实验指导书
- 铁路隧道敞开式TBM始发及试掘进施工实施细则
- 高考化学湖北长江作业本 化学人教选择性必修2 04 课后素养评价(四)
- 2026年苏州工业职业技术学院单招职业适应性测试题库及答案1套
- 全国护理心电图比赛试题(附答案)
- 2025年初级会计考试题库及答案
- 血液透析导管感染护理查房
- 新入职员工消防知识培训课件
- 2025年高考真题-化学(四川卷) 含答案
评论
0/150
提交评论