嵌入式实时操作系统第1章概述-wax_第1页
嵌入式实时操作系统第1章概述-wax_第2页
嵌入式实时操作系统第1章概述-wax_第3页
嵌入式实时操作系统第1章概述-wax_第4页
嵌入式实时操作系统第1章概述-wax_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

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

文档简介

1、王爱侠W2013年3月Some questions for you Questions List: Whats topic of this lesson? Whats an “Embedded Operation Syetem” ? (Definition) Give some examples or instance ? (such as .) Why would you sit inside and learn this class ? 以下软件哪些是操作系统? UNIX, Word, DOS,JAVA,Windows , Linux内 容l 嵌入式操作系统概述嵌入式操作系统概述l 进程管

2、理进程管理l 同步与互斥同步与互斥l 调度调度lSmall RTOSSmall RTOS任务管理任务管理lSmall RTOSSmall RTOS同步与互斥同步与互斥lSmall RTOSSmall RTOS时间管理时间管理lSmall RTOSSmall RTOS应用应用参考文献汤子瀛,计算机操作系统汤子瀛,计算机操作系统. .西安电子科技大学出版社西安电子科技大学出版社. .陈向群等译陈向群等译, ,操作系统:精髓与设计原理操作系统:精髓与设计原理. .机械工业出版社机械工业出版社. .罗蕾,嵌入式实时操作系统及应用开发罗蕾,嵌入式实时操作系统及应用开发. .北京航空航天大学北京航空航天大

3、学出版社出版社. .陈明计等陈明计等. .嵌入式实时操作系统嵌入式实时操作系统Small RTOS51Small RTOS51原理及应用原理及应用. .北北京航空航天大学出版社京航空航天大学出版社. . 唐寅等,实时操作系统唐寅等,实时操作系统应用开发应用开发. .中国电力出版社中国电力出版社. .王鹏等译,操作系统:设计与实现王鹏等译,操作系统:设计与实现. .电子工业出版社电子工业出版社. .嵌入式实时操作系统概述 1.1 操作系统的概念 1.2 操作系统的主要功能 1.3 操作系统的发展历程 1.4 操作系统的类型 1.5 操作系统的特征 1.6 操作系统的结构 1.7嵌入式操作系统的基

4、本概念 1.8嵌入式操作系统与通用操作系统的比较1.9主要嵌入式操作系统简介习题 图1 计算机系统组成 计算机硬件操作系统 语言编译程序、连接装配程序、数据库管理系统、网络软件等系统软件 管理信息系统、飞机订票系统、银行系统、地理信息系统、CAD系统、数学计算软件包等 测试工具、编辑工具、项目管理工具、DFD编辑器、语言转换工具、界面测试工具等应用软件支撑软件用户用户用户用户 操作系统的概念 操作系统是软硬件资源的控制中心,它以尽量合理有效的方法组织多个用户共享计算机的各种资源。 目的是提供一台功能强大的虚拟机,给用户一个方便、有效、安全的工作环境。 1.1 操作系统的概念1.1 操作系统的概

5、念 为了深入理解操作系统的定义, 我们应注意以下几点: (1) 操作系统是系统软件, 而且是裸机之上的第一层软件。 (2) 操作系统的基本职能是控制和管理系统内的各种资源, 有效地组织多道程序的运行。 作为“管理者”, 操作系统主要负责如下事情: 监视各种资源并随时记录它们的状态; 实施某种策略以决定谁获得资源, 何时获得, 获得多少; 分配资源供需求者使用; 回收资源, 以便再分配。 (3) 设置操作系统的另一个目的是扩充机器功能以方便用户使用。 计算机系统的基本资源包括硬件(如处理机、 内存、 各种设备等)、 软件(系统软件和应用软件)和数据。 1.2 操作系统的主要功能 1. 存储器管理

6、功能 存储器管理的主要功能包括: 内存分配、 地址映射、 内存保护和内存扩充。 1) 内存分配 内存分配的主要任务是为每道程序分配一定的内存空间。 2) 地址映射 大家都有这种经历: 我们在编写程序时并不考虑程序和数据要放在内存的什么位置, 程序中设置变量、 数组和函数等只是为了实现这个程序所要完成的任务。 3) 内存保护 不同用户的程序都放在一个内存中, 必须保证它们在各自的内存空间中活动, 不能相互干扰, 更不能侵犯操作系统的空间。 4) 内存扩充 一个系统中内存容量是有限的, 不能随意扩充其大小。 而且用户程序对内存的需求越来越大, 很难完全满足用户的要求。 2. 处理机管理功能 (1)

