嵌入式系统原理与设计 教学课件 ppt 作者 蒋建春 主编 第6章 嵌入式操作系统

上传人:E**** 文档编号:89502225 上传时间:2019-05-26 格式:PPT 页数:44 大小:545.50KB
返回 下载 相关 举报
嵌入式系统原理与设计 教学课件 ppt 作者 蒋建春 主编 第6章 嵌入式操作系统_第1页
第1页 / 共44页
嵌入式系统原理与设计 教学课件 ppt 作者 蒋建春 主编 第6章 嵌入式操作系统_第2页
第2页 / 共44页
嵌入式系统原理与设计 教学课件 ppt 作者 蒋建春 主编 第6章 嵌入式操作系统_第3页
第3页 / 共44页
嵌入式系统原理与设计 教学课件 ppt 作者 蒋建春 主编 第6章 嵌入式操作系统_第4页
第4页 / 共44页
嵌入式系统原理与设计 教学课件 ppt 作者 蒋建春 主编 第6章 嵌入式操作系统_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《嵌入式系统原理与设计 教学课件 ppt 作者 蒋建春 主编 第6章 嵌入式操作系统》由会员分享,可在线阅读,更多相关《嵌入式系统原理与设计 教学课件 ppt 作者 蒋建春 主编 第6章 嵌入式操作系统(44页珍藏版)》请在金锄头文库上搜索。

1、嵌入式系统原理与设计 第六讲 嵌入式操作系统,本节提要,1,2,3,操作系统概念和结构,嵌入式操作系统及特点,任务同步与通信通信,6.1.1操作系统的基本概念,1操作系统的定义 操作系统有效的组织和管理计算机系统的各种软件、硬件资源,合理的组织计算机系统的工作流程,控制程序的执行,并向用户提供一个良好的工作环境和友好的接口。 (1)操作系统是计算机系统的资源管理者 (2)改善人机界面,为用户提供友好的工作环境 对计算机系统而言,操作系统是对所有系统资源进行管理的程序集合,对用户而言,操作系统提供了对系统资源进行有效利用的简单抽象方法。,2. 操作系统的结构 驱动程序 内核 接口库 外围,图6-

2、1 操作系统结构,6.1.2 操作系统主要功能,操作系统的五大管理功能:进程管理、文件管理、存储管理、设备管理和作业管理。 1进程与CPU管理 操作系统对进程的管理包含如下几个方面: (1)进程控制 创建任务、撤销任务以及控制任务在运行过程中的状态转换。 (2)任务调度 从任务就绪队列中,按照一定的算法选择一个任务,使其得到CPU控制权,开始运行。在任务完成后,放弃CPU。 (3)任务同步 设置任务同步机制,协调各任务的运行。 (4)任务通信 提供任务间通信的各种机制。,2 存储器管理,存储器管理的主要任务是为多任务的运行提供高效稳定的运行环境。一般包含: (1)地址重定位 在多任务环境下,每

3、个任务动态创建,任务的逻辑地址必须转换为主存的物理地址。 (2)内存分配 为每个任务分配内存空间,使用完毕后收回分配的内存。 (3)内存保护 保证每个任务都在自己的内存空间内运行,各程序互不侵犯,尤其是保护操作系统占用的内存空间。 (4)存储器扩展 通过建立虚拟存储系统来对主存容量进行逻辑扩展。虚拟存储器允许程序以逻辑方式寻址,而不用考虑物理内存的大小。当一个程序运行时,只有部分程序和数据保存在内存中,其余部分存储在介质上。,3 文件系统,文件系统对用户文件和系统文件进行管理,保证文件的安全性,实现信息的组织、管理、存取和保护。文件管理的主要任务是: (1)目录管理:所有的目录项构成一个目录文

4、件。目录管理为每个任务创建其目录项,并对其进行管理。 (2)文件读写管理:文件系统根据用户的需要,按照文件名查找文件目录,确定文件的存储位置,然后利用文件指针进行读写操作。 (3)文件存取控制:为了防止文件被非法窃取或者破坏,文件系统中需要建立文件访问控制机制,保证数据的安全。 (4)存储空间管理:文件存储管理提高存储空间的利用率,优化文件操作的速度。 常见的文件系统有FAT16,FAT32,NTFS等。,4 设备管理,设备管理的主要目的是屏蔽设备硬件特性、提高设备的利用率。除CPU和内存外,计算机系统的其他硬件都属于外部设备。设备管理主要包括以下几个方面。 (1)缓冲管理 由于CPU与I/O

