【嵌入式】操作系统相关概念
关于嵌入式操作系统中基础概念的一些解析与理解~ヾ(◍°∇°◍)ノ゙简单易懂~~
目录
一、操作系统相关概念
二、高级操作系统特性
三、时间片轮转与上下文切换
四、操作系统与资源调度
五、资源调度与资源争抢
六、中断系统
七、实时操作系统和非实时操作系统
总结
一、操作系统相关概念
操作系统——为解决计算机资源争抢而编写的一个程序(软件、程序、while(true)的死循环)
任务——计算机需要完成的某一项工作(程序员编写的一段代码,即需求)
资源争用——多个任务在执行的过程中需要共享有限的资源
顺序执行——任务一个接一个地执行(如DOS操作系统)
多任务并行——同时运行多个任务(系统资源充足的情况下)(在单核的MCU上,多任务并行只是为宏观表现,微观程度上实际上仍为单独执行,只是切换速度快)
任务优先级——根据任务的重要性和使用频率决定工作的优先级(为每个人物分配一个优先级值,表示任务的重要性)
进程——正在进行的任务
系统资源(如STC机中,有中断有IO有内存有CPU的运算)
系统资源的冲突
二、高级操作系统特性
任务切换——从满足A的需求任务切换到满足B的需求任务
多任务并行
任务优先级
三、时间片轮转与上下文切换
合理时间片轮转+上下文切换=高效任务管理,资源分配
时间片——为每个任务的需求来分配一段度定的时间,时间段内一对一进行;挨个任务进行轮转
上下文切换——在任务之间进行状态切换的过程(状态记忆-但一定需记住前一个任务的状态,以便在下一个时间片回到该任务时继续原进度处理)
四、操作系统与资源调度
优先级分配+时间片轮转=合理分配有限资源,管理不同任务之间的资源争抢问题
优先级分配
时间片轮转
五、资源调度与资源争抢
批处理+优先级分配+时间片轮转=合理分配CPU的ALU计算资源,确保各个任务得到执行,同时避免资源的浪费和争抢
批处理——按顺序挨个执行(DOS操作系统下的一个batch)
优先级分配——根据任务的紧急程度和重要性来分配资源
时间片轮转——为每个任务分配一定的时间片来使用资源
六、中断系统
中断——突发事件(需响应处理,在中断处理函数中处理)
当一个突发事件(例如外部设备发送的信号、计时器到期或者紧急错误)发生时,CPU会暂停正在执行的任务,转而处理这个突发事件。处理完中断后,CPU会返回到原来的任务,从中断前的位置继续执行。在计算机系统中,中断使得CPU能够在执行任务的同时,及时响应和处理紧急事件,提高系统的实时性和灵活性。
七、实时操作系统和非实时操作系统
非实时操作系统——对任务的执行时间不确定,没有严格时间限制的操作系统
实时操作系统——对时间片要求严格,需要在特定时间内完成任务的操作系统(并不是必须知道每个任务执行的结束时间,而是必须知道每个任务的响应时间);又分为硬实时操作系统与软实时操作系统
·硬实时操作系统(如Free RTOS)——时间片到来时立刻响应,没有任何拖延;任务必须在严格时间限制内完成,否则可能导致系统失效或者产生严重后果
·软实时操作系统(如Linux内核)——也为现在得到相应,但可延迟若干毫秒或一两个周期(不会对整体产生严重影响的情况下);任务有时间限制,三是即使没有完全满足时间要求,也不回导致系统失效或产生严重后果
基于时间片切换的操作系统属于软实时操作系统