(中级) 嵌入式系统设计师_第1页
(中级) 嵌入式系统设计师_第2页
(中级) 嵌入式系统设计师_第3页
(中级) 嵌入式系统设计师_第4页
(中级) 嵌入式系统设计师_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

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

文档简介

(中级)嵌入式系统设计师单选题(总共129题)1.执行下面C语言程序段的结果是()。main(){intx=l,a=l,b=l;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf(”a=%d,b=%d“,a,b);}(1分)A、a=2,b=2B、a=3,b=2C、a=2,b=lD、a=3,b=3答案:B解析:

switchcase语句语法,当匹配到了一个case条件,会从该条件开始往下执行其余所有条件语句,不再进行判断,因此这里x=1匹配到了case1,其会执行case1及case2的语句。2.某个应用任务TaskA正在等待信号量到来从而执行,此时TaskA所处的状态名称为()。(1分)A、就绪态状态B、执行状态C、阻塞状态D、结束状态答案:C解析:

进程基础三态是阻塞、就绪、执行,题中任务没有执行,也不仅仅缺CPU资源,还缺信号量资源,因此是阻塞状态。3.文件系统中,打开文件(open)操作的功能是()。(1分)A、把文件信息从辅存读到内存B、把磁盘的超级块从辅存读到内存C、把文件的FAT表信息从辅存读到内存D、把文件的控制管理信息从辅存读到内存答案:D解析:

在使用已经存在的文件之前,要通过“打开(Open)”文件操作建立起文件和用户之间的联系,目的是把文件的控制管理信息从辅存读到内存。打开文件应完成如下功能:①在内存的管理表中申请一个空表目,用来存放该文件的文件目录信息;②根据文件名在磁盘上查找目录文件,将找到的文件目录信息复制到内存的管理表中。如果打开的是共享文件,则应进行相关处理,如共享用户数加1;③文件定位,卷标处理等。文件一旦打开,可被反复使用直至文件关闭。这样做的优点是减少查找目录的时间,加快文件存取速度,提高系统的运行效率。4.以下关于死锁的叙述中,不正确的是______。(1分)A、死锁涉及的资源必须遵循申请、分配、使用和释放的管理模式B、发生死锁时,系统中一定至少存在一个资源等待的回路C、死锁是用户之间循环等待资源而引起的僵局D、死锁只可能在单个进程中发生,不可能在多个进程中发生答案:D解析:

本题考查计算机死锁方面的基础知识。死锁是涉及操作系统全局的问题,出现死锁的主要原因是在资源共享的情况下,由于分配算法不当,在动态运行时多个用户之间出现循环等待,而且系统将无法自动摆脱这种现象。发生死锁时,系统中一定至少存在一个资源等待的回路。死锁的形成必须有若干必要的条件。首先,死锁涉及的资源必须是独占资源,对它的管理必须实行用户申请、系统分配、用户使用、用户释放的模式。死锁不可能在某个单个进程中发生,但却可能只在某些进程中产生。5.求解两个长度为n的序列X和Y的一个最长公共子序列(如序列ABCBDAB和BDCABA的一个最长公共子序列为BCBA)可以采用多种计算方法。如可以采用蛮力法,对X的每一个子序列,判断其是否也是Y的子序列,最后求出最长的即可,该方法的时间复杂度为()。经分析发现该问题具有最优子结构,可以定义序列长度分别为i和j的两个序列X和Y的最长公共子序列的长度为c[i,j],如下式所示。

采用自底向上的方法实现该算法,则时间复杂度为(请作答此空)(1分)A、O(n^2)B、O(n^21gn)C、O(n^3)D、O(n2^n)答案:A解析:

蛮力法,对X的每一个子序列,判断是否也是Y的子序列,其中,长度为n的序列X共有2^n个子序列,判断其是否是Y的子序列时间是n,因此是n*2^n;采用动态规划法自底向上实现时,根据递归公式,实际是关于i和j的两重循环,因此时间复杂度是n^2.6.假设段页式存储管理系统中的地址结构如下图所示,则系统()。

(1分)A、最多可有256个段,每个段的大小均为2048个页,页的大小为8KB、最多可有256个段,每个段的最大允许有2048个页,页的大小为8KC、最多可有512个段,每个段的大小均为1024个页,页的大小为4KD、最多可有512个段,每个段最大允许有1024个页,页的大小为4K答案:B解析:

本题考查操作系统页式存储管理方面的基础知识。从图中可见,页内地址的长度是13位,213=8192,即8K;页号部分的地址长度是11位,每个段最大允许有211=2048个页;段号部分的地址长度是8位,28=256,最多可有256个段。故本题的正确答案为B。7.若信号量S的初值为2,当前值为-1,则表示有______等待进程。(1分)A、0个B、1个C、2个D、3个答案:B解析:

本题考查操作系统的基础知识。荷兰学者Dijkstra提出的信号量(或信号灯)机制,是一种卓有成效的进程同步与互斥的工具。对信号量的操作原语有两种,P操作和V操作。P操作和V操作是执行时不被打断的两个操作系统原语,P操作和V操作必须成对使用。在操作系统中,信号量是表示资源的实体,它由两个成员(S,Q)构成,其中S是一个具有非负初值的整型变量,Q是一个初始状态为空的队列。S表示系统中某类资源的使用情况,当其值大于0时,表示系统中当前可用资源的数目;当其值小于0时,其绝对值表示系统中因请求该类资源而阻塞等待的进程数目。除信号量的初值外,信号量的值能由P操作和V操作改变。P(S)的主要功能是:先执行S=S-1;若S≥0则进程继续执行;若S<0则阻塞该进程,并将它插入到该信号量的等待队列Q中。V(S)的主要功能是:先执行S=S+1;若S>0则进程继续执行;若S≤0则从该信号量等待队列中移出第一个进程,使其变为就绪状态并插入就绪队列,然后再返回原进程继续执行。综上所述,当前的S值为-1,则表示有1个进程在信号量的等待队列Q中。8.下列关于C语言中结构类型的叙述中,错误的是()。(1分)A、结构第一个成员的地址和整个结构的地址相同B、缺省条件下,编译器为每个成员按自然对齐(alignment)条件分配空间C、结构成员按照它们被声明的顺序在内存中顺序存储D、结构是一种复合数据类型,其构成元素只能是基本数据类型答案:D解析:

结构类型即结构体struct,结构体第一个成员放在偏移为0的地方,称为首地址,和整个结构体的地址相同;每个特定平台有默认的对齐系数,程序员可以通过预编译命令#pragmapack(n),n=1,2,4,8,16来改变这一系数,缺省条件下,编译器为每个成员按自然对齐条件分配空间;结构体成员是按照声明的顺序在内存中顺序存储;结构体是C语言中聚合数据类型,可以被声明为变量、指针、数据等,用来实现复杂的数据结构,结构体的成员也可以包含其他结构体。9.DHCP客户端可从DHCP服务器获得______。(1分)A、DHCP服务器的地址和Web服务器的地址B、DNS服务器的地址和DHCP服务器的地址C、客户端地址和邮件服务器地址D、默认网关的地址和邮件服务器地址答案:B解析:

本题考查DHCP协议的工作原理。DHCP客户端可从DHCP服务器获得本机IP地址,DNS服务器的地址,DHCP服务器的地址,默认网关的地址等,但没有Web服务器、邮件服务器地址。10.算法是为解决某个问题而设计的步骤和方法。以下关于算法的叙述中,不正确的是______。(1分)A、解决同一个问题,不同的人(甚至是同一个人)可能会写出几种不同的算法B、常用算法主要有迭代法、穷举搜索法、递推法、递归法、贪婪法、回溯法等C、递推法是利用所解问题本身所具有的递推关系来求得问题解的一种算法D、任何可以用递推法解决的问题,亦可用递归法解决,反之亦然答案:D解析:

