当前位置: 首页 > news >正文

太原网站制作推广管理咨询公司起名

太原网站制作推广,管理咨询公司起名,图片设计网站有哪些,怎么查网站死链目录 3、任务管理 #xff08;1#xff09;嵌入式操作系统的任务管理可以分为 #xff08;2#xff09;进程 #xff08;3#xff09;线程 #xff08;4#xff09;任务 #xff08;5#xff09;任务的创建与中止 #xff08;6#xff09;任务的状态任务有三… 目录 3、任务管理 1嵌入式操作系统的任务管理可以分为 2进程 3线程 4任务 5任务的创建与中止 6任务的状态任务有三中基本状态 7任务控制块 TCB 8任务的切换 9任务的调度 10实时系统调度 11任务互斥 12信号量 13任务同步 14死锁 15信号 16任务间通信 嵌入式系统设计师考试笔记之操作系统基础复习笔记一 嵌入式系统设计师考试笔记之操作系统基础复习笔记一-CSDN博客 3、任务管理 1嵌入式操作系统的任务管理可以分为 A、单道程序技术操作系统中任何时候只能有一个程序在运行。 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任务的创建与中止 任务的创建主要发生在以下三种情形 A、 系统初始化。 B、 任务运行的过程中。 C、 用户提出请求。 从技术的角度来说实际上新任务只有一种创建的方法也就是在一个已经存在的任务中通过调用相应的系统函数来创建一个新的任务。 任务的创建只要有两种可能的实现模型fork/exec和 spawn。两种模型的差别主要在于内存的分配方式。 A、fork/exec模型下首先调用fork函数为新任务创建一份与父任务完全相同的内存空间然后再调用exec函数装入新任务的代码并用它来覆盖原有的属于父任务的内容。嵌入式Linux操作系统是基于fork/exec模型的。 B、spawn模式下在创建新任务的时候直接为它分配一个全新的地址空间然后将新任务的代码装入并运行。uCOS操作系统是基于 spawn模型的。 任务的中止可能有多种原因主要有下面三种情况 A、 正常退出。 B、 错误推出。 C、 被其他任务踢出。 在有些嵌入式系统中尤其是一些控制系统中它的某些任务被设计为“死循环”的模式一直循环下去不会中止。 6任务的状态任务有三中基本状态 A、 运行状态任务占有 CPU并在CPU上运行。 B、 就绪状态任务已经具备运行的条件在等待 CPU空闲。 C、 阻塞状态任务因为正在等待某种事件的发生而暂时不能运行。 对于就绪状态和阻塞状态它们的相同之处在于任务都是处于暂停状态没有运行。不同之处在于暂停的原因是不一样的导致就绪状态的原因是外因是操作系统的CPU正忙而导致阻塞状态的原因是内因是任务自身的问题。 任务状态的四种转换关系 A、 运行à阻塞任务由于等待某个时间被阻塞起来。 B、 运行à就绪调度器由于某种原因例如优先级选择了另一个任务去运行。 C、 就绪à运行CPU空闲了处于就绪状态的任务被调度器选中去运行。 D、阻塞à就绪任务的等待事件完成具备了继续运行的条件。 7任务控制块 TCB 任务控制块 TCB就是在操作系统中用来描述和管理一个任务的数据结构。系统为每一个任务都维护了一个相应的TCB用来保存该任务的各种相关信息。它的主要内容包括下面几项 A、 任务的管理信息任务的标识 ID、状态、优先级、调度信息、各种队列指针等。 B、 CPU 上下文信息CPU各种寄存器当前的值以及逻辑寄存器。 C、 资源管理的信息段表地址、页表地址、根目录、文件描述字等。 当需要创建一个任务的时候就为它生成一个 TCB并初始化这个 TCB的内容当需要中止一个任务的时候只要回收它的TCB就可以了。 8任务的切换 基本思想把当前任务的运行上下文保存起来并恢复新任务的上下文。 任务切换通常有下面的基本步骤 A、 将处理器的运行上下文保存在当前任务的 TCB中。 B、 更新当前任务的状态从运行状态变为就绪状态或阻塞状态。 C、 按照一定的策略从所有处于就绪状态的任务中选择一个去运行。 D、修改新任务的状态从就绪状态变成运行状态。 E、 根据新任务的 TCB的内容恢复它的运行上下文环境。 在一个多任务的操作系统中采用任务队列的方式来组织它的所有任务。由操作系统来维护一组队列用来表示系统当中所有任务的当前状态不同的状态用不同的队列来标志。 9任务的调度 调度器可以看作CPU 的资源管理者。 任务调度的首要问题是何时进行调度即调度发生的时机。一般有下面几种情形 A、 一个新任务被创建时需要决定运行新任务还是继续执行父任务。 B、 一个任务运行结束时需要从就绪队列中选择某个任务去运行。 C、 一个任务运行阻塞时需要选择另一个任务去运行。 D、一个I/O操作完成任务阻塞结束立即执行新就绪任务还是继续执行被中断任务。 E、 一个时钟节拍结束时需要对就绪任务重新调度。 任务调度的第二个问题是如何调度即调度方式。主要有两种方式 A、 不可抢占调度方式例如时间片轮转。 B、 可抢占调度方式例如优先级调度。 实时操作系统大都采用可抢占调度方式。 任务调度的第三个问题是调度算法。 A、 先来先服务算法按照任务到达的先后次序进行调度是不可抢占的调度方式。 B、 短作业优先算法各个任务开始执行之前事先预计好它的执行时间从中选择用时较短的任务优先执行。 C、 时间片轮转算法所有的就绪任务按照先来先服务的原则排成一个队列。在每次调度的时候把处理器分派给队列当中的第一个任务让它去执行一小段时间。在这个时间段里任务被阻塞或由于其他原因暂停或者任务的时间片用完了它会被送到就绪队列的末尾然后调度器再执行当前队列的第一个任务。这种算法的优点是各个就绪任务都平均地分配使用CPU的时间每个就绪任务都能一直保持着活动性。时间片轮转法有一个默认前提即位于就绪队列中的各个任务是同等重要的。 D、优先级算法给每个任务都设置一个优先级。然后在任务调度的时候在所有处于就绪状态的任务中选择优先级最高的那个任务去运行。采用优先级调度算法的一个问题是可能会发生优先 级反转教程P285出现任务“饥饿”现象。 10实时系统调度 对于RTOS调度器来说任务之间的公平性并不是最重要的它追求的是实时性。 A、单调速率调度算法RMS任务的优先级与它的周期表现为单调函数的关系任务的周期越短优先级越高任务的周期越长优先级越低。RMS假定任务是相同独立的、周期性的、任务在能够在任何位置被抢占而实际中的系统任务之间需要进行通信和同步这是一种理想的调度方法实际中并不一定存在。 B、最早期限优先法EDF根据任务的截止时间来确定其优先级对于时间限期最近的任务分配最高的优先级。当有一个新的任务处于就绪状态时各个任务的优先级就有可能要进行调整选择截止时间最近的任务去运行。 11任务互斥 A、任务之间的关系相互独立、任务互斥、任务同步、任务通信。 B、任务间的互斥当前已经有一个任务正在访问临界区共享数据那么其他任务暂时不能访问。 C、提出互斥访问的四个条件 a、在任何时候最多只能有一个任务位于它的临界区中。 b、不能事先假定 CPU的个数和系统的运行速度。 c、没有任务位于它的临界区中它不妨碍其他任务去访问临界区资源。 d、任何一个任务进入临界区的请求必须在有限的时间内得到满足不能无限期。 D、任务互斥的解决方案 a、关闭中断法 b、繁忙等待法 c、信号量处理 12信号量 信号量记录当前可用资源的数量。 信号量由操作系统维护任务不能直接去修改它的值只能通过初始化和两个标准原语PV原语来对它进行访问。 注关于原语。 原语通常由若干条语句组成用来实现某个特点的操作并通过一段不可分割或不可中断的程序来实现其功能。原语时操作系统内核的一个组成部分必须在内核态下执行。原语的不可中断性是通过在其执行过程中关闭中断来实现的。关键要理解PV 原语的实现 P(semaphores S) {--S.count; //申请一个资源if(S.count 0) //没有空闲资源{将当前任务阻塞起来加到阻塞队列末尾调度新的任务运行。} } V(semaphores S) {S.count; //释放一个资源if(S.count 0) //有任务被阻塞{从阻塞队列中取出一个任务把该任务改为就绪状态插入就绪队列。} } 利用操作系统提供的信号量机制可以方便、有效地实现对临界资源的互斥访问优点有两个 A、 可以设置信号量的计数值从而允许多个任务同时进入临界区。 B、 当一个任务暂时无法进入临界区时它会被阻塞起来将 CPU让给其他任务。 13任务同步 任务之间的同步可以使用信号量机制通过引入PV操作来设定两个任务在运行时的先后顺序。例如可以把信号量视为某个共享资源的当前个数然后由一个任务负责生成这种资源而另一个任务则负责消费这种资源这样可以构成两个任务之间的先后顺序。在具体实现上一般把信号量的初始值设为 NN大于或等于0。然后在一个任务内使用 V原语把信号量加 1而在另外一个任务内部使用P原语将信号量减 1从而实现这两个任务之间的同步关系。 14死锁 在一组任务中每个任务都占用着若干资源同时又在等待其他任务占用的资源从而造成所有任务都无法进展下去的现象这称为死锁现象。 除了资源的竞争之外PV 操作使用不当也会引起死锁。 15信号 所谓信号是系统给任务的一个指示表明某个异步事件已经发生了。 该事件可能来自外部也可能来自内部。 信号机制也可以称为软中断机制。 信号机制与中断处理机制非常相似相同点 A、 都具有中断性。 B、 都有相应的服务程序。 C、 都可以屏蔽响应。 不同点 A、 中断由硬件或特定指令产生而信号由系统调用产生。 B、 中断触发后硬件会根据中断向量找到相应的处理程序执行而信号则通过发送信号的系统调用来触发系统不一定马上对它进行处理。 C、 中断处理程序在系统内核的上下文中运行是全局的而信号处理程序在相关任务的上下文中运行是任务的一个组成部分。 16任务间通信 任务之间的通信可以分为两种类型 A、 低级通信只能传递状态和整数值等控制信息例如信号量机制。 B、 高级通信能够传输任意数量的数据只要有三类共享内存、消息传递和管道。 任务之间的通信方式有两种 A、 直接通信通信双方必须明确知道与之通信的对象。例如PV 原语。 B、 间接通信通信双方不需指出消息的来源和去向通过共享邮箱发送和接收消息。 邮箱只能存放单条消息它提供一种低开销的消息传递机制只有空和满两种状态。消息队列与邮箱类似但是可以同时存放若干条消息提供了一种任务间缓冲通信的方法。 管道由UNIX首创以文件系统为基础连接两个任务之间的一个打开的共享文件专用于任务直接的数据通信。
http://www.sadfv.cn/news/222713/