7、 作业和进程调度。 一个作业通常要经过两级调度才得以在CPU上执行。 (2) 进程控制。 进程是系统中活动的实体。 (3) 进程通信。 多个进程在活动过程中彼此间会发生相互依赖或者相互制约的关系。 3. 设备管理功能 设备管理的主要功能包括: 缓冲区管理、 设备分配、 设备驱动和设备无关性。 (1) 缓冲区管理。 缓冲区管理的目的是解决CPU和外设速度不匹配的矛盾, 从而使它们能充分并行工作, 提高各自的利用率。 (2) 设备分配。 根据用户的I/O请求和相应的分配策略, 为该用户分配外部设备以及通道、 控制器等。 (3) 设备驱动。 实现CPU与通道和外设之间的通信。 由CPU向通道发出IO

8、指令, 后者驱动相应设备进行IO操作。 当IO任务完成后, 通道向CPU发中断信号, 由相应的中断处理程序进行处理。 (4) 设备无关性。 又称设备独立性, 即用户编写的程序与实际使用的物理设备无关, 由操作系统把用户程序中使用的逻辑设备映射到物理设备中。 4. 文件管理功能 文件管理功能应包括: 文件存储空间的管理、 文件操作的一般管理、 目录管理、 文件的读写管理和存取控制。 (1) 文件存储空间的管理。 系统文件和用户文件都要放在磁盘上。 (2) 文件操作的一般管理。 包括文件的创建、 删除、 打开、 关闭等。(3) 目录管理。 包括目录文件的组织、 实现用户对文件的“按名存取”, 以及

9、目录的快速查询和文件共享等。(4) 文件的读写管理和存取控制。 5. 用户接口 现代操作系统通常向用户提供三种类型的界面: 程序界面(系统调用)、 命令界面和图形界面。 1) 系统调用 系统调用是操作系统提供给编程人员的接口, 因而也称为程序员界面。 从操作系统内部实现的层次结构上看, 系统调用处于核心的最高层, 离用户层最近。 如图所示。 图 操作系统的三种界面 硬件操作系统核心shell层应用层图形界面命令界面程序界面(系统调用) 2) 命令界面 操作系统所提供的最重要的系统程序是命令解释程序, 它是最初启动作业(进程)或用户刚进入分时系统时就正在系统中运行的那个程序。 在批处理系统中,

10、利用控制卡片向操作系统提出命令; 而在交互式系统中, 用户直接在终端上输入命令, 这些命令就起与控制卡同样的作用。 3) 图形界面 系统调用和命令方式给用户提供的是一维空间界面, 是最基本的用户界面, 也称为第一代用户界面。 以微软Windows操作系统为代表给用户提供了图形界面, 这是在二维空间中动态活动的窗口。 图形界面为用户提供了方便、 直观、 灵活、 有动感的工作环境。用户利用鼠标、 窗口、 菜单、 图标、 流动条等图形工具和部件与系统会话, 使人机交互水平上升了一个台阶。 所以, 图形界面也称为第二代用户界面。1.3 操作系统的发展历程 1.3.1 手工操作阶段 初级人机交互方式。

11、这种使用方法具有以下特点: (1) 资源独占, 即计算机的全部硬件资源(如CPU、 内存、 设备等)都由一个程序独自占用; 手工操作:世界上第一台计算机操作图 第一代计算机的控制关系 主 机输入设备控制台打印机操作员 (2) 串行工作, 人的操作与计算机的运行以及计算机各个部件之间都是按时间先后顺序工作的: (3) 人工干预, 计算机是在人的直接联机干预下进行工作的。 上述控制关系如图1-5所示。 1.3.2 早期批处理阶段 1. 早期联机批处理 在这种系统中, 操作员有选择地把若干作业合为一批, 监督程序先把这批作业从输入设备上逐个地传送到磁带上, 当输入完成, 监督程序就开始执行这批作业。

12、 2. 早期脱机批处理 早期脱机批处理的明显特征是, 在主机之外另设一台小型卫星机, 该机只与外部设备打交道, 不与主机直接连接, 从而使主机腾出较多的时间专门完成快速的计算任务。 其结构模型如图1-6听示。 图 早期脱机批处理模型 卫星机读卡机打印机输入带输出带主 机执行带系统带输出结果调入作业 1.3.3 执行系统阶段 受IO中断的启发, 人们又引进了其他中断, 如程序中断(算术溢出或非法指令等)、 时钟中断等, 从而克服了以往的出错停机、 程序死循环的毛病。 通道和中断机构的引进使外部设备的管理更加复杂, 因而在系统中增加了中断处理程序和输入输出控制程序(IOCS)。 IOCS对所有程序