本题考查关于算法方面的基础知识。算法是为解决某个问题而设计的步骤和方法,有了算法,就可以据此编写程序。常用算法主要有迭代法、穷举搜索法、递推法、递归法、贪婪法、回溯法等。解决同一个问题,不同的人(甚至是同一个人)可能会写出几种不同的算法,但算法有优劣之分。递推法是利用所解问题本身所具有的递推关系来求得问题解的一种算法。递推法与递归法的关系是,任何可以用递推法解决的问题,可以很方便的用递归法写出程序解决。反之,许多用递归法解决的问题不能用递推法解决。这是因为递归法利用递归时的压栈,可以有任意长度和顺序的前效相关性,这是递推法所不具备的。11.以下关于嵌入式微处理器中断的叙述中,错误的是()。(1分)A、大多数系统可以使用轮询方式让多个设备共享一个中断B、高优先级中断可以抢占低优先级中断,最高优先级中断不可被抢占C、多个中断源同时请求中断时,系统只能响应一个中断,其他中断会被丢弃D、当中断发生时,系统将自动备份当前程序状态寄存器答案:C解析:

当有多个中断源同时请求时,会依据优先级判断按序执行,不会丢弃。12.下列关于任务上下文切换的描述中,不正确的是______。A.任务上下文是任务控制块(TC(1分)A、的组成部分B、上下文切换是由一个特殊的任务完成C、上下文切换时间是影响RTOS性能的重要指标D、上下文切换由RTOS内部完成答案:B解析:

本题考查嵌入式操作系统的基础知识。在多任务系统中,上下文切换指的是当处理器的控制权由运行任务转移到另外一个就绪任务时所执行的操作。任务的上下文是任务控制块(TCB)的组成部分,记录着任务的寄存器、状态等信息。当运行的任务转为就绪、挂起或删除时,另外一个被选定的就绪任务就成为当前任务。上下文切换包括保存当前任务的状态,决定哪一个任务运行,恢复将要运行的任务的状态。保护和恢复上下文的操作是依赖特定的处理器的。上下文切换时间是影响嵌入式实时操作系统RTOS性能的一个重要指标。上下文切换是在RTOS内部完成的,上下文切换由一个特殊的任务完成的说法是错误的,故本题应选择B。13.下面关于实时操作系统(RTOS)的叙述中,不正确的是______。(1分)A、实时操作系统中,首要任务是调度一切可利用的资源来完成实时控制任务B、实时计算中,系统的正确性仅依赖于计算结果,不考虑结果产生的时间C、实时操作系统就是系统启动后运行的一个后台程序D、实时操作系统可以根据应用环境的要求对内核进行裁减和重配答案:B解析:

暂无解析14.假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为10μs,由缓冲区送至用户区的时间是5μs,系统对每个磁盘块数据的处理时间为2μs。若用户需要将大小为10个磁盘块的Doc1文件逐块从磁盘读入缓冲区,并送至用户区进行处理,那么采用单缓冲区需要花费的时间为______μs。(1分)A、100B、107C、152D、170答案:C解析:

在块设备输入时,假定从磁盘把一块数据输入到缓冲区的时间为T,缓冲区中的数据传送到用户工作区的时间为M,而系统处理(计算)的时间为C,如下图所示。

当第一块数据送入用户工作区后,缓冲区是空闲的可以传送第二块数据。这样第一块数据的处理C1与第二块数据的输入T2是可以并行的,依次类推,如下图所示。系统对每一块数据的处理时间为:Max(C,T)+M。因为,当T>C时,处理时间为M+T;当T<C时,处理时间为M+C。本题每一块数据的处理时间为10+5=15,Doc1文件的处理时间为15*10+2。

15.以太网的数据帧结构如图6-3所示,包含在TCP段中的数据部分最长应该是()字节。

(1分)A、1434B、1460C、1480D、1500答案:B解析:

通常,Ethernet以太网的数据帧最大长度为1518字节,EthernetⅡ帧头为18字节,IP头最少为20字节,TCP头最少为20字节,数据部分最长为1518-18-20-20=1460B。16.更适合用来开发操作系统的编程语言是()。(1分)A、C/C++B、JavaC、PythonD、JavaScript答案:A解析:

开发常识,C/C++是编译型语言,常用于系统级软件的开发。17.任务调度是嵌入式操作系统的一个重要功能,嵌入式操作系统内核一般分为非抢占式和抢占式两种,以下叙述中,不正确的是______。(1分)A、非抢占式内核要求每个任务要有自我放弃CPU的所有权B、非抢占式内核的任务级响应时间取决于最长的任务执行时间C、在抢占式内核中,最高优先级任务何时执行是可知的D、抢占式内核中,应用程序可以直接使用不可重入函数答案:D解析:

暂无解析18.在C程序中,语句“char*func(intx,inty);”表示的含义是()。(1分)A、对函数func的定义B、对函数func的调用C、对函数func返回值类型的说明D、对函数func的原型说明答案:D解析:

函数的定义需要返回值、函数名、形参、函数体,这里缺少了函数体,并且后面加了分号表示一条语句,是函数的声明,即函数的原型说明。19.以下C语言程序的输出结果是()。structs{intx,y;}data[2]={10,100,20,200};main(){structs*p=data;p++;printf(“%d\n”,++(p->x));}(1分)A、10B、11C、20D、21答案:D解析:

data是s类型的数组,即结构体数组,用{10,100,20,200}赋值,可知:data[0].x=10data[0].y=100data[1].x=20data[1].y=200structs*p,p是data数组的指针。指向数组的第一个元素,*p即为data[0]。p++之后,即地址向后移动,此时p指向数组的第二个元素,*p即为data[1].p->x和(*p).x是一样的,p->x和data[1].x等价。所以在++(p->x)之后,data[0].x的值变为21。输出21。20.假设系统中有n个进程共享3台扫描仪,并采用PV操作实现进程同步与互斥。若系统信号量S的当前值为-1,进程P1、P2又分别执行了1次P(S)操作,那么信号量S的值应为()。(1分)A、3B、-3C、1D、-1答案:B解析:

本题考查的是操作系统PV操作方面的基本知识。系统采用PV操作实现进程同步与互斥,若有n个进程共享3台扫描仪,那么信号量S初值应为3。若系统当前信号量S的值为-1,此时,P1、P2又分别执行了1次P(S)操作,即当P1进程执行P(S)操作时,信号量S的值等于-2;当P2进程执行P(S)操作时,信号量S的值等于-3。21.设n的初值为正整数,设计一个递归算法如下:intfact(intn){if(n<=0)return1;elsereturn(n*fact(n-1));}以下叙述中,正确的是______。(1分)A、计算fact(n)需要执行n+2次函数调用B、计算fact(n)需要执行n+1次函数调用C、计算fact(n)需要执行n次函数调用D、计算fact(n)需要执行n-1次函数调用答案:B解析:

本题考查函数递归调用方面的相关知识。递归法是描述算法的一种强有力的方法,其思想是:将N=n时不能得出解的问题,设法递归(压栈)转化为求n-1,n-2,…的问题,一直到N=0或1的初始情况,由于初始情况的解可以给出,因此,开始层层退栈得到N=2,3,…,n时的解,得到最终结果。本题中,主程序调用fact(n)称为外部调用,其他调用称为内部调用,直到调用fact(0)为止。fact(n)调用fact(n-1),fact(n-1)调用fact(n-2)……fact(1)调用fact(0),内部调用n次,外部调用一次,共n+1次。22.ICMP协议属于因特网中的______协议,ICMP协议数据单元封装在(请作答此空)中传送。(1分)A、以太帧B、TCP段C、UDP数据报D、IP数据报答案:D解析:

ICMP(InternetcontrolMessageProtocol)与IP协议同属于网络层,用于传送有关通信问题的消息。例如数据报不能到达目标站,路由器没有足够的缓存空间,或者路由器向发送主机提供最短通路信息等。ICMP报文封装在IP数据报中传送,因而不保证可靠的提交。23.PPP中的安全认证协议是______,它使用三次握手的会话过程传送密文。(1分)A、MD5B、PAPC、CHAPD、HASH答案:C解析:

PPP认证是可选的。PPP扩展认证协议(ExtensibleAuthenticationProtocol,EAP)可支持多种认证机制,并且允许使用后端服务器来实现复杂的认证过程。例如通过Radius服务器进行Web认证时,远程访问服务器(RAS)只是作为认证服务器的代理传递请求和应答报文,并且当识别出认证成功/失败标志后结束认证过程。通常PPP支持的两个认证协议是:①口令验证协议(PasswordAuthenticationProtocol,PAP):提供了一种简单的两次握手认证方法,由终端发送用户标识和口令字,等待服务器的应答,如果认证不成功,则终止连接。这种方法不安全,因为采用文本方式发送密码,可能会被第三方窃取;②质询握手认证协议(ChallengeHandshakeAuthenticationProtocol,CHAP):采用三次握手方式周期地验证对方的身份。首先是逻辑链路建立后认证服务器就要发送一个挑战报文(随机数),终端计算该报文的Hash值并把结果返回服务器,然后认证服务器把收到的Hash值与自己计算的Hash值进行比较,如果匹配,则认证通过,连接得以建立,否则连接被终止。计算Hash值的过程有一个双方共享的密钥参与,而密钥是不通过网络传送的,所以CHAP是更安全的认证机制。在后续的通信过程中,每经过一个随机的间隔,这个认证过程都可能被重复,以缩短入侵者进行持续攻击的时间。值得注意的是,这种方法可以进行双向身份认证,终端也可以向服务器进行挑战,使得双方都能确认对方身份的合法性。24.已知:charstr[10],*p=str;下面C语言语句中正确的是()。(1分)A、str="ABC";B、p="ABC";C、*str="ABC";D、*p="ABC”;答案:B解析:

题中str是字符数组,p是一个指向str首地址的指针,A中字符之间不能直接赋值,要使用strcpy;B是将指针p指向ABC字符串的地址空间,是可行的;C和D都是将ABC直接赋值给str或者p,不能直接赋值。25.分配到必要的资源并获得处理机时的进程状态是()。(1分)A、就绪状态B、执行状态C、阻塞状态D、撤销状态答案:B解析:

暂无解析26.嵌入式实时系统中,有3个主要指标衡量系统的实时性,即响应时间、吞吐量和生存时间,针对这3个指标,下列描述错误的是______。(1分)A、响应时间是计算机从识别一个外部事件到处理完这个事件的时间B、吞吐量是指系统可以处理的事件总数C、生存时间是数据有效等待的时间,在这段时间内数据是有效的D、系统对事件响应时间的长短,可以衡量系统的实时性答案:D解析:

本题考查嵌入式实时系统实时性相关的基础知识。嵌入式实时系统中,有3个主要指标衡量系统的实时性,即响应时间、吞吐量和生存时间。响应时间是计算机从识别一个外部事件到处理完这个事件的时间;吞吐量是指在给定的时间内,系统可以处理的事件总数;生存时间是数据有效等待的时间,在这段时间内数据是有效的。嵌入式实时系统是指系统能够在指定或者确定的时间内,完成系统功能和外部或内部、同步或异步事件做出响应的系统。因此,单纯使用绝对的响应时间长短,是不能衡量系统的实时性的。B选项对于吞吐量的描述也不准确,吞吐量是需要时间判断的,这里可以选最不正确的,D合适。27.以下关于嵌入式实时操作系统(RTOS)的叙述中,错误的是()。(1分)A、实时性和公平性是RTOS调度器最重要的两个指标B、RTOS调度器多采用基于优先级的可抢占调度算法C、单调速率调度算法的基本思想是任务的周期越短,优先级越高D、最早期限优先算法会根据任务的截止时间来确定其优先级答案:A解析:

实时操作系统强调的是实时性,即在规定的时间内能够完成系统功能,返回正确的结果,因此最重要的指标是实时性和正确性。28.通过______可清除上网痕迹。(1分)A、禁用脚本B、禁止SSLC、清除CookieD、查看ActiveX控件答案:C解析:

本题考查浏览器配置相关知识。禁用脚本是禁止本地浏览器解释执行客户端脚本;禁止SSL是禁止采用加密方式传送网页;Cookie中保存有用户账号等临时信息,即上网之后留下的信息;ActiveX控件是本地可执行的插件。因此要清除上网痕迹,需清除Cookie。29.以下与文件系统相关的叙述中,不正确的是()。(1分)A、文件系统负责文件的组织、存储、检索、命名、共享和保护B、文件系统为用户提供描述文件抽象的程序接口C、文件通常存储在磁盘或其他非易失存储介质上D、程序设计者需要关心文件存储分配的细节答案:D解析:

暂无解析30.下列做法中不利于嵌入式应用软件移植的是______。(1分)A、在软件设计上,采用层次化设计和模块化设计B、在数据类型上,尽量直接使用C语言的数据类型C、将不可移植的部分局域化,集中在某几个特定的文件之中D、软件体系结构设计时,在操作系统和应用软件之间引入一个中间件层答案:B解析:

本题考查嵌入式系统的基础知识。嵌入式系统由包括微处理器、定时器、微控制器、存储器、传感器等一系列微电子芯片与器件,和嵌入在存储器中的微型操作系统、控制应用软件组成,共同实现诸如实时控制、监视、管理、移动计算、数据处理等各种自动化处理任务。嵌入式系统以应用为中心,以微电子技术、控制技术、计算机技术和通信技术为基础,强调硬件软件的协同性与整合性,软件与硬件可剪裁,以满足系统对功能、成本、体积和功耗等的要求。嵌入式软件通常分为嵌入式操作系统、嵌入式支撑软件和嵌入式应用软件。嵌入式操作系统负责嵌入系统的全部软、硬件资源的分配、调度工作,控制、协调并发活动;嵌入式支撑软件用于帮助和支持软件开发,通常包括一些嵌入式中间件等;嵌入式应用软件是针对特定应用领域,基于某一固定的硬件平台,用来达到用户预期目标的计算机软件。由于用户任务可能有时间和精度上的要求,因此有些嵌入式应用软件需要特定嵌入式操作系统的支持。嵌入式应用软件和普通应用软件有一定的区别,它不仅要求其准确性、安全性和稳定性等方面能够满足实际应用的需要,而且还要尽可能地进行优化,以减少对系统资源的消耗,降低硬件成本。嵌入式软件的特点有:(1)嵌入式软件具有独特的实用性。嵌入式软件是为嵌入式系统服务的,这就要求它与外部硬件和设备联系紧密。嵌入式系统以应用为中心,根据应用需求定向开发,面向产业、面向市场,需要特定的行业经验。每种嵌入式软件都有自己独特的应用环境和实用价值。(2)嵌入式软件应有灵活的适用性。嵌入式软件通常可以认为是一种模块化软件,它应该能非常方便灵活地运用到各种嵌入式系统中,而不能破坏或更改原有的系统特性和功能。首先它要小巧,不能占用大量资源;其次要使用灵活,应尽量优化配置,减小对系统的整体继承性,升级更换灵活方便。综上所述,嵌入式软件和硬件平台密切相关,不同的硬件平台可能使用不同的编译器,直接使用C语言的数据类型,会引入硬件平台和软件平台带来的差异,不利于软件移植。31.假设以下代码运行环境为32位系统,其中,__attribute__((packed))的作用是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐。代码段1:structstudent1{charname[10];longsno;charsex;floatscore[4];}__attribute__((packed))*p1,a1,b1;代码段2:unionstudent2{charname[10];longsno;charsex;floatscore[4];}*p2,a2,b2;sizeof(structstudent1)、sizeof(unionstudent2)的结果分别是______。(1分)A、248和128B、31和31C、31和16D、16和16答案:C解析:

本题考查程序开发的基础知识。题目中student1是一个结构体,sizeof(structstudent1)结果为结构体student1所有元素字节数之和,因此sizeof(structstudent1)结果为:10+4+1+16=31字节。题目中student2是个联合,sizeof(unionstudent2)结果是联合student2中最长一个元素的字节数。因此sizeof(unionstudent2)结果为:16字节。32.分配给某公司网络的地址块是/20,该网络可以被划分为______个C类子网。(1分)A、4B、8C、16D、32答案:C解析:

由于分配给公司网络的地址块是/20,留给子网掩码的比特数只有4位,所以只能划分为16个C类子网,这16个C类子网的子网号为11000000~11001111,即192~207,所以不属于该公司的网络地址。33.三目运算符表达式“d=a>b?(a>c?a:c):(b>c?b:c);”等价于下列①、②、③、④四组程序的______组解释。

(1分)A、④B、③C、②D、①答案:A解析:

本题考查三目运算符表达式的基础知识。题目中的三目运算表达式“d=a>b?(a>c?a:c):(b>c?b:c)”求值结果是取a、b、c中最大的值赋给d。三目运算符的通常格式为“a>b?a:b”,其含义为:当a>b为真时,取a为表达式的值,否则,取b为表达式的值。需要注意的是,三元运算符“?”的执行优先级低于所有二元操作符,仅高于逗号运算符。34.求解两个长度为n的序列X和Y的一个最长公共子序列(如序列ABCBDAB和BDCABA的一个最长公共子序列为BCBA)可以采用多种计算方法。如可以采用蛮力法,对X的每一个子序列,判断其是否也是Y的子序列,最后求出最长的即可,该方法的时间复杂度为(请作答此空)。经分析发现该问题具有最优子结构,可以定义序列长度分别为i和j的两个序列X和Y的最长公共子序列的长度为c[i,j],如下式所示。

采用自底向上的方法实现该算法,则时间复杂度为()(1分)A、O(n^2)B、O(n^21gn)C、O(n^3)D、O(n2^n)答案:D解析:

蛮力法,对X的每一个子序列,判断是否也是Y的子序列,其中,长度为n的序列X共有2^n个子序列,判断其是否是Y的子序列时间是n,因此是n*2^n;采用动态规划法自底向上实现时,根据递归公式,实际是关于i和j的两重循环,因此时间复杂度是n^2.35.假设页面大小为1KB,对于逻辑地址0xE9B7所对应的逻辑页面号为()。(1分)A、0x3AB、0x1B7C、0xE9D、0xB7答案:A解析:

将逻辑地址0xE9B7转换成二进制形式为(1110100110110111)2

页面大小为1KB,对于逻辑地址0xE9B7所对应的逻辑页面号为0x3A,页内偏移量为0x1B7。36.DMA数据的传送是以______为单位进行的。(1分)A、字节B、字C、数据块D、位答案:C解析:

暂无解析37.下列进程状态变化中,______是不可能发生的。(1分)A、等待→运行B、运行→等待C、等待→就绪D、运行→就绪答案:A解析:

通常一个进程应有3种基本状态:就绪状态、运行状态和等待状态(或称阻塞状态)。进程的3个状态的转换如下图所示。

38.以下关于设备管理及虚设备技术的叙述中,不正确的是______。(1分)A、设备管理主要有分配设备、回收设备、输入、输出等B、虚设备技术主要是为了提高设备的利用率以及使独立设备共享化C、虚设备技术是指用一类设备来模拟另一类设备的技术D、设备与计算机之间数据交换的控制方式主要有两种:程序控制和I/O中断答案:D解析:

本题考查设备管理方面的基础知识。设备管理主要有分配设备、回收设备、输入、输出等,系统引入虚设备技术主要是为了提高设备的利用率以及使独立设备共享化,虚设备技术是指用一类设备(通常是高速设备)来模拟另一类设备(通常是低速设备)的技术,被模拟的设备称为虚设备。多窗口技术就是显示器模拟自身的例子,是一个屏幕可以同时监控多个进程的进行情况。设备与计算机之间数据交换的控制方式主要有三种:程序控制I/O中断和DMA(直接存储访问)。39.IEEE802.11标准使用的传输技术主要有()。(1分)A、红外线、跳频扩频与蓝牙B、红外线、跳频扩频与直接序列扩频C、跳频扩频、直接序列扩频与蓝牙D、红外线、直接序列扩频与蓝牙答案:B解析:

IEEE802.11标准主要使用红外线、跳频扩频与直接序列扩频三种传输技术。蓝牙技术采用跳频扩频技术和时分多路利用技术可使特定移动电话、便携式电脑、便携式通信设备的主机之间在近距离内(通常为10m以内)实现无缝的资源共享。40.x是整型变量,pb是整型指针变量,如果将pb指向x,则正确的表达式是______。(1分)A、pb=&xB、pb=xC、*pb=&xD、*pb=*x答案:A解析:

本题考查C语言方面的基础知识。选项A将变量x的地址赋给指针变量pb,使pb指向x;选项B将x的值当作地址赋给指针pb;选项C将x的地址赋给指针pb指向的地址等于x的内存单元;选项D使pb指向一个地址等于x值的内存单元。根据题意,如果将pb指向x,则正确的表达式是pb=&x。因此正确答案为A。41.以下关于嵌入式实时系统的叙述中,不正确的是______。(1分)A、嵌入式实时系统,要求系统在投入运行前即具有确定性和可预测性B、可预测性是指系统在运行之前,其功能、响应特性和执行结果是可预测的C、确定性是指系统在给定的状态和输入下,在确定的时间内给出确定的结果D、对嵌入式实时系统失效的判断仅依赖对其运行结果的正确性判断答案:D解析:

本题考查嵌入式实时系统基础知识。嵌入式实时系统是一种完全嵌入受控器件内部,为特定应用而设计的专用计算机系统。在嵌入式实时系统中,要求系统在投入运行前即具有确定性和可预测性。可预测性是指系统在运行之前,其功能、响应特性和执行结果是可预测的;确定性是指系统在给定的初始状态和输入条件下,在确定的时间内给出确定的结果。对嵌入式实时系统失效的判断,不仅依赖其运行结果的数值是否正确,也依赖提供结果是否及时。42.如果I/O设备与存储设备进行数据交换不经过CPU来完成,这种数据交换方式是______。(1分)A、程序查询B、中断方式C、DMA方式D、无条件存取方式答案:C解析:

本题考查计算机设备管理方面的基础知识。在计算机设备管理中,常用的输入/输出控制方式有程序直接控制方式、中断控制方式、DMA控制方式和通道控制方式。程序直接控制方式:在早期的计算机系统中使用,由于没有中断机构,处理机对I/O设备的控制采用程序直接控制方式,该方法工作过程非常简单,但CPU的利用率相当低,因为CPU执行指令的速度高出I/O设备几个数量级,所以在循环测试中CPU浪费了大量的时间。中断控制方式:为了减少程序直接控制方式中的CPU等待时间,提高CPU与设备的并行工作程度,现代计算机系统中广泛采用中断控制方式对I/O设备进行控制。DMA控制方式的基本思想是在外围设备和内存之间开辟直接的数据交换通路,在DMA控制方式中,设备控制器(DMA控制器)具有更强的功能,在它的控制下,设备和内存之间可以成批地进行数据交换,而不用CPU干预,这种方式一般用于块设备的数据传输。通道控制方式:与DMA控制方式类似,也是一种以内存为中心,实现设备与内存直接交换数据的控制方式。与DMA控制方式相比,通道所需要的CPU干预更少,而且可以做到一个通道控制多台设备,从而更进一步减轻了CPU的负担。依据本题的题意,本题的正确答案应选择C。43.以下关于直接存储器访问(DMA)的叙述中,错误的是()。(1分)A、DMA是一种快速传递大数据的技术B、DMA将传输的数据从一个地址空间复制到另一个地址空间C、DMA数据传送过程中,由CPU和DMA控制器共同控制D、在DMA控制器控制下,主存和外设之间直接交换数据答案:C解析:

DMA直接在主存和外设之间建立一条数据传输通道,无需CPU来控制传输过程,是一种快速传递大数据块的技术。44.()主要用于Linux系统中进程间相互传递数据。(1分)A、FIFO文件B、设备文件C、链接文件D、目录文件答案:A解析:

Linux系统的五种基本文件类型是普通文件、管道文件、设备文件、链接文件和目录文件。其中,管道文件又称为FIFO文件,主要用于进程间传递数据。45.在嵌入式实时系统中,通常用BIT完成对故障的检测和定位。以下叙述中,不正确的是______。(1分)A、上电BIT拥有100%CPU控制权,可对系统中所有硬件进行完整测试B、周期BIT是在系统运行时对硬件进行的周期性检测C、维护BIT必须采取非破坏性算法,不影响系统维护状态下的正常运行D、嵌入式系统会在不同状态选择相应BIT,以保证故障被及时发现与定位答案:C解析:

本题考查计算机自检测方面的基础知识。在嵌入式实时系统中,通常用BIT完成对故障的检测和定位。BIT一般包括四种:上电BIT,维护BIT,周期BIT,启动BIT等。上电BIT是在系统上电时对所有硬件资源进行自检测的程序,它拥有100%CPU控制权,可对系统中所有硬件进行完整测试。周期BIT是在系统运行的空闲时间,周期性对硬件进行检测,由于系统处于正常运行状态,测试程序必须采取非破坏性测试算法,对部分可测部件进行测试。维护BIT是在地面维护状态下,对系统硬件的部分或全部进行维护性测试,测试软件拥有1009/0的CPU控制权,可以对系统中所有硬件进行完整的测试。因此C是错误的。嵌入式系统会在不同的状态或运行阶段选择进行相应的BIT,以保证系统故障的及时发现与定位。46.下列属于低级任务间通信方式的是()。(1分)A、共享内存B、PV操作C、消息传递D、管道通信答案:B解析:

在实时操作系统中,任务间通信是指任务之间为了协调工作,需要相互交换数据和控制信息,可分为低级通信和高级通信两种类型。PV操作等信号量机制和信号机制属于低级任务间通信方式。消息传递、共享内存、管道通信属于高级任务间通信方式。任务间通信又可分为直接通信和间接通信两种类型。send、receive原语属于直接通信方式,邮箱、消息队列属于间接通信方式。47.分配给某公司网络的地址块是/20,该网络可以被划分为_____个C类子网。(1分)A、4B、8C、16D、32答案:C解析:

由于分配给公司网络的地址块网络号是20位,而C类子网网络号是24位,因此只有4位可用来划分C类网络,所以只能划分为2^4=16个C类子网。48.以下关于嵌入式软件开发的叙述中,正确的是()。(1分)A、宿主机与目标机之间只需要建立逻辑连接即可B、调试器与被调试程序一般位贵同一台机器上C、嵌入式系统开发通常采用的是交叉编译器D、宿主机与目标机之间的通信方式只有串口和并口两种答案:C解析:

本题考查嵌入式系统软件开发调试的基础知识。嵌入式系统的软件开发与通常软件开发的区别:要在于软件实现部分,其中又可以分为编译和调试两部分,下面分别对这两部分进行讲解。第一是交叉编译。嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。要注意的是,编译器本身也是程序,也要在与之对应的某一个CPU平台上运行。这里一般将进行交叉编译的主机称为宿主机,也就是普通的通用PC,而将程序实际的运行环境称为目标机,也就是嵌入式系统环境。由于一般通用计算机拥有非常丰富的系统资源、使用方便的集成开发环境和调试工具等,而嵌入式系统的系统资源非常紧缺,无法在其上运行相关的编译工具,因此,嵌入式系统的开发需要借助宿主机(通用计算机)来编译出目标机的可执行代码。第二是交叉调试。嵌入式软件经过编译和链接后即进入调试阶段,调试是软件开发过程中必不可少的一个环节,嵌入式软件开发过程中的交叉调试与通用软件开发过程中的调试方式有很大的差别。在常见软件开发中,调试器与被调试的程序往往运行在同一台计算机上,调试器是一个单独运行着的进程它通过操作系统提供的调试接口来控制被调试的进程。而在嵌入式软件开发中,调试时采用的是在宿主机和目标机之间进行的交叉调试,调试器仍然运行在宿主机的通用操作系统之上,但被调试的进程却是运行在基于特定硬件平台的嵌入式操作系统中,调试器和被调试进程通过串口或者网络进行通信,调试器可以控制、访问被调试进程,读取被调试进程的当前状态,并能够改变被调试进程的运行状态。49.执行下面的一段C程序后,变量ret的值为()。charstr[20];intret=strlen(strcpy(str,”Hello_World”));(1分)A、0B、11C、12D、20答案:B解析:

题中,从最内层括号开始看起,将常量拷贝到str中,strcpy函数会在字符结束符\0时停止拷贝,因此只管Hello_World长度,strlen相当于strlen(str),字符串长度为11.50.用标准C语言库进行文件操作时,若要以a+方式打开一个己经存在的文件,则下列叙述中正确的是()。(1分)A、原有的文件内容保留,位置指针移动到文件的末尾,可进行读写操作B、原有的文件内容保留,位置指针移动到文件的开头,可进行读写操作C、原有的文件内容保留,位置指针移动到文件的末尾,可进行只读操作D、原有的文件内容被删除,可进行写操作答案:A解析:

fopen文件打开模式r代表read的简写,+代表可读可写,w代表write,b代表bit二进制位,t代表textr=rt,打开只读文件,该文件必须存在r+=rt+,打开可读可写的文件,该文件必须存在rb,只读,打开一个二进制文件,该文件必须存在rb+,打开一个二进制文件,允许读和写,该文件必须存在w=wt,新建一个文本文件,已存在的文件将被删除,只允许写w+=wt+,新建一个文本文件,已存在的文件将被删除,可读可写wb,新建一个二进制文件文件,已存在的文件将被删除,只允许写wb+,新建一个二进制文件,已存在的文件将被删除,可读可写a=at,打开或新建一个文本文件,只允许在文件末尾追写a+=at+,打开或新建一个文本文件,可以读,但只允许在文件末尾追写ab,打开或新建一个二进制文件,只允许在文件末尾追写。ab+,打开或新建一个二进制文件,可以读,但只允许在文件末尾追写51.测试网络连通性通常采用的命令是()。(1分)A、NetstatB、PingC、MsconfigD、Cmd答案:B解析:

ping命令用来测试网络连通性。A用于显示网络状态,C用于windows配置的应用程序;D是打开命令提示符窗口。52.集线器与网桥的区别是:______。(1分)A、集线器不能检测发送冲突,而网桥可以检测冲突B、集线器是物理层设备,而网桥是数据链路层设备C、网桥只有两个端口,而集线器是一种多端口网桥D、网桥是物理层设备,而集线器是数据链路层设备答案:B解析:

集线器是物理层设备,相当于在10BASE2局域网中把连接工作站的同轴电缆收拢在一个盒子里,这个盒子只起到接收和发送的功能,可以检测发送冲突,但不能识别数据链路层的帧。网桥是数据链路层设备,它可以识别数据链路层MAC址,有选择地把帧发送到输出端口,网桥也可以有多个端口,如果网桥端口很多,并配置了加快转发的硬件,就成为局域网交换机。53.现有3个同时到达的作业J1、J2和J3,它们的执行时间分别是T1、T2和T3,且T1<T2<T3。系统按单道方式运行且采用短作业优先算法,则平均周转时间是______。(1分)A、T1+T2+T3B、(T1+T2+T3)/3C、(3T1+2T2+T3)/3D、(T1+2T2+3T3)/3答案:C解析:

短作业优先(shortestJobFirst,SJF)调度算法用于进程调度时称为短进程优先调度算法,该调度算法既可以用于作业调度也可以用于进程调度。在作业调度中,短作业优先调度算法每次从后备作业队列中选择估计运行时间最短的一个或几个作业,将它们调入内存,分配必要的资源,创建进程并放入就绪队列。由于3个作业同时到达,所以作业执行的次序依次是J1、J2和J3,故周转时间分别为:J1:T1;J2:T1+T2;J3:T1+T2+T3;则平均周转时间:(T1+(T1+T2)+(T1+T2+T3))/3=(3T1+2T2+T3)/354.操作系统中的Spooling技术,实质是将______转化为共享设备的技术。(1分)A、虚拟设备B、独占设备C、脱机设备D、块设备答案:B解析:

本题考查嵌入式操作系统的基础知识。Spooling的意思是外部设备同时联机操作,又称为假脱机输入/输出操作,是操作系统中采用的一项将独占设备改造成共享设备的技术。Spooling系统的组成包括三部分:输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程。为了解决CPU输出数据的速度远远高于打印机的打印速度这一矛盾,在操作系统中一般采用Spooling技术。55.ICMP协议属于因特网中的(请作答此空)协议,ICMP协议数据单元封装在______中传送。(1分)A、数据链路层B、网络层C、传输层D、会话层答案:B解析:

ICMP(InternetcontrolMessageProtocol)与IP协议同属于网络层,用于传送有关通信问题的消息。例如数据报不能到达目标站,路由器没有足够的缓存空间,或者路由器向发送主机提供最短通路信息等。ICMP报文封装在IP数据报中传送,因而不保证可靠的提交。56.嵌入式软件开发不同于传统软件开发,其所使用的开发环境、工具都有特殊性,下列对嵌入式软件开发相关描述不正确的是______。(1分)A、嵌入式软件开发一般需要交叉开发环境B、目标机是嵌入式软件的实际运行环境或是能替代实际运行环境的仿真系统C、在线仿真器ICE(InCircuitEmulator)是一种模拟CPU的设备D、JTAG仿真器能访问、控制处理器核,但是不能访问I/O系统答案:D解析:

本题考查嵌入式软件开发的基础知识。嵌入式软件开发不同于传统软件开发,其所使用的开发环境、工具都有特殊性,在嵌入式软件开发中,一般使用宿主机和目标机的模式进行系统开发,并且借助于开发工具进行目标开发。宿主机是指普通PC机中构建的开发环境,一般需要配置交叉编译器,借助于宿主机的环境,使用交叉编译器进行目标编译,代码生成,同时借助仿真器或者是网络进行目标机的程序调式。目标机可以是嵌入式系统的实际运行环境,也可以是能够替代实际运行环境的仿真系统。在线仿真器ICE是一种模拟CPU的设备,可以根据配置模拟实际CPU的寄存器环境。JTAG(JointTestActionGroup,联合测试工作组)是一种国际标准测试协议(IEEE1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。JTAG最初是用来对芯片进行测试的,JTAG的基本原理是在器件内部定义一个TAP(TestAccessPort;测试访问口)通过专用的JTAG测试工具对内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。如今,JTAG接口还常用于实现ISP(In-SystemProgrammer,在系统编程),对FLASH等器件进行编程。通常所说的JTAG大致分两类:一类用于测试芯片的电气特性,检测芯片是否有问题;一类用于Debug,一般支持JTAG的CPU内都包含了这两个模块。一个含有JTAGDebug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器和挂在CPU总线上的设备,如FLASH,RAM,SOC内置模块的寄存器,像UART,Timers,GPIO等等的寄存器。57.下列做法中不利于嵌入式应用软件移植的是______。(1分)A、在软件设计上,采用层次化设计和模块化设计B、在软件体系结构上,在操作系统和应用软件之间引入一个中间件层C、将不可移植的部分局域化,集中在某几个特定的文件之中D、在数据类型上,尽量直接使用C语言的数据类型答案:D解析:

本题考查嵌入式系统的基础知识。嵌入式系统是指用于执行独立功能的专用计算机系统。它由包括微处理器、定时器、微控制器、存储器、传感器等一系列微电子芯片与器件,和嵌入在存储器中的微型操作系统、控制应用软件组成,共同实现诸如实时控制、监视、管理、移动计算、数据处理等各种自动化处理任务。嵌入式系统以应用为中心,以微电子技术、控制技术、计算机技术和通信技术为基础,强调硬件软件的协同性与整合性,软件与硬件可剪裁,以满足系统对功能、成本、体积和功耗等要求。嵌入式软件通常分为嵌入式操作系统、嵌入式支撑软件和嵌入式应用软件。嵌入式操作系统负责嵌入系统的全部软、硬件资源的分配、调度工作,控制、协调并发活动;嵌入式支撑软件用于帮助和支持软件开发的软件,通常包括一些嵌入式中间件等;嵌入式应用软件是针对特定应用领域,基于某一固定的硬件平台,用来达到用户预期目标的计算机软件。由于用户任务可能有时间和精度上的要求,因此有些嵌入式应用软件需要特定嵌入式操作系统的支持。嵌入式应用软件和普通应用软件有一定的区别,它不仅要求其准确性、安全性和稳定性等方面能够满足实际应用的需要,而且还要尽可能地进行优化,以减少对系统资源的消耗,降低硬件成本。嵌入式软件的特点有:①嵌入式软件具有独特的实用性。嵌入式软件是为嵌入式系统服务的,这就要求它与外部硬件和设备联系紧密。嵌入式系统以应用为中心,嵌入式软件是应用系统,根据应用需求定向开发,面向产业、面向市场,需要特定的行业经验。每种嵌入式软件都有自己独特的应用环境和实用价值。②嵌入式软件应有灵活的适用性。嵌入式软件通常可以认为是一种模块化软件,它应该能非常方便灵活的运用到各种嵌入式系统中,而不能破坏或更改原有的系统特性和功能。首先它要小巧,不能占用大量资源;其次要使用灵活,应尽量优化配置,减小对系统的整体继承性,升级更换灵活方便。综上所述,嵌入式软件和硬件平台密切相关,不同的硬件平台可能使用不同的编译器,直接使用C语言的数据类型,会引入硬件平台和软件平台带来的差异,不利于软件移植。58.执行下面C语言程序段的结果是()。main(){intx=l,a=l,b=l;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf(”a=%d,b=%d“,a,b);}(1分)A、a=2,b=2B、a=3,b=2C、a=2,b=lD、a=3,b=3答案:B解析:

switchcase语句语法,当匹配到了一个case条件,会从该条件开始往下执行其余所有条件语句,不再进行判断,因此这里x=1匹配到了case1,其会执行case1及case2的语句。59.某字长为32位的计算机文件管理系统采用位示图(bitmap)记录磁盘的使用情况。若磁盘的容量为300GB,物理块的大小为1MB,那么位示图的大小为()个字。(1分)A、1200B、3600C、6400D、9600答案:D解析:

本题考查操作系统文件管理方面的基础知识。根据题意若磁盘的容量为300GB,物理块的大小为1MB,那么该磁盘有300*1024=307200个物理块,位示图的大小为307200/32=9600个字。60.微内核操作系统在嵌入式系统中得到越来越广泛的应用,以下关于微内核操作系统叙述中,错误的是()。(1分)A、微内核操作系统,就是一种基于微内核架构的操作系统B、微内核操作系统由一群尽可能将数量最小化的软件程序组成C、微内核并非一个完整的操作系统,而只是操作系统中最基本的部分D、由于微内核不能有效的支持多处理机运行,所以不适用分布式系统环境答案:D解析:

微内核操作系统的基本思想是尽可能的将操作系统核心缩小,仅仅实现核心基础部分,如中断、并行调度等与硬件有关部分,而策略、应用层次则面向用户,这样大量的代码就移向进程,因此其只是操作系统中最基本部分;微内核可以支持多处理机运行,适用于分布式系统环境。61.针对下图所示的有向图,从结点V1出发广度遍历所得结点序列和深度遍历所得结点序列分别是______。

(1分)A、V1,V2,V3,V4,V5,V6,V7,V8和V1,V2,V3,V8,V5,V7,V4,V6B、V1,V2,V4,V6,V3,V5,V7,V8和V1,V2,V3,V8,V5,V7,V4,V6C、V1,V2,V4,V6,V3,V5,V7,V8和V1,V2,V3,V8,V4,V5,V6,V7D、V1,V2,V4,V6,V7,V3,V5,V8和V1,V2,V3,V8,V5,V7,V4,V6答案:B解析:

本题考查遍历方面的基础知识。图的广度优先遍历是先访问顶点V1,然后访问V1邻接到的所有未被访问过的顶点V2,V3,…,Vt邻接到的所有未被访问的顶点。如此进行下去,直到访问遍所有顶点,因此,本题中图的广度优先遍历是V1,V2,V4,V6,V3,V5,V7,V8。深度优先遍历是从图中某个结点,例如V1出发,访问此结点,然后依次从V1的未被访问的邻接顶点出发进行深度优先遍历,直至图中所有和V1有路径想通的结点都被访问到。若此时图中尚有顶点未被访问,则另选图中一个未被访问过的顶点作起始顶点,重复上述过程,直至图中所有顶点都被访问到为止。因此,本题中图的深度优先遍历是V1,V2,V3,V8,V5,V7,V4,V6。62.CPU通过接口对外设控制的方式一般包含程序查询方式、中断处理方式和DMA方式,以下描述正确的是______。(1分)A、程序查询方式下的结构复杂,但是工作效率很高B、中断处理方式下CPU不再被动等待,而是可以执行其他程序C、DMA方式下的内存和外设之间的数据传输需要CPU介入D、在DMA进行数据传送之前,DMA控制器不需要向CPU申请总线控制权答案:B解析:

本题考查嵌入式处理器外设控制方式相关的基础知识。CPU通过接口对外设控制的方式一般包含程序查询方式、中断处理方式和DMA方式,程序查询方式是早期的计算机系统对I/O设备的一种管理方式。它定时对各种设备轮流询问一遍有无处理要求。轮流询问之后,有要求的,则加以处理。在处理I/O设备的要求之后,处理机返回继续工作。在中断处理方式下,中央处理器与I/O设备之间数据的传输步骤如下:(1)在某个进程需要数据时,发出指令启动输入输出设备准备数据;(2)进程发出指令启动设备之后,该进程放弃处理器,等待相关I/O操作完成。此时,进程调度程序会调度其他就绪进程使用处理器;(3)当I/O操作完成时,输入输出设备控制器通过中断请求线向处理器发出中断信号,处理器收到中断信号之后,转向预先设计好的中断处理程序,对数据传送工作进行相应的处理;(4)得到了数据的进程则转入就绪状态。在随后的某个时刻,进程调度程序会选中该进程继续工作。DMA是在内存与IO设备间传送一个数据块的过程中,不需要CPU的任何中间干涉,只需要CPU在过程开始时向设备发出“传送块数据”的命令,然后通过中断来得知过程是否结束和下次操作是否准备就绪。DMA工作过程:(1)当进程要求设备输入数据时,CPU把准备存放输入数据的内存起始地址以及要传送的字节数分别送入DMA控制器中的内存地址寄存器和传送字节计数器。(2)发出数据传输要求的进程进入等待状态。此时正在执行的CPU指令被暂时挂起。进程调度程序调度其他进程占据CPU。(3)输入设备不断地窃取CPU工作周期,将数据缓冲寄存器中的数据源源不断地写入内存,直到所要求的字节全部传送完毕。(4)DMA控制器在传送完所有字节时,通过中断请求线发出中断信号。CPU在接收到中断信号后,转入中断处理程序进行后续处理。(5)中断处理结束后,CPU返回到被中断的进程中,或切换到新的进程上下文环境中,继续执行。DMA与中断的区别:(1)中断方式是在数据缓冲寄存器满之后发出中断,要求CPU进行中断处理,而DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理。这就大大减少了CPU进行中断处理的次数。(2)中断方式的数据传送是在中断处理时由CPU控制完成的,而DMA方式则是在DMA控制器的控制下完成的。这就排除了CPU因并行设备过多而来不及处理以及因速度不匹配而造成数据丢失等现象。63.以下关于直接存储器访问(DMA)的叙述中,错误的是()。(1分)A、DMA是一种快速传递大数据的技术B、DMA将传输的数据从一个地址空间复制到另一个地址空间C、DMA数据传送过程中,由CPU和DMA控制器共同控制D、在DMA控制器控制下,主存和外设之间直接交换数据答案:C解析:

DMA直接在主存和外设之间建立一条数据传输通道,无需CPU来控制传输过程,是一种快速传递大数据块的技术。64.SNMP是一种异步请求/响应协议,采用()协议进行封装。(1分)A、IPB、ICMPC、TCPD、UDP答案:D解析:

SNMP是基于UDP协议的。65.以下关于文件系统的叙述中,不正确的是______。(1分)A、文件控制块是文件系统中最重要的数据结构,但不是文件存在的唯一标志B、文件控制块主要包括文件的标识、位置和访问权限等信息C、文件目录将系统中所有的文件控制块按照某种规律组织起来以便于检索D、文件目录也是一种文件答案:A解析:

本题考查计算机文件系统方面的基础知识。文件控制块是文件系统中最重要的数据结构,是文件存在的唯一标志,它存放文件的一些基本信息。主要包括三大部分:文件的标识信息,包括文件名、所有者名、文件类型、文件最近修改时间等;文件的位置信息,包括文件的长度、文件存放位置等;文件的访问权限信息,例如口令、保存时限、保护类别等。文件目录是文件控制块的有序集合,将系统中所有的文件控制块按照某种规律组织起来以便于检索,就形成了文件目录,文件目录也由文件组成。66.嵌入式系统中配置了大量的外围设备,即I/O设备。依据工作方式不同可以分为字符设备、块设备和网络设备。下面描述不正确的是______。(1分)A、键盘、显示器、打印机、扫描仪、鼠标等都属于字符设备B、块设备是以块为单位进行传输的,如磁盘、磁带和光盘等C、网络设备主要用于与远程设备进行通信D、网络设备的传输速度和字符设备相当答案:D解析:

本题考查嵌入式系统中设备分类方面的基础知识。嵌入式系统中配置了大量的外围设备,即I/O设备。依据工作方式不同可以分为字符设备、块设备和网络设备。字符(char)设备是能够像字节流(类似文件)一样被访问的设备,由字符设备驱动程序来实现这种特性。字符设备驱动程序通常至少要实现open、close、read和write的系统调用。字符终端(/dev/console)和串口(/dev/ttyS0以及类似设备)就是两个字符设备,它们能很好的说明“流”这种抽象概念。字符设备可以通过节点来访问,比如/dev/tty1和/dev/lp0等。这些设备文件和普通文件之间的唯一差别是:对普通文件的访问可以前后移动访问位置,而大多数字符设备是一个只能顺序访问的数据通道。然而,也存在具有数据区特性的字符设备,访问它们时可前后移动访问位置。例如framebuffer就是这样的一个设备,可以用mmap或lseek访问抓取的整个图像。与字符设备类似,块设备也是通过/dev目录下的文件系统节点来访问。块设备(例如磁盘)上能够容纳文件系统。在大多数的Unix系统中,进行I/O操作时块设备每次只能传输一个或多个完整的块,而每块包含512字节(或2的更高次幂字节的数据)。Linux可以让应用像字符设备一样地读写块设备,允许一次传递任意多字节的数据。因此,块设备和字符设备的区别仅仅在于内核内部管理数据的方式,也就是内核及驱动程序之间的软件接口,而这些不同对用户来讲是透明的。在内核中,和字符驱动程序相比,块驱动程序具有完全不同的接口。网络接口是一个能够和其他主机交换数据的设备。接口通常是一个硬件设备,但也可能是个纯软件设备,比如回环(loopback)接口。网络接口由内核中的网络子系统驱动,负责发送和接收数据包。许多网络连接(尤其是使用TCP协议的连接)是面向流的,但网络设备却围绕数据包的传送和接收而设计。网络驱动程序不需要知道各个连接的相关信息,它只要处理数据包即可。由于不是面向流的设备,因此将网络接口映射到文件系统中的节点(比如/dev/tty1)比较困难。Unix访问网络接口的方法仍然是给它们分配一个唯一的名字(比如eth0),但这个名字在文件系统中不存在对应的节点。内核和网络设备驱动程序间的通信,完全不同于内核和字符以及块驱动程序之间的通信,内核调用一套和数据包相关的函数而不是fead、write等。67.假设段页式存储管理系统中的地址结构如下图所示,则系统______。

(1分)A、最多可有2048个段,每个段的大小均为2048个页,页的大小为2KB、最多可有2048个段,每个段最大允许有2048个页,页的大小为2KC、最多可有1024个段,每个段的大小均为1024个页,页的大小为4KD、最多可有1024个段,每个段最大允许有1024个页,页的大小为4K答案:D解析:

本题考查操作系统页式存储管理方面的基础知识。从图中可见,页内地址的长度是12位,212=4096,即4K;页号部分的地址长度是10位,每个段最大允许有210=1024个页;段号部分的地址长度是10位,210=1024,最多可有1024个段。68.一个C语言程序的执行是从()。(1分)A、本程序的MAIN函数开始,到MAIN函数结束B、本程序文件的第一个函数开始,到本程序的最后一个函数结束C、本程序的MAIN函数开始,到本程序的最后一个函数结束D、本程序文件的第一个函数开始,到本程序MAIN函数结束答案:A解析:

C语言程序从main()函数开始执行,执行期间会根据main()函数中的调用关系,调用其他函数执行,当main()函数执行完,程序运行结束。69.以下4种路由中,______路由的子网掩码是55。(1分)A、远程网络B、静态C、默认D、主机答案:D解析:

主机路由的子网掩码是55。网络路由要指明一个子网,所以不可能为全1,默认路由是访问默认网关,而默认网关与本地主机属于同一个子网,其子网掩码也应该与网络路由相同,对静态路由也是同样的道理。70.执行下面的一段C程序后,输出结果变量应为______。sub(intx,inty,int*z){*z=y-x;}main(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\n",a,b,c);}(1分)A、5,2,3B、-5,-12,-7C、-5,-12,-17D、5,-2,-7答案:B解析:

本题考查C语言方面的基础知识。sub()函数的作用是将形参y和x的差值存入z指向的那个内存地址,所以在sub(10,5,&a)中,10和5属于值传递,a是属于地址传递,也就是a与z指向了同一个存储单元。在执行函数后,a的值随*z变化,所以,此次函数被调用后a的值为以y-x=-5。同理可知,执行sub(7,a,&b)后,b的值发生变化,其值为-5-7=-12。执行sub(a,b,&c)后,c的值发生变化,其值为-12-(-5)=-7。71.在TCP/IP网络中,为各种公共服务保留的TCP端口号范围是()。(1分)A、1~255B、1~1023C、1~1024D、1~65535答案:B解析:

在TCP/IP网络中,传输层的传输控制协议TCP和用户数据包协议UDP的源端口、目的端口均占用16bit,其所能表达的端口号范围达2^16=65536,但其中为各种公共服务保留的TCP/UDP端口号范围是1~1023。72.会导致进程从执行态变为就绪态的事件是()。(1分)A、执行P(wait)操作B、申请内存失败C、启动I/O设备D、被高优先级进程抢占答案:D解析:

本题考查操作系统调度的基础知识。进程切换是多任务多用户操作系统所应具有的基本功能。操作系统为了控制进程的执行,必须有能力挂起正在CPU上运行的进程,并恢复以前挂起的某个进程的执行,这种行为被称为进程切换,任务切换或上下文切换。或者说,进行进程切换就是从正在运行的进程中收回CPU,然后再使待运行进程来占用CPU。这里所说的从某个进程收回CPU,实质上就是把进程存放在CPU的寄存器中的中间数据找个地方存起来,从而把CPU的寄存器腾出来让其他进程使用。进程在其生存期内可能处于如下三种基本状态之一:(a)执行态(Run):进程占有CPU资源,正在运行。显然,在单处理机系统中任一时刻只能有一个进程处于此种状态;(b)就绪态(Ready):进程本身具备运行条件,但由于处理机的个数少于可运行进程的个数,暂未投入运行。即相当于等待CPU资源;(c)等待态(Wait):也称挂起态(Suspended)、封锁态(Blocked)、睡眠态(Sleep)。进程本身不具备运行条件,即使分给它处理机也不能运行。进程正等待某一个事件的发生,如等待某一资源被释放,等待与该进程相关的I/O传输的完成信号等。进程的三个基本状态之间是可以相互转换的。具体地说,当一个就绪进程获得CPU时,其状态由就绪变为执行;当一个执行进程被剥夺CPU时,如用完系统分给它的时间片、出现更高优先级别的其他进程,其状态由运行变为就绪;当一个执行进程因某事件受阻时,如所申请资源被占用、启动I/o传输未完成,其状态由运行变为等待;当所等待事件发生时,如得到申请资源、I/O传输完成,其状态由等待变为就绪。73.将高级语言源程序翻译成机器语言程序的过程中,常引入中间代码。以下关于中间代码的叙述中,不正确的是______。(1分)A、中间代码不依赖于具体的机器B、使用中间代码可提高编译程序的可移植性C、中间代码可以用树或图表示D、中间代码可以用栈和队列表示答案:D解析:

本题考查程序语言基础知识。从原理上讲,对源程序进行语义分析之后就可以直接生成目标代码,但由于源程序与目标代码的逻辑结构往往差别很大,特别是考虑到具体机器指令系统的特点,要使翻译一次到位很困难,而且用语法制导方式机械生成的目标代码往往是烦琐和低效的,因此有必要设计一种中间代码,将源程序首先翻译成中间代码表示形式,以利于进行与机器无关的优化处理。由于中间代码实际上也起着编译器前端和后端分水岭的作用,所以使用中间代码也有助于提高编译程序的可移植性。常用的中间代码有后缀式、三元式、四元式和树(图)等形式。74.共享内存通信机制的缺点是______。(1分)A、需要花费额外的内存空间B、需要使用额外的同步机制C、需要额外硬件支持D、通信过程中需要反复读取内存,时间开销大答案:B解析:

本题考查任务间通信方面的基础知识。共享内存指在多处理器的计算机系统中,可以被不同中央处理器(CPU)访问的大容量内存。共享内存也可以是一个操作系统中的多进程之间的通信方法,这种方法通常用于一个程序的多进程间通信,实际上多个程序间也可以通过共享内存来传递信息。如下图所示。共享内存相比其他通信方式有着更方便的数据控制能力,数据在读写过程中会更透明。当成功导入一块共享内存后,它只是相当于一个字符串指针来指向一块内存,在当前进程下用户可以随意的访问。共享内存的一个缺点是:由于多个CPU需要快速访问存储器,这样就要对存储器进行缓存(Cache)。任何一个缓存的数据被更新后,由于其他处理器也可能要存取,共享内存就需要立即更新,否则不同的处理器可能用到不同的数据。另一个缺点是,数据写入进程或数据读出进程中,需要附加的数据结构控制。

75.仔细阅读下面程序,请给出运行结果()。#include#includeintf1(intx){returnx*x;}intf2(intx){returnx*x*x;}main(){intx=3,y1,y2,y3,y4;int(*f)();f=f1;y1=(*f)(x);y2=f1(x);f=f2;y3=f(x);y4=f2(x);printf(“y1=%d,y2=%d,y3=%d,y4=%d\n”,y1,y2,y3,y4);}(1分)A、y1=9,y2=9,y3=27,y4=27B、y1=3,y2=9,y3=27,y4=9C、y1=3,y2=3,y3=9,y4=9D、y1=3,y2=9,y3=9,y4=27答案:A解析:

题中y2和y4是直接函数调用,毫无疑问是9和27,关键在于f=f1是将函数指针f指向了函数f1,因此y1=(*f)(x)本质是调用了函数f1,其结果与直接调用y2=f1(x)相同,y3同理。76.若一台服务器只开放了25和110两个端口,那么这台服务器可以提供()服务。(1分)

温馨提示

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

评论

0/150

提交评论