打印
[信息]

嵌入式操作系统基础知识总结

[复制链接]
楼主: junpeng324
手机看帖
扫描二维码
随时随地手机跟帖
21
liaozuwu| | 2018-6-15 11:39 | 只看该作者 回帖奖励 |倒序浏览
初学者学习一下

使用特权

评论回复
22
一路向北lm| | 2018-6-17 12:32 | 只看该作者
不错的,适合初学者,操作系统要好好学习一下。

使用特权

评论回复
23
junpeng324|  楼主 | 2018-6-17 20:08 | 只看该作者
一路向北lm 发表于 2018-6-17 12:32
不错的,适合初学者,操作系统要好好学习一下。

感谢支持,继续分享。

使用特权

评论回复
24
junpeng324|  楼主 | 2018-6-17 20:09 | 只看该作者

感谢支持,会继续努力的。

使用特权

评论回复
25
junpeng324|  楼主 | 2018-6-17 20:11 | 只看该作者
时间片调度算法
时间片调度算法指的是操作系统先让某个任务运行一个时间片(多个时钟节拍),然后再
切换给另一个任务。这种算法保证每个任务都能够轮流占有处理器。因为不是在每个时钟节
拍都做任务调度,对处理器资源的消耗又做到了最少。时间片调度算法缺点是在任务占有处
理器的时间段内,即使是有更紧急的任务就绪,也不能立刻执行它。

使用特权

评论回复
26
junpeng324|  楼主 | 2018-6-17 20:12 | 只看该作者
优先级调度算法
优先级调度算法指的是操作系统总是让具有最高优先级的就绪任务优先运行。即当有任
务的优先级高于当前任务优先级并且就绪后,就一定会发生任务调度,这种操作系统最大限
度地提升了系统的实时性。

使用特权

评论回复
27
junpeng324|  楼主 | 2018-6-17 20:13 | 只看该作者
基于优先级的时间片调度算法
基于优先级的时间片调度算法吸收了以上两种算法的优点,同时又解决了它们的不足。
这种算法为每个任务都安排了优先级和时间片。在不同优先级的任务间采用优先级调度算
法,在相同优先级的任务间使用时间片调度算法。任务调度策略首先考虑任务的优先级,优
先级高的任务必定会抢占低优先级的任务。相同优先级的任务则按照时间片长度比例共享处
理器时间。这样既保证了能够尽快响应紧急任务,又保证相同优先级的任务都有机会轮流占
有处理器。

使用特权

评论回复
28
junpeng324|  楼主 | 2018-6-17 20:14 | 只看该作者
任务状态

❏ 就绪状态:任务已经获得除处理器之外的一切需要的资源,等待任务调度。
❏ 运行状态:任务正在运行中,获得了所有需要的资源。
❏ 等待状态:任务缺少某些必需的运行条件或资源而不能参与任务调度。

使用特权

评论回复
29
junpeng324|  楼主 | 2018-6-17 20:14 | 只看该作者
共享资源的竞争:
任务或者 ISR 访问共享资源时是互相竞争的,只能被一个任务或者ISR 访问,并且操作时不能被打断。强调的是“互斥”的概念。

使用特权

评论回复
30
junpeng324|  楼主 | 2018-6-17 20:14 | 只看该作者
运行同步:
任务间或者任务和 ISR 间互相协作,按照规定的路线执行,也就是对它们的执行步骤和顺序有要求。强调的是“同步”的概念。同步可以是单向的也可以是双向的。

使用特权

评论回复
31
junpeng324|  楼主 | 2018-6-17 20:15 | 只看该作者
数据通信:
任务间或者任务和 ISR 间的数据传输,常见的模式是一方提供数据,另一方处理数据,共同完成某些功能。强调的是“通信”的概念。

使用特权