13、都起着指挥和控制的作用, 因此一般让它们常驻内存, 而让另外一些系统处理程序放在外存中以供调用。 1.3.4 多道程序系统阶段 多道程序设计的基本思想是在内存里同时存放若干道程序, 它们可以并行地运行, 也可以交替地运行。 这样处理机得到了比较充分的利用。 下图表示了一个具有两道程序的系统中CPU和通道的利用情况。 图 多道程序执行过程示意 ABCPU工作通道工作通道工作作业时间CPU工作 由图可见, 在单CPU的系统中, 这些程序在微观上只能是交替地运行, 但在宏观上(在一段较长时间内)它们可被视为是并行的, 因为在这段时间内各个可执行的程序都向前推进了。 只有在多处理机系统中, 这些并发程

14、序才可以真正并行地执行。 1.4 操作系统的类型 1.4.1 多道成批系统 早期的计算机系统大多是批处理系统。 在这种系统中, 把用户的计算任务按“作业(Job)”进行管理。 所谓作业, 是用户定义的、 由计算机完成的工作单位。 它通常包括一组计算机程序、 文件和对操作系统的控制语句。 逻辑上, 一个作业可由若干有序的步骤组成。 由作业控制语句明确标识的计算机程序的执行过程称为作业步, 一个作业可以指定若干要执行的作业步。 如上面的编译作业步、 装配作业步、 运行作业步、 出错处理作业步等。 多道成批系统的大致工作流程如下: 操作员把用户提交的作业卡片放到读卡机上, 通过SPOOLing输入程

15、序及时把这些作业送入直接存取的后援存储器(如磁盘); 作业调度程序根据系统的当时情况和各后备作业的特点, 按一定的调度原则, 选择一个或几个搭配得当的作业装入内存准备运行; 内存中多个作业交替执行; 当某个作业完成时, 系统把该作业的计算结果交给SPOOLing输出程序准备输出, 并回收该作业的全部资源。 重复上述步骤, 使得各作业一个接一个地流入系统, 经过处理后又挨个地退出系统, 形成一个源源不断的作业流。 图表示了多道成批系统中作业的流程。 图 多道成批系统中作业的流程 作业 1作业 2作业 3OSCPU后备作业磁盘(输入井)完成作业磁盘(输出井)打印机读卡机内存 1.4.2 分时系统

16、1. 分时概念和分时系统的实现方法 所谓分时, 就是对时间共享。 为了提高资源利用率采用了并行操作的技术, 如CPU和通道并行操作、 通道与通道并行操作、 通道与IO设备并行操作, 这些已成为现代计算机系统的基本特征。 与这三种并行操作相应的有三种对内存访问的分时: CPU与通道对内存访问的分时, 通道与通道对CPU和内存的分时, 同一通道中的IO设备对内存和通道的分时等。2. 分时系统的特征和优点分时系统的基本特征可概括为四点: 同时性: 若干用户可同时上机使用计算机系统;交互性: 用户能方便地与系统进行人机对话; (3) 独立性: 系统中各用户可以彼此独立地操作, 互不干扰或破坏;(4)

17、及时性: 用户能在很短时间内得到系统的响应。 分时系统具有的许多优点促使它迅速发展, 其优点主要是: (1) 为用户提供了友好的接口, 即用户能在较短时间内得到响应, 能以对话方式完成对其程序的编写、 调试、 修改、 运行和得到运算结果。 (2) 促进了计算机的普遍应用, 一个分时系统可带多台终端, 可同时为多个远近用户使用, 这给教学和办公自动化提供很大方便。 (3) 便于资源共享和交换信息, 为软件开发和工程设计提供了良好的环境。 1.4.3 实时系统 1. 实时系统的引入 在计算机的某些应用领域内, 要求对实时采样数据进行及时(立即)处理并做出相应的反应, 如果超出限定的时间就可能丢失信

18、息或影响到下一批信息的处理。 (1) 过程控制系统。 (2) 信息查询系统。 (3) 事务处理系统。 实时系统有时也涉及到若干个同时性用户, 但它与分时系统是有区别的: (1) 分时系统提供一种随时可供多个用户使用的、 通用性很强的计算机系统, 用户与系统之间具有较强的交互作用或会话能力; 而实时系统的交互能力相对来说较差。 (2) 分时系统对响应时间的要求是以人们能接受的等待时间为依据的, 其数量级通常规定为秒; 而实时系统对响应时间一般有严格要求, 它是以控制过程或信息处理过程所能接受的延迟来确定的, 可达毫秒数量级。 2. 实时系统的功能 由于实时系统大都带有专用性, 因此随任务要求和使

