教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

2011年计算机软件水平考试嵌入式系统设计师辅导笔记(5)

来源:网络收集 时间:2026-06-30
导读: 状态。 B、板级初始化:同时有软件和硬件在内的初始化过程,设置各种硬件的寄存器和设置某些软件的数据结构和参数。 C、加载内核:将操作系统和应用程序的映象从Flash 存储器复制到系统内存 当中,然后跳转到系统内

状态。

B、板级初始化:同时有软件和硬件在内的初始化过程,设置各种硬件的寄存器和设置某些软件的数据结构和参数。

C、加载内核:将操作系统和应用程序的映象从Flash 存储器复制到系统内存 当中,然后跳转到系统内核的第一条指令处继续执行。 补充:PC 系统的引导加载过程。

PC 系统的引导加载程序由两部分代码组成――BIOS 和MBR 中的引导程序。BIOS 在完成硬件检测和资源配置后,将硬盘主引导记录MBR 中的引导程序读到系统的内存当中,然后将控制权交给它,由它负责把操作系统的内核映象从硬盘读入到内存,然后跳转到内核入口去运行,即启动操作系统。 (9)设备驱动程序

在一个嵌入式系统中,操作系统可能有也可能无,但是设备驱动程序是必不可少的。

设备驱动程序,就是一组库函数,用来对硬件进行初始化和管理,并向上层软件提供良好的访问接口。大多数设备驱动程序都具备下面的基本功能:启动、关闭、停用、启用、读操作、写操作。这些功能一般用函数的形式来实现,这些函数之间的组织结构主要有两种:分层结构和混合结构。 (10)关于分层结构

A、硬件接口:直接操作和控制硬件。

B、调用接口:不直接跟硬件大交道,为上层软件提供服务和函数接口。

C、优点:把所有与硬件相关的细节都封装在硬件接口中,在硬件需要升级,需要更新设备驱动程序的时候,只需要改动硬件接口中的函数即可,而上层调用接口中的函数不用做任何修改。

D、混合结构:在设备驱动程序当中,没有明确的层次关系,上层接口和硬件接口混在一起,相互调用。

(11)嵌入式中间件

它是在操作系统内核、设备驱动程序和应用软件之外的所有系统软件,其基本思路是: 把原本属于应用软件层的一些通用的功能模块抽取出来,形成独立的一层软件,从而为运行在它上面的那些应用软件提供一个灵活、安全。移植性好、相互通信、协同工作的平台。 2、嵌入式操作系统概述 (1)内核

内核是指操作系统中的一个组件,它包含了OS 的主要功能,即OS 的各种特性及其相 互之间的依赖关系,这些功能主要包括:

A、任务管理:对系统中运行的软件进行描述和管理,并完成处理器资源分配和调度。 B、存储管理:提高内存的利用率,方便用户使用,提供足够的存储空间。 C、设备管理:方便设备的使用,提高CPU 和I/O 设备的利用率。 D、文件管理:解决文件资源存储、共享、保密和保护等问题。

注:不同嵌入式操作系统的内核设计各不相同,取决于系统设计和实际需求。 (2)嵌入式操作系统分类:

A、按系统类型:商业系统、专用系统、开源系统。 B、按响应时间:硬实时系统、软实时系统。

C、按软件结构:单体结构(uCOS)、分层结构(MS-DOS)、微内核结构(Vxworks)。 3、任务管理

(1)嵌入式操作系统的任务管理可以分为:

A、单道程序技术:操作系统中,任何时候只能有一个程序在运行。

- 11 -

B、多道程序技术:操作系统中,允许多个程序同时存在并运行。 (2)进程

进程,简单的说,是一个正在运行的程序。

进程与程序既有联系又有区别,主要表现为下面结构方面:

A、程序由数据和代码两部分内容组成,它是一个静态的概念。而进程是正在执行的程序,它也由两部分组成:程序和该程序的运行上下文。它是一个动态的概念。

B、程序和进程之间并不是一一对应的。一个进程在运行的时候可以启动一个或多个程序。反之,同一个程序也可能由多进程同时执行。