5、设备的速度相差很大,通常设备管理需要建立I/O缓冲区,并对缓存区进行有效管理。 (2)设备分配 用户提出I/O设备请求后,设备管理程序对设备进行分配,使用完成后收回设备。 (3)设备驱动 设备驱动程序提供CPU与设备控制器间的通信。CPU向设备发出I/O请求,接收设备的中断请求,并能及时的响应。,5 作业管理,操作系统屏蔽了硬件操作的细节,用户通过操作系统提供的接口访问计算机的硬件资源。操作系统提供系统命令一级的接口,供用户用于组织和控制自己的作业运行 (1)命令接口 分为联机命令接口和脱机命令接口。联机命令接口为联机用户提供,由一组命令和解释程序构成。脱机命令为批处理系统的用户提供。 (2)

6、程序接口 用户获得操作系统服务的唯一途径,由一组系统调用组成。在高级语言中如C语言,提供与系统调用一一对应的库函数,应用程序通过调用库函数来完成操作。 (3)图形接口 图形接口提供对屏幕上的对象进行操作,完成程序控制和操作,方便用户对软硬件资源的使用GUI的主要构件是窗口、菜单和对话框。,6.1.3 操作系统的分类,1分时操作系统 分时操作系统将CPU的工作时间划为许多很短的时间片,轮流为各个终端的用户服务。分时系统具有以下儿个基本特征: (1)多路性。一台主机可连接多台终端,多个终端用户可以同时使用计算机,共亨系统的硬软件资源。 (2)独立性。各个用户的操作互不干扰,每一个用户都认为整个计算

7、机系统被他所独占,为他服务。 (3)交互性。用户能与系统进行对话。在一个多步骤作业的运行过程中,用户能通过键盘等设备输入数据或命令,系统获得用户的输入后作出响应,显示执行的状况或结果。 (4)及时性。系统一般能在一秒钟内接受和响应用户的输入命令或数据,在数秒内显示命令的执行结果。,2实时系统 实时操作系统是一种能在限定的时间内对输入进行快速处理并作出响应的计算机处理系统。根据对响应时间限定的严格程度,实时系统又可分为硬实时系统和软实时系统。 硬实时系统主要用于工业生产的过程控制、较大系统的跟踪和控制、武器的制导等响应速度十分快、工作极其安全可靠的场合。 软实时系统主要应用于对响应的速度要求不象

8、硬实时系统那么高,且时限要求也不那么严密的信息咨询和事务处理领域,如情报资料检索、订票系统、银行财务管理系统、信用卡记账取款系统和仓库管理系统等。,3网络操作系统 网络操作系统与分布操作系统不同,不是一个集中、统一的操作系统,它基本上是在各种各样自治的计算机原有操作系统基础上加上具有各种网络访问功能的模块,这些模块使网络上的计算机能方便、有效地共享网络资源,实现各种通信服务的有关协议。 常见的网络操作系统主要有 UNIX、NOVELL、WINDOWS NT、Netware等。,4分布式操作系统 分布式系统是一种多计算机系统,这些计算机可以处于不同的地理位置和拥有不同的软硬件资源,并用通信线路连

9、接起来,具有独立执行任务的能力。分布式系统也便于实现文件、信息和设备的共享。 分布式系统具有一个统一的操作系统,它可以把一个大任务划分成很多可以并行执行的子,并按一定的调度策略将它们动态地分配给各个计算机执行,并控制管理各个计算机的资源分配、运行及计算机之间的通信,以协调任务的并行执行。 分布式操作系统(Distributed Operating System,简称DOS)负责管理分布式处理系统资源和控制分布式程序运行。它和集中式操作系统的区别在于资源管理、进程通信和系统结构等方面。 分布式操作系统有:Amoeba、Mach、Chorus、DEC等,5多处理器操作系统 多处理机操作系统是随着多

10、核处理器而诞生的。 多处理机操作系统一般分为主从式和对称式。 主从式操作系统主要驻留并运行在一台主处理机上,它控制所有的系统资源,将整个任务分解成多个子任务并将子任务分配给其他的从处理机执行,并且它还要协调这些从处理机的运行过程。 对称式系统在每个处理机中部配有操作系统,它管理和控制本地资源和过程的运行。该类系统在一段时间内可以指定一台或几台处理机来执行管理程序,协调所有处理机的运行。 支持多核的桌面操作系统主要有:window xp及以上版本、 Linux2.6以上,本节提要,1,2,3,操作系统概念和结构,嵌入式操作系统及特点,常用任务同步与通信机制,6.2 嵌入式操作系统及特点,在嵌入式