19、用环境的差异而具有不同的特性和功能。 对于大中型实时系统, 除必须具备存储管理、 处理机管理、 IO设备管理以及文件系统等基本功能外, 还应具备如下特征和功能: (1) 实时时钟管理。 (2) 连续人机对话。 (3) 过载防护。 (4) 高可靠性。 1.4.4 个人机系统 单用户操作系统主要有MS-DOS、 OS2、 Windows 95等。 这类系统具有如下特征: (1) 个人使用。 (2) 界面友好。 (3) 管理方便。 (4) 适于普及。 1.4.5 网络操作系统 计算机网络具有如下特征: (1) 分布性。 (2) 自治性。 (3) 互连性。 (4) 可见性。 1.4.6 分布式操作系统

20、 分布式系统具有如下特征: (1) 分布式处理。 (2) 模块化结构。 (3) 利用信息通信。 (4) 实施整体控制。 分布式操作系统所涉及的问题远远多于以往的操作系统。 归纳起来它应具有以下特点: (1) 透明性。 (2) 灵活性。 (3) 可靠性。 (4) 高性能。 (5) 可扩充性。 1.5 操作系统的特征 1. 并发 并发是指两个或多个活动在同一给定的时间间隔中进行。 2. 共享 共享是指计算机系统中的资源被多个任务所共用。 3. 不确定性 在多道程序环境下, 各程序的执行过程有着“走走停停”的性质。 1.6 操作系统的结构 1.6.1 单块结构 单块结构是最常用的体系结构。 这种结构

21、其实是没有结构的, 完全是面向过程的、 无序的。 特点:提供机器的两种运行模式: 用户态(运行用户程序)和核心态(运行操作系统)。 1.6.2 层次结构 按照功能和相互依存关系, 把系统中的模块分为若干层, 其中任一层模块(除底层外)都建立在它下面一层的基础上, 因而, 任一层模块只能调用比它低的层来得到服务, 不能调用比它高的层。 第一个例子:THE系统(1968年),结构 如图所示。THE层次结构图 UNIX S_5系统核心框图进程通信调 度内存管理进程控制系统字符设备块设备设备 驱动缓冲区管理硬 件 控 制核心层硬件层硬 件文件系统系统调用接口用户层核心层程 序 库trap用户程序 典型

22、例子:UNIX系统,结构 如图所示。 1.6.3 虚拟机 IBM的VM/370系统是虚拟机(Virtual Machines)的一个实例, 该系统原来叫做CP/CMS(控制程序/会话监督系统)。 图 带CMS的VM/370结构 370 硬 件CMSCMSCMSVM/370在此捕获发出I/O指令执行系统调用陷入虚拟370机 1.6.4 客户/服务器模型 用户进程(现在称为客户进程)为了请求一个服务(如读取一块文件), 要向服务器进程发送请求, 后者接收该请求, 进行工作, 然后发回结果。 图 示出了这种模型。 图 客户/服务器模型 客户进程 客户进程进程服务器终端服务器文件服务器内存服务器核心用

23、户态核心态通过发送消息到服务器进程客户得到服务 1.7 -why RTOS 数据采集终端:采集,处理,键盘, LCD显示,打印数据采集处理数据处理键盘显示打印传统编程中断中断RTOS数据采集处理数据显示打印处理键盘中断基于RTOS编程实时操作系统的概念实时系统:系统的正确运行要同时满足特定的逻辑和时间关系。实时操作系统RTOS(real time operation system):是指能支持实时控制系统工作的操作系统 硬实时(hard)与软实时(soft) 硬实时:通过系统特定的时序得不到满足,将会引起灾难性的后果。 软实时:通过系统特定的时序得不到满足,系统的性能会严重下降。deadlin

24、etime01Hard SystemSoft System嵌入式操作系统 嵌入式操作系统:支持嵌入式系统的工作的操作系统。嵌入式系统一般具有实时特点,这里把嵌入式操作系统和实时操作系统不加区别对待。嵌入式实时操作系统的结构EOS特点 更好的硬件适应性,也就是良好的移植性; 占有更少的硬件资源; 高可靠性; 提供强大的网络功能,支持TCPIP协议及其他协议; 友好的GUI; 有些应用要求EOS具有实时性能。 嵌入式操作系统的几个主要概念 任务任务 Task 调度调度 Scheduler 优先级优先级 Priority 代码临界区代码临界区 Critical Section 可预测性可预测性 pr