C、程序可以作为一种软件资源长期保存,以文件的形式存放在光盘或硬盘上,而进程则是一次执行的过程,它是暂时的,是动态的产生和终止。

一个进程至少应包括三个方面:相应的程序、CPU上下文、一组系统资源。 进程有三个特性:

A、动态性:进程是正在运行的程序,而程序的运行状态是不断变化的。

B、独立性:进程是系统资源的使用单位,每个进行有自己的运行上下文和内部状态。 C、并发性:宏观来看,系统中同时有多个进程存在,它们相互独立地运行。 注:对于并发的理解。

在单CPU 的情况下,所谓的并发性指的是宏观上的并发运行,而微观上还是顺序进行,各个进程轮流去使用CPU 资源。在单核CPU 中,真正的、物理上的PC 寄存器只有一个,进程在轮流执行的时候,物理PC 的取值也在不断变化。而逻辑PC 其实就是一个内存变量。每个进程都有一个逻辑PC,当一个进程要运行的时候,就把它的逻辑PC 装载到物理PC 中去;反之,当一个进程暂不运行的时候,就把物理PC中的值保存在它的逻辑PC 当中。 (3)线程

线程就是进程当中的一条执行流程。

进程其实包含两个部分:资源平台和执行流程(线程)。

在一个进程当中,或者说在一个资源平台上,可以同时存在多个线程;可以用线程作为CPU 的基本调度单位,使得各个线程之间可以并发执行;对于同一个进程当中的各个线程来说,他们可以共享该进程的大部分资源。每个线程都有自己独立的CPU运行上下文和栈,这是不能共享的。 (4)任务

在嵌入式系统中,任务其实就是线程,它是能够独立运行的一个实体。原因有二: A、任务具有独立的优先级和栈空间,CPU 上下文一般存放在栈空间中。

B、任务之间可以很方便地、直接地使用共享的内存单元,而不需要经过系统内核。

在多道程序的嵌入式系统中,同时存在着多个任务,这些任务之间的结构一般为层状结构,存在着父子关系。当嵌入式内核刚刚启动的时候,只有一个任务存在,然后由该任务派生出所有其他任务。

(5)任务的创建与中止(教程P270)

任务的创建主要发生在以下三种情形: A、系统初始化。

B、任务运行的过程中。 C、用户提出请求。

从技术的角度来说,实际上新任务只有一种创建的方法,也就是在一个已经存在的任务中,通过调用相应的系统函数来创建一个新的任务。任务的创建只要有两种可能的实现模型:fork/exec 和spawn。两种模型的差别主要在于内存的分配方式。

A、fork/exec 模型下,首先调用fork 函数为新任务创建一份与父任务完全相同的内存空

- 12 -

间,然后再调用exec 函数装入新任务的代码,并用它来覆盖原有的属于父任务的内容。嵌入式Linux操作系统是基于fork/exec模型的。

B、spawn 模式下,在创建新任务的时候,直接为它分配一个全新的地址空间,然后将新任务的代码装入并运行。uCOS操作系统是基于spawn 模型的。 任务的中止可能有多种原因,主要有下面三种情况: A、正常退出。 B、错误推出。

C、被其他任务踢出。

在有些嵌入式系统中,尤其是一些控制系统中,它的某些任务被设计为“死循环”的模式,一直循环下去,不会中止。 (6)任务的状态

任务有三中基本状态:

A、运行状态:任务占有CPU,并在CPU 上运行。

B、就绪状态:任务已经具备运行的条件,在等待CPU 空闲。

C、阻塞状态:任务因为正在等待某种事件的发生而暂时不能运行。

对于就绪状态和阻塞状态,它们的相同之处在于,任务都是处于暂停状态,没有运行。 不同之处在于,暂停的原因是不一样的,导致就绪状态的原因是外因,是操作系统的CPU正忙,而导致阻塞状态的原因是内因,是任务自身的问题。 任务状态的四种转换关系: A、运行",阻塞:任务由于等待某个时间被阻塞起来。 B、运行",就绪:调度器由于某种原因( …… 此处隐藏:1897字,全部文档内容请下载后查看。喜欢就下载吧 ……

2011年计算机软件水平考试嵌入式系统设计师辅导笔记(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/594362.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)