相关文章:

  • 网站的建设费计入什么科目北京网站建设公司
  • 公众号微网站制作静态网站如何添加关键词
  • 穹拓做网站织梦园模板网站
  • 关于建设 网站的请示电子公章在线制作网站
  • 网站建设seo推广贵州建设厅考试网站二建成绩
  • 优化公司排名企业网站seo点击软件
  • 潍坊建设公司网站济南网站建设富库网络
  • 网站建设客户资源小程序在建网站吗
  • 在线考试类网站怎么做国内哪里在搞建设
  • 专注合肥网站推广千万不要去做房地产销售
  • 无锡网站建设 微信品牌设计公司深圳
  • 工作期间员工花钱做的网站百度推广怎么做
  • 国家建设人才网站厦门市建设局局长
  • 学校网站设计思路长沙营销型网站制作
  • 企网站建设怎做连接网站
  • 如何做招聘网站效果分析如何买网站
  • 企业网站策划方案站长seo综合查询
  • 天津网站seo营销模板wordpress主题中文主题下载
  • 自助建站模板dede 购物网站
  • 专业零基础网站建设教学公司安徽淮南网
  • 网站建设中中文模板下载大连开发区邮编
  • 社区网站建设费用1020美金等于多少欧元
  • dede网站地图模板下载机械网站建设公司
  • 投资理财产品的网站建设软件搭建平台
  • 电子商务网站有哪些企业网站 哪个cms好
  • 加盟产品网站建设方案上海广告投放公司
  • 营销型网站建设市场分析做网站有必要吗
  • 金融网站排名优化网站建设开源
  • 做电商网站商标赣州seo外包
  • 网站开发协义购物网站哪个最好