11、系统中,不仅要求在硬件设计方面提高系统的可靠性和抗干扰性,而且也应在软件设计方面提高系统的抗干扰性。 嵌入式操作系统提高了系统的可靠性。 前后台系统软件在遇到强干扰时,程序会产生异常、出错、跑飞,甚至死循环,造成了系统的崩溃。实时操作系统管理的系统中,这种干扰可能只是引起若干进程中的一个被破坏,而且还可以通过系统监控进程对其进行修复。 在嵌入式系统中使用嵌入式操作系统还可以提高开发效率,缩短开发周期。 嵌入式操作系统通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。,6.2.1嵌入式操作系统特点 嵌入式操作系统具有通用操作系统的基本特点,同时在系统实

12、时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。 (1)实时性 实时系统的正确性不仅依赖于逻辑结果的正确性,还依赖于产生结果的时间。实时性是指系统能够在限定的时间内完成任务并对外部的异步事件作出及时响应,描述实时性的基本指标为响应时间。,(2)小内核 嵌入式系统是面向应用的专用计算机,因此硬件资源有限。其内核与通用操作系统的内核相比,嵌入式操作系统的内核较小,通常只有几K到几十K。 (3)可剪裁、可配置 嵌入式操作系统具有完善的功能,对于特定应用不需要的功能模块可以被剪裁掉,比如文件系统。 (4)易移植 可移植性好的操作系统可以缩短系统开发周期、提高代码可重用度

13、、减小维护量,(5)高可靠性 为保证系统的可靠运行,嵌入式操作系统提供了多种机制,如异步信号、定时器、优先级继承、优先级天花板、异常处理、用户扩展和内存保护等。 (6)低功耗 嵌入式系统一般采用电池供电,因此必须尽量降低系统的能耗。为了降低系统的能耗需要从各个方面采取措施,包括硬件的低功耗设计、软件的低功耗设计、操作系统的低功耗设计等。,影响操作系统移植性的因素有3个方面: (1)编程语言 高级语言实现的代码比汇编语言实现的代码具有更好的移植性。但是,在嵌入式操作系统中汇编语言的使用是必不可少的。 (2)体系结构 按照分层结构建立的内核具有良好的可移植性,因为内核的移植主要集中在硬件相关层。

14、(3)代码实现 把不可移植的代码和汇编代码通过宏定义和函数的形式,分类保存在几个文件中。内核直接调用的是函数或者宏。在移植过程中只需要对上述文件进行修改。,6.2.2 嵌入式实时操作系统基本概念,1 多任务 在日常生活中,任务是指通过一定的努力,达到特定的目的;在嵌入式实时操作系统中,任务通常为进程和线程的统称,是内核调度的基本单元。 任务主要包含如下的几个方面: 代码 一段可执行的程序。 数据 程序运行的相关数据,如变量、工作空间、缓存区等。 堆栈 保存程序运行参数和寄存器内容的一段连续内存空间。 上下文环境 内核管理任务及处理器执行任务所需要的信息,如优先级,任务状态,处理器寄存器的内容。

15、,在多任务环境下,各个任务被内核进行切换,在不同的状态间进行转换,如图6-2所示。最常见的是将任务的运行划分为4种状态。 休眠(DORMANT):指任务驻留在存储空间内,还没有被操作系统激活; 就绪(READY):任务运行的条件已经满足,进入任务等待列表,通过调度进入运行。 挂起或等待(WAITING):任务被阻塞,等待事件的发生。 运行(RUNNING):任务获得CPU使用权,执行相应的代码。,2 优先级,在一个嵌入式系统中每个任务被赋予一个优先级,任何两个任务的优先级都不相同。任务的优先级可以分为动态优先级和静态优先级两种类型。静态优先级是指一个任务的优先级在任务运行的过程中保持不变。动态

16、优先级是指内核可能根据系统运行的情况动态的改变任务的优先级。,3 调度,调度是指CPU决定当前处于就绪状态的任务列表中的任务,哪个得到CPU的使用权。多数实时内核都是基于优先级的调度算法。 基于优先级调度的内核有占先式内核和非占先式内核两种类型。,4 实时性,严格地说,影响嵌入式操作系统实时性的因素有很多,这里只简单的列举如下几个因素: (1)常用系统调用平均运行时间 (2)任务切换时间 (3)信号量混洗时间 (4)任务响应时间,(1)常用系统调用平均运行时间,常用系统调用平均运行时间,即系统调用效率,是指内核执行常用的系统函数调用,如创建/删除任务、创建/释放信号量/邮箱/队列、分配/释放内存空间、加载卸载中断处理模块等所需的平均时间。由于系统调用的情景和参数的差别,系统调用的时间每次执行都不相同,只能取平均值。,(2)任务切换时间,任务切换时间是指事件引发切换后,从当前任务停止运行、保存运行状态(CPU寄存器内容),到装入下一个将要运行的任务状态、开始运行的时间间隔,(3)信号量混洗时间,信号量混洗时间指从一个任务释放信号

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号