25、edictability 上下文切换上下文切换 Context Switch 任务任务 Task 指拥有所有CPU资源的简单程序。 在进行实时应用设计时通常要把工作分割成多个任务,每个任务处理一部分问题,并被赋予一定的优先级、一套自己的CPU寄存器及堆栈。 实时系统中的大部分任务是周期的,体现在编程上每个任务则是一个典型的无限循环。 任务的状态:睡眠、就绪、运行、延迟、等待 任务:example手持数据采集终端的打印creatTASK(myprintf, priority) void myprintf( ) for (;) 等待接收队列信息; 往打印机发送打印信息; 内核(kernel) 多任

26、务系统的一部分,负责管理任务。 占先式(preemptive)与非占先式 微内核(Micro kernel)与单内核(monolithic kernel)如QNX的微内核(12KB)仅提供四种服务:进程调度、进程间通信、底层网络通信和中断。其余OS服务都实现为协作的用户进程。调度调度 Scheduler 内核的主要职责之一,决定任务运行的次序。 基本的调度算法有先来先服务FCFS,最短周期优先SBF,优先级法(Priority),轮转法(Round-Robin),多级队列法(multi-level queues),多级反馈队列(multi-level feedback queues)等。 调度

27、的基本方式有可占先式和非占先式。 多数实时内核是基于优先级调度的多种方法的复合。 代码临界区代码临界区(Critical Section) 指一段不可分割的代码,一旦执行,不能被中断。 实现代码临界区的方法有:一是屏蔽中断,通常在代码执行前关闭中断,执行后打开中断,只能用于单处理机的情形;二是通过信号量机制。互斥(mutual exclusion) 资源的使用必须独占,叫做互斥。 解决办法:开关中断,使用硬件指令,使用信号量任务间通信(inter task com) 在多任务系统中,任务之间存在相互制约的关系,或者任务之间需要交换信息,称为任务间通信。 方式:信号量,邮箱,队列,事件标记等。

28、可预测性可预测性(predictability) 指在系统运行的任何时刻、任何情况下,实时操作系统的资源调配策略都能为争夺资源(包括CPU、内存、网络带宽等)的多个实时任务合理地分配资源,使各实时任务的实时性要求都能得到满足。 简单说:操作系统的行为是可知的。好的实时操作系统需要具备以下功能: 任务管理(多任务和基于优先级的任务调度) 具备消除优先级倒置的机制 任务间同步和通信 实时时钟服务 中断管理服务 操作系统的行为是可知的和可预测的评价实时操作系统几个重要指标 系统响应时间(System response time ):是指系统发出处理要求到系统给出应答信号的时间。 任务切换时间(Con

29、text-switching time):是指任务之间切换使用的时间。 中断延迟(Interrupt latency ):是指计算机接收到中断信号到操作系统做出响应,并完成切换转入中断服务程序的时间。 1.8 实时操作系统与通用操作系统的区别 设计目标:通用操作系统的目标是追求最大的吞吐率、使整体性能最佳;而实时操作系统设计的目标是采用各种算法和策略,始终保证系统行为的可预测性。 调度原则:通用操作系统为了达到最佳整体性能,其调度原则是公平为主;而实时系统多采用基于优先级的调度策略。 实时操作系统与通用操作系统的区别(2)内存管理:通用操作系统广泛使用了虚拟内存的技术,为用户提供一个功能强大的

30、虚拟机;实时系统一般采用静态内存划分的方式,为每个实时任务划分固定的内存区域。实时操作系统与通用操作系统的区别(3) 中断处理:在通用操作系统中,大部分外部中断都是开启的,中断处理一般由设备驱动程序来完成。由于通用操作系统中的用户进程一般都没有实时性要求,而中断处理程序直接跟硬件设备交互。实时操作系统中中断处理方式为:除时钟中断外,屏蔽所有其它中断,中断处理程序变为周期性的轮询操作,这些操作由核心态的设备驱动程序或由用户态的设备支持库来完成。采用这种方式的主要好处是充分保证了系统的可预测性 实时操作系统与通用操作系统的区别(4)系统调用以及系统内部操作的时间开销:进程通过系统调用得到操作系统提供的服务,操作系统通过内部操作(如上下文切换等)来完成一些内部管理工作。为保证系统的可预测性,实时操作系统中的所有系统调用以及系统内部操作的时间开销都应是有界的,并且该界限是一个具体的量化数值。而在通用操作系统中对这些时间开销则未做如此限制。嵌入式操作系统的发展历程初期阶段 实质是一种实时的监控程序 第二阶段 专用系统 (80年代初,VRT

温馨提示

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

评论

0/150

提交评论