网站大量收购闲置独家精品文档,联系QQ:2885784924

《嵌入式操作系统》第2章 嵌入式操作系统中的基本概念.ppt

《嵌入式操作系统》第2章 嵌入式操作系统中的基本概念.ppt

  1. 1、本文档共114页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 嵌入式操作系统中的基本概念 本章主要讲述: 前后台系统 调度 临界区 进程与线程 任务与多任务 任务切换 可剥夺与不可剥夺 2.1 前后台系统 2.2 调度 调度是内核的主要职责之一,为任务分配资源和时间,决定任务运行的次序,从而使系统满足特定的性能要求。 基本的调度算法有 先来先服务FCFS 最短周期优先SBF 优先级法Priority 轮转法(Round-Robin)等。 调度的基本方式有 可剥夺型(占先式) 不可剥夺型(非占先式) 多数实时内核是基于优先级调度的多种方法的复合。 2.3 临界段 嵌入式系统中的资源是指为任务所占用的任何实体,它可以是 硬件设备:如打印机、键盘、显示器、I/O端口、RAM、ROM、中断源和时钟等 也可以是软件:如变量、结构和数组等。 共享资源是指被两个或者更多任务所使用的资源。 任何时候都只允许一个任务访问的资源称为临界资源,用于访问临界资源的代码段称为临界区或临界段 临界段代码不允许多个并发任务交叉执行,否则会产生严重后果,比如进入中断后的现场保护代码等。 为确保临界区代码的安全执行,在进入临界区之前要关中断,而临界区代码执行完以后要立即开中断。 2.4 进程与线程 2.4.1 进程的概念 背景:多道程序、并发执行 1960年代中期的MULTICS系统的设计者和以E.W.Dijkstra为首的T.H.E系统的设计者广泛地使用“进程”(process)这一术语来描述系统和用户的程序活动 IBM公司的CTSS/360系统使用了另一术语——“任务”(task) 两者意义相同。 2.4.1 进程的概念 进程是操作系统中最基本、最重要的概念,但目前还没有出现一个十分确切、令人满意的统一定义。如下是几种常见的定义: (1)E.W.Dijkstra定义为:行为的一个规则叫做程序,程序在处理器上执行时所发生的活动叫做进程; (2)Madnick和Donovan定义为:进程是可以与其它进程并发执行的计算部分; (3)J.H.Saltzer定义为:一个进程是由伪处理机执行的一个程序。 进程是操作系统中可以独立运行的单位,通常由三部分组成,即:(1)程序;(2)数据集合;(3)进程控制块。 进程具有两种属性,即: (1)是一个可拥有资源的独立单位; (2)是一个可以独立调度和分配的基本单位。 正是因为同时具备这两个基本属性,进程才成为能够独立运行的基本单位,从而构成进程并发执行的基础。 2.4.2 线程的基本概念 提出的背景: 人们逐步发现进程拥有较多的资源 在创建、撤销和切换的过程中,系统为之付出的开销还是很大 进程这一概念已经不能满足高效率地使用系统资源的需求了。 在最大限度地减小系统开销的前提下,如何使多个程序更好地并发执行,已经成为操作系统所追求的重要目标。 2.4.2 线程的基本概念 于是,人们想到将进程的两个属性分离开来,由操作系统分别处理 使具有调度和分配属性的基本单元不再拥有独立的资源,使之轻装运行 使拥有独立资源的基本单位,又不频繁地进行切换。 在这种思想的指导下,1980年代中期,提出了比进程更小的独立运行单位——线程的概念。 近年来,线程的概念已广为应用,不仅在大量操作系统中被引用,而且在部分数据库和应用软件中,也引入了这一概念以期改善系统性能。 2.4.2 线程的基本概念 线程是进程中的一个实体,是CPU调度和分配的基本单位,它基本上不拥有资源,只拥有维持运行的最少资源(如寄存器、堆栈、程序计数器等)。 进程可以独立运行,同一进程可以拥有多个线程,每个线程都可以共享同一进程中的所有资源,线程可以在进程中并发执行,但不能脱离进程独立运行。线程具有许多进程所具有的特征,所以又称为轻量级进程(Light-Weight Process)或进程元。 2.5 任务与多任务 任务在不同的应用领域具有不尽相同的意义,它即可以是一个独立装载的程序,也可以是全部程序中的一段。 在实时操作系统中,有时会用线程或者进程来替代任务。 进程是一个完全独立的程序,有自己的地址空间; 线程一般定义为具有特定目的的半独立程序段,是进程中的一个子程序,所有线程共用相同进程地址空间,合并起来构成一个完整的应用程序。 线程管理的开销是很小的。大多数嵌入式系统不具备担负面向进程操作系统的内存开销,小的微处理器也不具备支持面向进程操作系统的硬件结构。 基于上述原因,绝大多数嵌入式实时操作系统的任务都采用了线程模式。 多任务是指用户可以在同一时间内运行多个应用程序,每个应用程序就是一个任务。 对于单CPU系统来说,由于CPU不能在同一时刻运行多个程序,所以多任务只是在宏观上看起来像是并发运行,而在微观上各个任务还是串联执行的。 2.5 任务与多任务 多任务的并发执行通常依赖于一个多任务

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档