免费智能真题库 > 历年试卷 > 嵌入式系统设计师 > 2015年下半年 嵌入式系统设计师 上午试卷 综合知识
  第53题      
  知识点:   嵌入式操作系统的分类   吞吐量   响应时间
  关键词:   嵌入式   生存时间   实时系统   响应时间        章/节:   嵌入式操作系统基础知识       

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

 
  第23题    2017年下半年  
   37%
计算机系统的层次结构如下图所示,基于硬件之上的软件可分为a、b和c三个层次。图中a、b和c分别表不(23)。
  第50题    2010年下半年  
   72%
分布式系统是一个由多台计算机组成的系统,下列叙述中错误的是(50)。
  第49题    2014年下半年  
   54%
在嵌入式实时系统中,通常用BIT完成对故障的检测和定位。以下叙述中,不正确的是(49)。
   知识点讲解    
   · 嵌入式操作系统的分类    · 吞吐量    · 响应时间
 
       嵌入式操作系统的分类
        操作系统的分类有多种方法,常见的有按照所提供的功能分类、按照系统的类型分类、按照响应时间分类、按照软件结构分类等。
               按提供的功能分类
               按照操作系统所提供的功能进行分类是最常见的方式,可以分为以下几类。
               (1)单用户操作系统。其主要特征是,在一个计算机系统内,一次只能支持运行一个用户程序。此用户独占计算机系统的全部硬件、软件资源。早期的微机操作系统例如DOS是这样的操作系统。
               (2)批处理操作系统。用户把要计算的问题、数据、作业说明书等一起交给系统操作员,系统操作员将一批算题输入计算机,然后由操作系统控制执行。采用这种批处理作业技术的操作系统称为批处理操作系统。这类操作系统又分为批处理单道系统和批处理多道系统。
               (3)实时操作系统。“实时”是“立即”的意思。典型的实时操作系统包括过程控制系统、信息查询系统和事务处理系统。实时系统是较少有人为干预的监督和控制系统。其软件依赖于应用的性质和实际使用的计算机的类型。实时系统的基本特征是事件驱动设计,即当接到某种类型的外部信息时,由系统选择相应的程序去处理。
               (4)分时操作系统。这是一种使用计算机为一组用户服务,使每个用户仿佛自己有一台支持自己请求服务的计算机的操作系统。分时操作系统的主要目的是对联机用户的服务和相应,具有同时性、独立性、及时性、交互性。分时操作系统中,分时是指若干道程序对CPU的分时,通过设立一个时间分享单位即时间片来实现。分时操作系统与实时操作系统的主要差别在交互能力和响应时间上。分时系统交互行强,而实时系统响应时间要求高。
               (5)网络操作系统。提供网络通信和网络资源共享功能的操作系统称为网络操作系统。它是负责管理整个网络资源和方便网络用户的软件的集合。网络操作系统除了一般操作系统的五大功能之外,还应具有网络管理模块。后者的主要功能是,提供高效而可靠的网络通信能力;提供多种网络服务,如远程作业录入服务、分时服务、文件传输服务等。
               (6)分布式操作系统。分布式系统是由多台微机组成且满足如下条件的系统:系统中任意两台计算机可以通过通信交换信息;系统中的计算机无主次之分;系统中的资源供所有用户共享;一个程序可以分布在几台计算机上并行地运行,互相协作完成一个共同的任务。用于管理分布式系统资源的操作系统称为分布式操作系统。
               嵌入式操作系统也可以按照不同的标准来进行分类,例如,可以按照系统的类型、响应时间和软件结构来分类。
               按系统的类型分类
               按照系统的类型,可以把嵌入式操作系统分为三大类:商用系统、专用系统和开源系统。
               (1)商用系统。商业化嵌入式操作系统特点是功能强大、性能稳定、应用范围相对较广,而且辅助软件工具齐全,可以胜任许多不同的应用领域。但商用系统的价格通常比较昂贵,如果用于一般的产品会提高产品的成本从而失去竞争力。其典型代表是风河公司(Wind River)的VxWorks、微软公司的Windows CE、Palm公司的PalmOS等。
               (2)专用系统。一些专业厂家为本公司产品特制的嵌入式操作系统,这种系统一般不提供给应用开发者使用。
               (3)开源系统。开放源代码的嵌入式操作系统是近年来发展迅速的一类操作系统,其典型代表是μC/OS和各类嵌入式Linux系统。开源系统具有免费、开源、性能优良、资源丰富、技术支持强等优点,在信息家电、移动通信、网络设备和工业控制等领域得到越来越广泛的应用。
               按响应时间分类
               按照系统对响应时间的敏感程度,可以把嵌入式操作系统分为两大类:实时操作系统和非实时操作系统。
               顾名思义,实时操作系统就是对响应时间要求非常严格的系统。当某一个外部事件或请求发生时,相应的任务必须在规定的时间内完成相应的处理。实时系统的正确性不仅依赖于系统计算的逻辑结果,还依赖于产生这些结果所需要的时间。
               实时操作系统可以分为硬实时和软实时两种情形。
               (1)硬实时系统。系统对响应时间有严格的要求,绝不允许响应时间不能满足,否则可能会引起系统的崩溃或致命的错误。
               (2)软实时系统。系统对响应时间有要求,如果响应时间不能满足,将带来额外的代价,不过这种代价通常能够接受。
               非实时系统在响应时间上没有严格的要求,如分时操作系统,它是基于公平性原则,各个进程分享处理器,获得大致相同的运行时间。当一个进程在进行I/O操作时,会交出处理器,让其他的进程运行。
               按软件结构分类
               按照软件的体系结构,可以把嵌入式操作系统分为三大类:单体结构、分层结构和微内核结构。它们之间的差别主要表现在两个方面:一是内核的设计,即在内核中包含了哪些功能组件;二是在系统中集成了哪些其他的系统软件(如设备驱动程序和中间件)。
                      单体结构
                      在单体结构的操作系统中,中间件和设备驱动程序通常就集成在系统内核当中。整个系统通常只有一个可执行文件,里面包含了所有的功能组件(如下图所示)。系统的结构就是无结构,整个操作系统由一组功能模块组成,这些功能模块之间可以相互调用。例如,嵌入式Linux操作系统、Jbed RTOS、μC/OS-II和PDOS都属于单体内核系统。
                      
                      单体结构
                      单体结构的优点是性能较好,系统的各个模块之间可以相互调用,通信开销比较小。它的缺点是操作系统具有体积庞大、高度集成和相互关联等特点,因而在系统剪裁、修改和调试等方面都较为困难。
                      分层结构
                      在分层结构中,一个操作系统被划分为若干个层次,各个层次之间的调用关系是单向的,即某一层上的代码只能调用比它低层的代码。与单体结构相似,分层结构的操作系统也是只有一个大的可执行文件,其中包含有设备驱动程序和中间件。由于采用了层次结构,所以系统的开发和维护都较为简单。但是,这种结构要求在每个层次上都要提供一组API接口函数,这就会带来额外的开销,从而影响到系统的规模和性能。下图所示为MS-DOS的结构,这是一个有代表性的、良好组织的分层结构。
                      
                      分层结构
                      微内核结构
                      微内核结构或者客户-服务器结构的操作系统是指在内核中将操作系统的大部分功能都剥离出去,只保留最核心的功能单元(如进程管理和存储管理),微内核结构的特点就是内核非常小,大部分的系统功能都位于内核之外,例如设备驱动程序,所有的设备驱动程序都被置于内核之外,如下图所示。
                      
                      微内核结构
                      在微内核操作系统中,新的功能组件可以被动态地添加进来,所以它具有易于扩展、调试方便等特点。另外,由于大部分的系统功能被放置在内核之外,而且客户单元和服务器单元的内存地址空间是相互独立的,因此系统的安全性更高。它还有一个优点就是移植方便。但是,与其他类型的操作系统相比(如单体内核),微内核操作系统的运行速度可能会慢一些,这是因为核内组件与核外组件之间的通信方式是消息传递,而不是直接的函数调用。另外,由于它们的内存地址空间是相互独立的,所以在切换的时候,也会增加额外的开销。许多嵌入式操作系统采用的都是微内核的方式,如OS-9、C Executive、VxWorks、CMX-RTX、Nucleus Plus和QNX等。
 
       吞吐量
        吞吐量就是在给定的时间内,系统的吞入能力与吐出能力是多少。这里的“系统”可以是整个计算机系统,也可以是某个设备。例如,计算机的吞吐量是指流入、处理和流出系统的信息速率,它取决于信息能够多快地输入内存,CPU能够多快地取指令,数据能够多快地从内存取出或存入,以及所得结果能够多快地从内存送给一台外围设备。这些步骤中的每一步都关系到内存,因此,计算机的吞吐量主要取决于内存的存取周期。
        在实际应用中,用户所关心的往往不是计算机硬件系统的吞吐量,而是整个计算机系统(包括硬件和软件)的吞吐量。从系统角度来看,吞吐量是指单位时间内系统所能完成的任务数量。显然,若一个给定系统持续地收到用户提交的任务请求,则系统的响应时间将对作业吞吐量造成一定影响。若每个任务的响应时间越短,则系统的空闲资源越多,整个系统在单位时间内完成的任务量将越大;反之,若响应时间越长,则系统的空闲资源越少,整个系统在单位时间内完成的任务量将越少。
        从现实的请求与服务来看,一般都服从M/M/1排队模型。M/M/1排队模型是指顾客到达时间间隔服从指数分布,则顾客到达过程为泊松分布,接受完服务的顾客和到达的顾客相互独立,服务时间分布为指数分布。且顾客的到达和服务都是随机的,服务台为一个,排队空间无限。
        下面是性能计算中的两个公式:
        
        例如,假设某计算机系统的用户在1秒钟内发出40个服务请求,这些请求(为M/M/1队列)的时间间隔按指数分布,系统平均服务时间为20ms。则该系统的吞吐量为1000/20=50(1s=1000ms),系统的平均利用率为40/50=0.8,系统的平均响应时间为20ms/(1-0.8)=100ms。
 
       响应时间
        系统响应时间是指用户发出完整请求到系统完成任务给出响应的时间间隔。处于系统中不同的角色的人,对响应时间的关注点是不一样的。从系统管理员的角度来看,系统响应时间指的是服务器收到请求的时刻开始计时,到服务器完成执行请求,并将请求的信息返回给用户这一段时间的间隔。这个“服务器”包含的范围是给用户提供服务的接口服务器,中间的一些业务处理的服务器和排在最后面的数据库服务器。这里并不包含请求和响应在网络上的通信时间。
        从用户的角度来看,响应时间是用户发出请求开始计时,(如按下“确认”或Enter键的时刻),到用户的请求的相应结果展现在用户机器的屏幕的时候的这一段时间的间隔。这个时间称为“客户端的响应时间”,它等于客户端的请求队列加上服务器的响应时间和网络的响应时间的总和。可以看出,从用户角色感受的“响应时间”是所有响应时间中最长的,很多影响因素不在应用系统的范围内,如数据包在网络上的传输时间、域名解析时间等。
        响应时间超出预期太多的应用系统会导致用户的反感,因为系统在让他们等待,这样会降低他们的工作效率,延长他们的工作时间。位于互联网上的Web网站也存在同样的问题,有调查表明,如果一个Web网页不能在8秒钟内下载到访问的用户端,访问者就会失去耐性,他们有的尝试其他同类型的网站,有的可能访问竞争者的网站,并且可能影响他们圈子里面的人访问这个网站的兴趣和取向。对于一个指望这些访问者变为客户的网站站点而言,响应时间带来的后果等同于销售额的损失。
        系统的响应时间对每个用户来说都是不一样的,以下因素会影响系统的平均响应时间:
        (1)和业务相关,处理不同的业务会有不同的响应时间。
        (2)和业务组合有关,业务之间可能存在依赖关系或其他,也会相互影响。
        (3)和用户的数量有关,大并发量会严重影响应时间。
        有多种方法可以用来测试响应时间,常用的有两种方法,分别是首字节响应时间和末字节响应时间。首字节响应时间是指向服务器发送请求与接收到响应的第一个字节之间的时间,末字节响应时间是指向服务器发送请求与接收到响应的最后一个字节之间的时间。通过测量响应时间,可以知道所有客户端用户完成一笔业务所用的时间以及平均时间、最大时间。
        米勒曾经给出了3个经典的有关响应时间的建议,至今仍有参加价值:
        (1)0.1秒:用户感觉不到任何延迟。
        (2)1秒:用户愿意接受的系统立即响应的时间极限。即当执行一项任务的有效反馈时间在0.1~1秒之内时,用户是愿意接受的。超过此数据值,则意味着用户会感觉到有延迟,但只要不超过10秒,用户还是可以接受的。
        (3)10秒:用户保持注意力执行本次任务的极限,如果超过此数值时仍然得不到有效的反馈,用户会在等待计算机完成当前操作时转向其他的任务。
   题号导航      2015年下半年 嵌入式系统设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第53题    在手机中做本题