评论回复
32
junpeng324|  楼主 | 2018-6-17 20:16 | 只看该作者
任务间的数据传输,可以是直接的,也可以是间接的。
● 在直接数据传输方式下,一个任务可以把数据直接发给指定的任务,发送过程很
明确地说明了哪个任务把数据传给了哪个任务。
● 间接方式指的是数据交互的双方,约定一个数据缓冲区,发送数据的任务首先会
把数据发往该缓冲区,然后通知接收数据的任务则从该缓冲区取得数据。从操作
系统角度来考虑,操作系统不关心这些数据的含意,只当普通的数据来处理。

使用特权

评论回复
33
junpeng324|  楼主 | 2018-6-17 20:16 | 只看该作者
任务互斥和优先级反转
在系统中,有些资源必须是独占使用的,多个任务对这样的资源的并发访问将导致错误
的发生。一般来说,对需要独占使用的资源必须使用互斥方法将对其的并发访问串行化。
在优先级多任务系统中引入互斥方案,会导致任务优先级反转的问题:假如某时低优先
级的任务占有资源,然后又有高优先级的任务申请资源,但因为不能满足而被挂起了,即低
优先级任务阻塞了高优先级任务的运行。假如这时又有一个中优先级任务,那么它会把低优
先级任务抢占。最终高优先级任务会间接地被中优先级任务抢占了。这种现象叫作优先级反
转。

使用特权

评论回复
34
junpeng324|  楼主 | 2018-6-17 20:21 | 只看该作者
优先级天花板和优先级继承
优先级反转问题的核心原因在于共享资源的访问规则,即共享资源只能被一个任务占
用,被占用后其他任务不能强制使用这个资源。在优先级反转问题上,高优先级任务被低优
先级任务阻塞是必定的,但被中优先级任务阻塞则是很无奈的。

使用特权

评论回复
35
junpeng324|  楼主 | 2018-6-17 20:22 | 只看该作者
优先级继承策略(Priority inheritance):当一个任务占有了资源并且随后阻塞了其他申
请该资源的任务时,该任务将临时改变它的优先级为所有申请该资源的任务中的最高
优先级,并以这个临时优先级在临界区执行。当任务释放资源后,则恢复它原有的优
先级。从行为上看,占有资源的任务的优先级将是“水涨船高”式的多次改变,因为
它的优先级最高,所以它不会被曾经比它优先级高的那些任务抢占。操作系统从优先
级角度安排它尽快执行,尽快释放资源,但是这样做操作系统却牺牲了中等优先级任
务的调度机会。

使用特权

评论回复
36
junpeng324|  楼主 | 2018-6-17 20:22 | 只看该作者
优先级天花板策略(Priority ceilings):将申请(占有)资源的任务的优先级提升到
可能访问该资源的所有任务的最高优先级(这个最高优先级称为该资源的优先级天
花板)。

使用特权

评论回复
37
junpeng324|  楼主 | 2018-6-17 20:25 | 只看该作者
中断机制
中断机制是处理器的重要基础设施,用来应对各种事件的响应和处理。当外设或者处理
器自身有事件发生时,处理器会暂停执行当前的代码,并转向处理这些中断事务。在处理器
与外设间的交互大多采用中断来完成,中断系统能极大提高系统的效率。

使用特权

评论回复
38
junpeng324|  楼主 | 2018-6-17 20:25 | 只看该作者
外部中断
外部中断是指由系统外设发出的中断请求,如串口数据的接收、键盘的敲击、打印机中
断、定时器时间到达等。外部中断大多是可以屏蔽的,程序可以根据具体需要,通过中断控
制器来屏蔽这些中断请求。

使用特权

评论回复
39
junpeng324|  楼主 | 2018-6-17 20:26 | 只看该作者
内部中断
内部中断指因处理器自身的原因引起的异常事件,如非法指令、总线错误(取指)或者
运算出错 ( 除 0) 等。内部中断基本是不可屏蔽的中断。

使用特权

评论回复
40
junpeng324|  楼主 | 2018-6-17 20:26 | 只看该作者
软件中断
软件中断是一种特殊的中断,它是程序通过软件指令触发的,从而主动引起程序流程的
变化。比如在用户级运行的程序在某时刻需要访问处理器中受到保护的寄存器,则可以通过
软件中断进入系统级,实现权限的提升。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则